Markdown 版本演進

摘要:本文主要是梳理 Markdown 的主要版本變化,使用的是提綱的形式,列出了常見的功能支持和差別,閱讀大約須要 3 分鐘,能夠直接看思惟導圖。php

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 上傳,若是知足不了無損需求,請到百度網盤文件下載html

思惟導圖

版本演進,公衆號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,名稱:風之程序人生,方便接收最新內容。
    公衆號
相關文章
相關標籤/搜索