Markdown 版本演進

雲是風的夢發表於2018-09-26

摘要:本文主要是梳理 Markdown 的主要版本變化,使用的是提綱的形式,列出了常見的功能支援和差異,閱讀大約需要 3 分鐘,可以直接看思維導圖。

Markdown

  • 初始版本:2004-03-19
  • 最新版本:2004-12-17 , V1.0.1
  • 作者:John Gruber 和 Aaron Swartz(網際網路之子,已逝)
  • 語言: 第一個版本為 Perl,目前有其他實現
  • 網站:
  • 特性:易讀易寫
    • 文字格式:粗體,斜體
    • 插入內容:標題,圖片,連結,引用,水平線,塊(`)
    • 功能:列表(無序,有序)
    • 限制:
      • 不支援表格
      • 塊級標籤必須前後空行,且不能被空格或製表符縮排
      • 塊級標籤內不能使用 Markdown 語法
      • 支援列表、段落、引用巢狀,方法為每行行首使用4個空格或1個製表符進行縮排

CommonMark

  • 初始版本:2012 年發起,2014-10-25 釋出 Release 0.5
  • 最新版本: V0.28.1(2017-8-2)
  • 作者:Jeff Atwood 和 John MacFarlane 為首的小組
  • 語言: 實現版本眾多,commonmark.js 和 cmark 是最廣泛。
  • 網站:
  • 特性:嚴格定義了 Markdown 語法轉為 Html 的實現

GitHub Flavored Markdown (GFM)

  • 初始版本:2017-08-01,V0.28-gfm
  • 最新版本:2018-09-10,V0.28.3.gfm.16
  • 作者:Github
  • 語言:C 語言,forked from commonmark/cmark
  • 網站:
  • 特性:描述程式碼專案功能和變更
    • 基於 CommonMark 的 cmark 分支
      • 文字格式新增:刪除線(~~)
      • 插入內容新增:自動連結,修訂版本(+/-)
      • 功能新增:簡單表格(支援對齊:),任務列表,程式碼塊及高亮功能(```)
      • 限制:
        • Html 支援限制
        • 列表巢狀方法:改為每次巢狀縮排兩個空格

Markdown Extra

  • 初始版本:First release 1.3 (11 Apr 2013)
  • 最新版本:1.8.0 (14 Jan 2018)
  • 作者:Michel Fortin
  • 語言:初始版本為 PHP
  • 網站:github.com/michelf/php…
  • 特性:加強網頁展示功能
    • 基於 Markdown
      • 插入內容新增:
        • 標題增加錨點屬性(方便引用,樣式,屬性設定)
        • 增加腳註
        • 縮寫備註(HTML tag
      • 功能新增:
        • 表格(支援對齊:)
        • 任務列表
        • 與 GFM 相似的程式碼塊及程式碼高亮功能
      • 修改:
        • 內嵌 Html:塊標籤可縮排不超3空格,可在塊標籤使用 Markdown 語法
        • 強調:兩字詞中間的下劃線不會被解釋成強調
        • 不支援多詞強調,反斜槓使用替代的 : 和 |

MultiMarkdown

  • 初始版本:2011 年 4 月
  • 最新版本:V6 (2018.02.02)
  • 作者:Fletcher T. Penney
  • 語言
    • 初始版本為 perl
    • 版本 V3 後基於 peg-markdown 專案重構為 C 語言
    • 使用 PEG(解析表達文法)處理文字
  • 網站:
  • 特性:加強匯出轉換功能
    • 基於 Markdown,相容 PHP Markdown Extra
      • 插入內容新增:支援腳註,參考文獻,縮略語,交叉引用,上下標(^,~)
      • 功能新增:支援後設資料,數學公式(MathJax),部分複雜表格,修訂功能(CriticMarkup), 內嵌其他檔案,目錄(TOC)
      • 修改 Html 塊內支援,匯出支援 HTML,LaTeX ,OPML ,OpenDocument Text document

Pandoc's Markdown

  • 初始版本:2006
  • 最新版本:V2.3
  • 作者:John MacFarlane
  • 語言: Haskell
  • 網站:
  • 特性:多格式文件的轉換工具
    • 根據配置可以支援多種 Markdown 擴充套件格式

以上內容做成一張思維導圖,使用 Atom + markdown-mindmap,由於格式不支援 SVG,做了轉換為 PNG 上傳,如果滿足不了無損需求,請到百度網盤檔案下載

思維導圖

版本演進,公眾號ProgramLife042

參考文獻

  1. 感謝 John Gruber 和 Aaron Swartz 給我們帶來如此美妙的 Markdown
  2. 參考了大量的文章:
    2.1 維基百科
    2.2 Markdown 原始的John Gruber站點
    2.3 少數派 Markdown 專題
    2.4 Commonmark 官網
    2.5 GitHub Flavored Markdown 官網
    2.6 PHP Markdown Extra 官網
    2.7 Multimarkdown 官網
    2.8 Pandoc 官網 Markdown 幫助
  1. 部落格是我學習過程的輸出,希望你有所收穫。
  2. 有想法請留言,共同探討學習。
  3. 由於博主能力有限,文中可能存在描述不正確,歡迎指正、補充!
  4. 你也可以關注我的公眾號:ProgramLife042,名稱:風之程式人生,方便接收最新內容。
    公眾號

相關文章