• markdown语法整理



    1 前言

    这篇文章会对markdown语法格式进行详细整理,由于内容较多,这篇文章只会给出示例,并不展示效果,具体效果可以自行测试。

    这篇文章示例使用vscode编写。

    2 markdown是什么

    markdown是一种轻量级标记语言,可以使用markdown来编写纯文本格式文档。markdown文件的后缀一般是.md。

    3 markdown的语法

    3.1 标题

    第一种方法

    使用#标记标题,#和标题文本之间需要空格,一个#表示一级标题,两个#表示二级标题,以此类推,使用#可以标记六级标题。

    示例

    # 一级标题
    ## 二级标题
    ### 三级标题
    #### 四级标题
    ##### 五级标题
    ###### 六级标题
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    第二种方法

    使用=标记一级标题,-标记二级标题,这种方法只能标记两级标题。

    示例

    一级标题
    ==========
    二级标题
    ----------
    
    • 1
    • 2
    • 3
    • 4

    3.2 正文

    正文内容不用特别标记,直接进行编写就可以了。

    示例

    正文内容
    
    • 1

    3.3 列表

    3.3.1 有序列表

    使用序号和.标记有序列表,标记和列表文本之间需要空格。

    示例

    1. 第一项
    2. 第二项
    3. 第三项
    
    • 1
    • 2
    • 3

    3.3.2 无序列表

    第一种方法

    使用+标记列表,+和列表文本之间需要空格。

    示例

    + 第一项
    + 第二项
    + 第三项
    
    • 1
    • 2
    • 3

    第二种方法

    使用*标记列表,*和列表文本之间需要空格。

    示例

    * 第一项
    * 第二项
    * 第三项
    
    • 1
    • 2
    • 3

    第三种方法

    使用-标记列表,-和列表文本之间需要空格。

    示例

    - 第一项
    - 第二项
    - 第三项
    
    • 1
    • 2
    • 3

    3.3.3 列表嵌套

    列表可以嵌套,使用四个空格进行缩进。

    示例

    1. 第一项
        + 第一项
            1. 第一项
            2. 第二项
            3. 第三项
        + 第二项
            * 第一项
            * 第二项
            * 第三项
        + 第三项
            + 第一项
            + 第二项
            + 第三项
    2. 第二项
        * 第一项
        * 第二项
        * 第三项
    3. 第三项
        - 第一项
        - 第二项
        - 第三项
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    3.4 区块引用

    使用>标记区块引用。

    示例

    >区块引用
    
    • 1

    区块引用可以嵌套,一个>标记第一层,两个>标记第二层,以此类推。

    示例

    >第一层
    >>第二层
    >>>第三层
    
    • 1
    • 2
    • 3

    3.5 代码块

    第一种方法

    使用```(反引号)标记代码块,代码块前后需要用```包裹,并且可以指明所用语言,当然也可以不指明。

    示例

    ```cpp
    //main.cpp
    
    #include
    
    int main(int argc, char* argv[])
    {
        std::cout << "demo" << std::endl;
    
        return 0;
    }
    ```
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    第二种方法

    使用四个空格对每一行代码进行缩进,但是这种方法不能指明语言,当然也可以用注释指明。

    示例

        //main.cpp
        
        #include
        
        int main(int argc, char* argv[])
        {
    	    std::cout << "demo" << std::endl;
        
    	    return 0;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第三种方法

    如果是在正文中出现的代码片段,可以用`包裹。

    示例

    比如代码片段`std::cout << "demo" << std::endl;`
    
    • 1

    3.6 字体

    3.6.1 粗体

    第一种方法

    使用两个*标记粗体,粗体文本前后需要使用**包裹。

    示例

    **粗体**
    
    • 1

    第二种方法

    使用两个_标记粗体,粗体文本前后需要使用__包裹。

    示例

    __粗体__
    
    • 1

    3.6.2 斜体

    第一种方法

    使用一个*标记斜体,斜体文本前后需要使用*包裹。

    示例

    *斜体*
    
    • 1

    第二种方法

    使用一个_标记斜体,斜体文本前后需要使用_包裹。

    示例

    _斜体_
    
    • 1

    3.6.3 粗斜体

    第一种方法

    使用三个*标记粗斜体,粗斜体文本前后需要使用***包裹。

    示例

    ***粗斜体***
    
    • 1

    第二种方法

    使用三个_标记粗斜体,粗斜体文本前后需要使用___包裹。

    示例

    ___粗斜体___
    
    • 1

    3.7 链接

    使用[链接名称](链接地址)标记链接。

    示例

    [百度](https://www.baidu.com/)
    
    • 1

    当然也可以直接将链接地址写在正文中。

    3.8 表格

    使用|标记表格,-标记表头,-:标记右对齐,:-标记左对齐,:-:标记居中对齐。

    示例

    |表头|表头|表头|
    |----|----|----|
    |表格|表格|表格|
    |表格|表格|表格|
    
    • 1
    • 2
    • 3
    • 4

    示例

    |表头|表头|表头|
    |----:|:----|:----:|
    |表格|表格|表格|
    |表格|表格|表格|
    
    • 1
    • 2
    • 3
    • 4

    3.9 图片

    使用![图片说明](图片位置)标记图片,图片位置可以是本地目录也可以是链接。

    示例

    ![Alt text](image.png)
    
    • 1

    3.10 换行

    第一种方法

    使用两个空格加上换行表示换行。

    示例

    第一行  
    第二行
    
    • 1
    • 2

    第二种方法

    使用一个空行表示换行。

    示例

    第一行
    
    第二行
    
    • 1
    • 2
    • 3

    3.11 分隔线

    第一种方法

    使用三个及以上_表示分隔线。

    示例

    __________
    
    • 1

    第二种方法

    使用三个及以上*表示分隔线。

    示例

    **********
    
    • 1

    第三种方法

    使用三个及以上-表示分隔线。

    示例

    ----------
    
    • 1

    3.12 删除线

    使用~~表示删除线,文本内容前后需要使用~~包裹。

    示例

    ~~删除线~~
    
    • 1

    3.13 脚注

    使用[^脚注]标记脚注。

    示例

    文本[^1]
    
    [^1]: 文本脚注说明
    
    • 1
    • 2
    • 3

    3.14 转义字符

    markdown和很多语言一样,也使用\表示转义。

    示例

    \#
    
    • 1

    四.其他

    1.markdown也可以支持HTML的元素,也可以支持公式,也可以支持流程图,但是有些浏览器或者编辑器并不支持,这篇文章里就不展开了。

    2.不同类型的标记之间也可以互相嵌套,比如列表和区块引用可以互相嵌套,比如区块引用嵌套标题,很多都可以进行嵌套的。

    示例

    + 第一项
        >区块引用
    + 第二项
    
    • 1
    • 2
    • 3

    示例

    >区块引用
    >+ 第一项
    >+ 第二项
    
    • 1
    • 2
    • 3

    示例

    >区块引用
    ># 一级标题
    >## 二级标题
    
    • 1
    • 2
    • 3

    欢迎讨论,欢迎指正,欢迎转载。

  • 相关阅读:
    11.15 监控目录文件变化
    【Rust—LeetCode题解】1656. 设计有序流
    Kotlin 开发Android app(一):Kotlin 建立Android工程
    【LeetCode】图文+实例弄清KMP算法
    LeetCode【每日一题】-栈和队列2
    Python基础内容训练2(常用的数据类型-----字符串)
    java校园论坛贴吧系统分享
    【Maven】<dependencyManagement>详解
    【第100题】JAVA高级技术-网络编程19(简易聊天室14:聊天室客户端)
    【用unity实现100个游戏之7】从零开始制作一个仿杀戮尖塔卡牌回合制游戏
  • 原文地址:https://blog.csdn.net/LEOZ_PTLS_PL/article/details/134487436