Markdown 版本演进
Markdown 版本演进
本文作为 Markdown 系列的第二篇,对上一篇里面提到的版本变迁进行简要的提纲说明。
以下做成一张思维导图,使用 Atom + markdown-mindmap,由于格式不支持 SVG,做了转换为 PNG 上传,如果满足不了无损需求,请到百度网盘文件下载:
Markdown 版本演进思维导图
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 支持限制
- 列表嵌套方法:改为每次嵌套缩进两个空格
- 基于 CommonMark 的 cmark 分支
Markdown Extra
- 初始版本:First release 1.3 (11 Apr 2013)
- 最新版本:1.8.0 (14 Jan 2018)
- 作者:Michel Fortin
- 语言:初始版本为 PHP
- 网站:https://github.com/michelf/php-markdown
- 特性:加强网页展示功能
- 基于 Markdown
- 插入内容新增:
- 标题增加锚点属性(方便引用,样式,属性设置)
- 增加脚注
- 缩写备注(HTML tag )
- 功能新增:
- 表格(支持对齐:)
- 任务列表
- 与 GFM 相似的代码块及代码高亮功能
- 修改:
- 内嵌 Html:块标签可缩进不超3空格,可在块标签使用 Markdown 语法
- 强调:两字词中间的下划线不会被解释成强调
- 不支持多词强调,反斜杠使用替代的 : 和 |
- 插入内容新增:
- 基于 Markdown
MultiMarkdown
- 初始版本:2011 年 4 月
- 最新版本:V6 (2018.02.23)
- 作者:Fletcher T. Penney
- 语言
- 初始版本为 perl
- V3 后基于 peg-markdown 项目重构修改为 C 语言
- 使用 PEG(解析表达文法)处理文本
- 网站:
- 特性:加强导出转换功能
- 基于 Markdown,兼容 PHP Markdown Extra
- 插入内容新增:支持脚注,参考文献,缩略语,交叉引用,上下标(^,~)
- 功能新增:
- 支持元数据
- 数学公式(MathJax),行内\(,块\)$
- 部分复杂表格
- 修订功能(CriticMarkup)显示修订痕迹
- 内嵌其他文件
- 目录(TOC)
- 修改
- 换行方式改为行末使用\换行(原生Markdown使用2个空格换行)
- Html 块内语法支持
- 导出支持 HTML,LaTeX,OPML,OpenDocument Text document
- 基于 Markdown,兼容 PHP Markdown Extra
Pandoc’s Markdown
- 初始版本:2006
- 最新版本:V2.3
- 作者:John MacFarlane
- 语言: Haskell
- 网站:
- 特性:多格式文档的转换工具
- 根据配置可以支持多种 Markdown 扩展格式,自由配置启用或不用特性(+/-EXTENSION)