Markdown 版本演进
本文作为 Markdown 系列的第二篇,对上一篇使用 Markdown 写技术博客,我踩过的 6个坑博客提到的版本变迁进行简要的提纲说明。
如果不想读文章,请直接看思维导图,使用 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)
参考文献
- 感谢 John Gruber 和 Aaron Swartz 给我们带来如此美妙的 Markdown
- 参考了大量的文章:
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 帮助
- 博客是我学习过程的输出,希望你有所收获。
- 有想法请留言,共同探讨学习。
- 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
- 你也可以关注我的公众号:ProgramLife042,名称:风之程序人生,方便接收最新内容。
Markdown 版本演进的更多相关文章
- debian的版本演进
debian有三个发行版本,stable版.testing版和unstable版. 其中,unstable版本是开发者正在开发的版本,它里面保存着debian的开发者当前的工作.这个版本是不断在被更新 ...
- 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图.另一份 Android 开发学习路线图.可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiao ...
- 使用 Markdown 写技术博客,踩过的 6个坑
目录 Markdown 特性 Markdown 简介 常用语法 为什么流行 设计哲学 工具支持 版本演进 标准化之路 踩过了坑 平台帮助文档 语法差异 显示效果 我的最佳实践 摘要:本文记录我在使用 ...
- SLA 99.99%以上!饿了么实时计算平台3年演进历程
作者介绍 倪增光,饿了么BDI-大数据平台研发高级技术经理,曾先后就职于PPTV.唯品会.15年加入饿了么,组建数据架构team,整体负责离线平台.实时平台.平台工具的开发和运维,先后经历了唯品会.饿 ...
- [译文]选择使用正确的 Markdown Parser
以下客座文章由Ray Villalobos提供.在这篇文章中Ray将要去探索很多种不同的Markdown语法.所有的这些MarkDown变种均提供了不同的特性,都超越传统的Markdown语法,却又相 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- 像编程一样写文章—Markdown
Markdown是什么 是一种极其简单的标记语言,写的时候只需要普通编辑器即可: 它可以使文本内存具有某种格式: Markdown设计理念使文本易读.易写 文件后缀名:.md . .markdown. ...
- 移动5年 Android生态系统的演进
由Google.HTC.Qualcomm联手打造的第一部Android手机G1,开启了移动时代的Android纪元(如图1所示),直到现在Android也是唯一能在移动市场上与iOS相抗衡的平台. ...
- 使用Markdown写文档
转载于:http://blog.csdn.net/xiahouzuoxin/article/details/19752603 Markdown是一种网络书写语言,其目标是实现易读易写,且兼容HTML语 ...
随机推荐
- 【CF1009F】Dominant Indices
题目 长链剖分板子题啊 长链剖分有几个神奇的性质 所有长链的总点数为\(n\) 任意一个点的\(k\)级祖先所在长链的长度肯定不小于\(k\) 从任意点到根经过的短边数量不超过\(\sqrt{n}\) ...
- criterions的选择
criterions分为几类,其中有classification criterions与regression criterions.classification criterions是针对离散的,re ...
- spring boot集成dubbo
spring-boot-start-dubbo spring-boot-start-dubbo,让你可以使用spring-boot的方式开发dubbo程序.使dubbo开发变得如此简单. 如何使用 1 ...
- 模糊控制——(4)Sugeno模糊模型
1.Sugeno模糊模型 传统的模糊系统为Mamdani模糊模型,输出为模糊量. Sugeno模糊模型输出隶属函数为constant或linear,其函数形式为: 它与Mamdani模型的区别在于: ...
- bootstrap 多选款样式:bootstrap-switch
有时候,为了美化checkbox后者radio的时候,让用户体验起来更好,jquery里有icheck. bootstrap里有bootstrap-switch,就简单介绍下bootstrap-swi ...
- #leetcode刷题之路48-旋转图像
给定一个 n × n 的二维矩阵表示一个图像.将图像顺时针旋转 90 度.说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像.示例 1:给定 matrix ...
- CTF-i春秋网鼎杯第二场misc部分writeup
CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...
- 数据结构与算法之二叉树 ——in dart
用dart语言实现的二叉树,实现了插入.查找.删除,中序遍历.前序.后序遍历等功能. class BinaryTree<E extends Comparable> { Node<E& ...
- UWP 播放直播流 3MU8
UWP 播放直播流 3MU8 参考:http://www.c-sharpcorner.com/UploadFile/2b876a/http-live-streaming-in-windows-10-u ...
- WPF 主题
原文:WPF 主题 WPF 切换主题 string packUri = String.Format(@"/WpfControlLibrary1;component/Dictionary1.x ...