Markdown 标准及其语法

Markdown 简洁好用是毋庸置疑的。但是在使用中碰到过以下几个困惑:

  1. 第一次想在 wiz 中使用 Markdown 笔记时,查阅 为知笔记 Markdown 新手指南 发现代码的渲染效果挺好,挺喜欢的。可实际上把我在 MarkdownPad2 中写好的笔记拷贝过去时,发现代码的渲染效果和 MarkdownPad2 中一样素净,并没有语法高亮。进而发现两者关于代码的语法定义是有区别的。

  2. 不单单代码,在 为知笔记 Markdown 新手指南 中提到的好些特性我在 MarkdownPad2 中并不能使用:

    如果你是名程序员,那么可以用 ``` 把代码块包起来,渲染后可以关键字高亮

    删除线:在文字前后添加 ~~

    目录

  3. 在手机上购买 jotterpad 之后,发现代码部分的渲染效果和 MarkdownPad2 也不一样,更加的不起眼,导致最开始时我还以为 jotterpad 不识别代码语法呢。

正文

直到今天(2016年6月1号)才发现,Markdown 是存在标准之乱的。从最早的 Markdown诞生(称为传统 Markdown,Markdown Basics等),流行起来之后各种扩展,在 GitHub 上最盛行的 GitHub Flavored Markdown (GFM), 做标准的 CommonMark

其中,做标准让大家欣喜,Markdown 发布标准了(借此理解行末两空格的意义),但也遇到了 极大的困难,理解英文有困难的话可以看 Markdown的标准化之路

应用

关于三款应用:

  1. 为知笔记使用哪种标准?在其官网未找到相关说明。猜测至少是以GFM为蓝本的,甚至就是用的GFM。

  2. MarkdownPad2 可以更改“Markdown 处理器”。默认使用第一个

    Markdown 处理器

  3. jotterpad 的官网提示如下:

    JotterPad renders Markdown (CommonMark) syntax.

语法

关于语法(中文):

  1. 传统 Markdown
  2. GFM 格式说明
  3. CommonMark Spec
  4. * Markdown 书写风格指南
  5. Markdown标准语法与GitHub Flavored Markdown语法大全

选择

关于 CommonMark:虽然不读英文,想来是撕逼过的。

CommonMark,最早的名字叫 Standard Markdown,后来迫于 Markdown 原作者 John Gruber 的压力而改名。

有人觉得“无规矩不成方圆”,没有标准的话未来发展空间有限;也有同志认为正是因为没有标准,才会出现各种扩展,百花齐放。

扩展阅读:

  1. Markdown and CommonMark
  2. 互联网中的左派与右派

其实,操那么多心做什么,作为程序员,哪块用得着拿哪块,用不着的少参与。

争论并不重要,重要的是 选择使用正确的 Markdown Parser

ps 这篇备忘录整理完之后命名为《Markdown 标准之乱》,在半年以后(2016/12/15 16:40:38 )发布时改为现在的名字。内容未做任何修改,我觉得原先的标题是整理的初衷与当时的感慨,但并不切合整理后成稿的内容。况且我现在用 Markdown 基本就是在用 GFM 了,半年前的困扰和选择已然过去了。