前言

Markdown 是一种轻量级标记语言,创始人为 John Gruber,语法简洁明了,易读易写,可读性强,学习成本低。目前已经成为一种趋势,被广泛应用于各大网站,例如:GitHub、简书、掘金等等。同时也衍生出多种 Markdown 语法版本,例如:CommonMark[1]、GFM[2] 等等。

Markdown 简介

Markdown 语法分为基础语法和扩展语法,基础语法是通用的,扩展语法则是各个平台自己定义的,例如:GitHub 的 GFM 语法,简书的简书语法等等。这些语法版本的区别主要在于对于基础语法的支持程度,例如:CommonMark 则是对于基础语法的支持程度更高,但是不支持扩展语法, GFM 基本上是完全兼容 CommonMark,可以说目前的 CommonMark 语法是大部分支持 Markdown 语言的事实标准,在学习语法时,可以在学习 基础的 Markdown 之后,再学习 CommonMark 语法内容。对于不同版本之间的差异,可以参考不同的 Markdown 语法

Markdown 语法[3]

  1. 标题:# 用于表示标题次序 :总共可以弄6个
  2. 加粗使用 ** 或是 – 斜体使用 - 或是 * ,左右对称
  3. 使用 ~~ 删除线表示,左右对称
  4. 使用 > 用来表示引用文章
  5. 使用 — ,*** 表示 水平线
  6. 使用 _ 表示下划线
  7. 使用 - 或是 * 表示无序的列表 ,数字 + . 表示有序的列表 ;可嵌套使用
  8. win + , 可以插入系统表情符; 也可以使用 : + 英文选择插入;例如: :smile:
  9. 引文 使用 >
  10. 注脚:注脚处使用 [^num] num 为数字1,2,3 … 同时在对应的使用表示脚注内容 [^num]: xxxxx
  11. 内容链接跳转内容:[xxx](#标题) 自由跳转目前未找到合适方式
  12. 网站链接隐藏到文本xxx: [xxx](link) ; 网站链接或是邮箱链接使用 <yyyyyyyy> yyyy可以是 xxx@xxmail.com 或是 https://www.example.com 显示本身
  13. 插入图片:![xxx](link) 可插入本地的相对路径的图片,也可以插入图片地址
  14. 插入视频( Typora 支持):可以直接到对应的视频网站下的分享下的嵌入的视频地址直接复制使用,注意下调整下视频高度;内部的视频标签使用 <video src= ""/> ;外部的视频或是音频插入可以使用平台支持的外链模式插入,可直接播放(非标准语法
  15. 插入自定义流程类图(具体看编辑器的支持,Markdown基本语法是支持 Mermaid 语法[4]具体看 Mermaid 语法和对应支持版本 (具体支持看编辑器)
  16. 使用 ``` 上下一对来表示 插入的代码块,显示代码高亮
  17. 使用 ` ` 来着重表示代码中对应的函数或自成的单元
  18. 使用 \ 转义符来取消 Markdown 的渲染,或是对于用于使用的符号本身的输出
  19. 表格的插入,可以采用在线工具生成,也可以使用 Markdown 语法插入,但是比较麻烦,需要自己手动输入,具体的在线工具可以参考:Markdown 表格生成器Markdown 表格生成器

日常使用技巧(持续补充)

  1. 内部跳转实现:跳转的内容yyyy <a name = "xxxx"> yyyy</a> ,需要跳转的地方写为[zzzz](#xxxx) 来表示zzz的内容可跳转到yyyy文字处

Markdown 编辑器

目前市面上的 Markdown 编辑器有很多,例如:Typora马克飞象(Marxico)、简书、有道云笔记等等,不同的编辑器对 Markdown 语法的支持程度不一样,例如:Typora 支持的语法更多,而简书则支持的语法更少。
在选择时应首选一些完全兼容 CommonMark 语法的编辑器,并且有较少拓展语法的,这样更便于在不同的编辑器内迁移,同时最佳的方式为完全支持 GFM 语法。在书写上因为 Markdown 语法的较为松散,在需要书写严格的情况下采用一些语法检测的工具。

目前博主采用的是 VsCode + Markdown 插件方式,可以在编辑时对 Markdown 语法进行严格的检查,也可以对 Markdown 语法进行格式化,书写的文档更加的规范。VsCode 本身很好的兼容 CommonMark 语法渲染[5],同时采用插件支持 GFM 语法。插件:markdownlint 用于语法检测规范其文档书写, GitHub Markdown Preview可以很好的对 GFM 语法的支持

需要所见即所得和不需要非常严格的语法情况下则可以采用 Typora(目前收费),MarkText(开源免费),存在的缺陷是独有语法太多,不容易做到在不同的编辑器之间迁移,同时也不利于在不同的平台之间迁移。


  1. CommonMark 语法说明 ↩︎

  2. GFM 语法说明 ↩︎

  3. Markdown 语法说明 ↩︎

  4. Mermaid 语法说明 ↩︎

  5. VsCode Markdown 支持 ↩︎