markdown语法

Markdown学习笔记

  • 这里参考了不同的markdown语法渲染引擎渲染效果,选择了比较适合的记录。
  • 建议一些单个标记符号后都加上空格,以增强兼容性。
  • 不建议使用太多技巧,markdown本身是为了方便简单对文本进行样式操作,使人更加专注于内容的编辑

简单使用

文本样式

  • 规则:
    • 强调文本:”*“+文本内容+”*“
    • 加粗文本:”**“+文本内容+”**“
    • 强调加粗文本:”***“+文本内容+”***“
    • 删除文本:”``“+文本内容+”``“

      删除文本格式可能部分markdown渲染引擎不支持

  • 示例:
    1
    2
    3
    4
    5
    普通文本  
    *强调文本*
    **加粗文本**
    ***强调加粗文本***
    ~~删除文本~~
  • 效果:
    普通文本
  • 强调文本*
  • 加粗文本*
  • 强调加粗文本*
    删除文本

分隔符

  • 规则:
    • 空行+回车+三个或者以上的”-“+回车
    • 另起一行+三个或者以上的”_“+回车
    • 另起一行+三个或者以上的”+“+回车

      推荐使用第一种,同时第一种方法不加空行也是可以的,不过在部分渲染引擎上可能会和其它语法冲突,影响其它语法的实现

  • 示例:
    1
    2
    3
    4

    ---
    ___
    ***
  • 效果:




标题

  • 规则:
    • “#“+空格+标题内容

      最多6级标题,通常三级足够你用的

  • 示例:
    1
    2
    3
    4
    5
    6
    # 一级标题
    ## 二级标题
    ### 三级标题
    #### 四级标题
    ##### 五级标题
    ###### 六级标题
  • 效果:

    一级标题

    二级标题

    三级标题

    四级标题

    五级标题
    六级标题

段落

  • 规则:
    • 空格+空格+回车
    • 空行

      基本使用第一种方式,
      第二种方式用于一些特殊情况,如解决上下语法渲染冲突

  • 示例:
    1
    2
    3
    4
    test1  
    test2

    test3
  • 效果:
    test1
    test2

test3

列表(无序列表)

  • 规则:
    • “*“+空格
    • “+“+空格
    • “-“+空格

      建议在使用不同层级的嵌套时使用不同标记语言

  • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    * item11
    * item12
    * item13

    + item11
    + item12
    + item13

    - item11
    - item12
    - item13
  • 效果:
    • item11
    • item12
    • item13
  • item21
  • item22
  • item23
  • item31
  • item32
  • item33

列表(有序列表)

  • 规则:
    • 数字+”.“+空格
  • 示例:
    1
    2
    3
    1. item1  
    2. item2
    3. item3
  • 效果:
  1. item1
  2. item2
  3. item3

    区块

  • 规则:
    • “>“+空格
    • “>“+空格+”>“+空格
    • 依照以上规则递增

      主要作用标识一段文本或者不同的功能是同一块
      不因为换行等而改变

  • 示例:
    1
    2
    3
    4
    > test11  
    > test12
    > > test21
    > > test22
  • 效果:

    test11
    test12

    test21
    test22


代码

  • 规则:
    • “`“+行内代码+”`”
    • 空行+代码段缩进4个空格(1个Tab)
    • “```“+代码类型+换行+内容+”```“

      主要作用标识一段文本或者不同的功能是同一块

  • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    这是一个行内代码(`test1  
    test2`)的演示,这里空格空格换行是没有作用的。

    块级代码演示

    ```markdown
    这是一个演示
    ```a
  • 效果:

    这是一个行内代码(test1 test2)的演示,这里空格空格换行是没有作用的。

块级代码演示
1
2
>这是一个演示
>​```a

链接

  • 规则:
    • “[“+链接名称+”]“+”(“+链接地址+”)“
    • “<“+链接地址+”>“

      平时主要使用第一种

  • 示例:
    1
    2
    [我的博客](https://zhangxinwang.github.io/)  
    <https://zhangxinwang.github.io/>
  • 效果:

    我的博客
    https://zhangxinwang.github.io/


图片

  • 规则:
    • “!“+”[“+图片名称+”]“+”(“+链接地址+空格+”"“+可选标题+”"“+”)“

      主要作用标识一段文本或者不同的功能是同一块

  • 示例:
    1
    2
    ![演示图片](markdown/test1.jpg)  
    ![演示图片](https://ss0.baidu.com/73t1bjeh1BF3odCf/it/u=1817457932,3341712964&fm=85 "演示图片标题")
  • 效果:
    演示图片
    演示图片

表格

  • 规则:
    • 列与列之间用”|“分割
    • 表头与内容之间用分割符”---“分割
    • 左对齐在分割符左侧添加”:“,右对齐在分隔符右侧添加”:“,居中对齐在两侧添加”:“
  • 示例:
    1
    2
    3
    4
    5
    普通表头|左对齐表头|居中对齐表头|右对齐表头
    ---|:---|:---:|---:
    test10|test11|test12|test33
    test20|test21|test22|test33
    test30|test31|test22|test33
  • 效果:
普通表头 左对齐表头 居中对齐表头 右对齐表头
test10 test11 test12 test33
test20 test21 test22 test33
test30 test31 test22 test33

进阶使用

任务清单

  • 规则:
    • 已完成清单:”-“+空格+”[“+大写或者小写”x”+”]“+空格+清单内容
    • 待完成清单:”-“+空格+”[“+空格+”]“+空格+清单内容
    • 已完成清单:”+“+空格+”[“+大写或者小写”x”+”]“+空格+清单内容
    • 待完成清单:”+“+空格+”[“+空格+”]“+空格+清单内容
    • 已完成清单:”*“+空格+”[“+大写或者小写”x”+”]“+空格+清单内容
    • 待完成清单:”*“+空格+”[“+空格+”]“+空格+清单内容
  • 示例:
    1
    2
    3
    - [x] 完成基本markdown语法的学习并且记录笔记
    + [ ] 整理出GitHub下markdown语法的使用
    * [ ] 整理出印象笔记下markdown语法的使用
  • 效果:
  • 完成基本markdown语法的学习
  • 整理出GitHub下markdown语法的使用
  • 整理出印象笔记下markdown语法的使用

mermaidjs(可支持流程图,时序图,甘特图等)

js

参考资料


数学公式

1
e^{i\pi} + 1 = 0

更多数学公式参考:
https://khan.github.io/KaTeX/docs/supported.html


TEST

graph TD
    id1[方形文
本节点]-->id2(圆角文本节点) id2-->id3 id3((圆形文本节点))-->id4>非对称文本节点] id4-->id5 id5{菱形文本节点}-->id1 A-->B B---C C--中间文本1---D D---|中间文本2|C C-->| test |B B--text a-->A aaa-.-bbb bbb-.ccc.-aaa testA-.->testB testB-.zhong jian wen ben.->testA testA-->note1 note1==>note2 note2==note3==>note1 id00["[-->破坏性字符]"] --> id11["char:#9829"]
graph TB
 subgraph one
 a1-->a2
 end
 subgraph two
 b1-->b2
 end
 subgraph three
 c1-->c2
 end
 c1-->a2
graph TB
id1(start)
id2(end)
id3[普通执行内容1]
id4{判断条件}
id5[普通执行内容2]
id6[普通执行内容3]
id1-->id3
id3-->id4
id4-->|Y|id5
id4-->|N|id6
id6-->id3
id5-->id2
坚持原创技术分享,您的支持将鼓励我继续创作!