本文作为 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

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
  • 网站:https://github.com/michelf/php-markdown
  • 特性:加强网页展示功能
    • 基于 Markdown

      • 插入内容新增:

        • 标题增加锚点属性(方便引用,样式,属性设置)
        • 增加脚注
        • 缩写备注(HTML tag
      • 功能新增:
        • 表格(支持对齐:)
        • 任务列表
        • 与 GFM 相似的代码块及代码高亮功能
      • 修改:
        • 内嵌 Html:块标签可缩进不超3空格,可在块标签使用 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

Pandoc's Markdown

参考文献

  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,名称:风之程序人生,方便接收最新内容。

Markdown 版本演进的更多相关文章

  1. debian的版本演进

    debian有三个发行版本,stable版.testing版和unstable版. 其中,unstable版本是开发者正在开发的版本,它里面保存着debian的开发者当前的工作.这个版本是不断在被更新 ...

  2. 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本

    jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图.另一份 Android 开发学习路线图.可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiao ...

  3. 使用 Markdown 写技术博客,踩过的 6个坑

    目录 Markdown 特性 Markdown 简介 常用语法 为什么流行 设计哲学 工具支持 版本演进 标准化之路 踩过了坑 平台帮助文档 语法差异 显示效果 我的最佳实践 摘要:本文记录我在使用 ...

  4. SLA 99.99%以上!饿了么实时计算平台3年演进历程

    作者介绍 倪增光,饿了么BDI-大数据平台研发高级技术经理,曾先后就职于PPTV.唯品会.15年加入饿了么,组建数据架构team,整体负责离线平台.实时平台.平台工具的开发和运维,先后经历了唯品会.饿 ...

  5. [译文]选择使用正确的 Markdown Parser

    以下客座文章由Ray Villalobos提供.在这篇文章中Ray将要去探索很多种不同的Markdown语法.所有的这些MarkDown变种均提供了不同的特性,都超越传统的Markdown语法,却又相 ...

  6. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  7. 像编程一样写文章—Markdown

    Markdown是什么 是一种极其简单的标记语言,写的时候只需要普通编辑器即可: 它可以使文本内存具有某种格式: Markdown设计理念使文本易读.易写 文件后缀名:.md . .markdown. ...

  8. 移动5年 Android生态系统的演进

    由Google.HTC.Qualcomm联手打造的第一部Android手机G1,开启了移动时代的Andr​​oid纪元(如图1所示),直到现在Android也是唯一能在移动市场上与iOS相抗衡的平台. ...

  9. 使用Markdown写文档

    转载于:http://blog.csdn.net/xiahouzuoxin/article/details/19752603 Markdown是一种网络书写语言,其目标是实现易读易写,且兼容HTML语 ...

随机推荐

  1. ubuntu16.04安装visual-studio-code

    微软主页的安装说明,https://code.visualstudio.com/docs/setup/linux    有一点英语基础就能看懂,写的很好,一切以官方文档为主 方法一:可以使用umake ...

  2. P1710 地铁涨价

    题目背景 本题开O2优化,请注意常数 题目描述 博艾市除了有海底高铁连接中国大陆.台湾与日本,市区里也有很成熟的轨道交通系统.我们可以认为博艾地铁系统是一个无向连通图.博艾有N个地铁站,同时有M小段地 ...

  3. [JLOI2009]二叉树问题

    嘟嘟嘟 对于求深度和宽度都很好维护.深度dfs时维护就行,宽度统计同一个深度的节点有多少个,然后取max. 对于求距离,我刚开始以为是要走到根节点在回来,然后固输了(dep[u] - 1) * 2 + ...

  4. Hive学习之路 (十五)Hive分析窗口函数(三) CUME_DIST和PERCENT_RANK

    这两个序列分析函数不是很常用,这里也练习一下. 数据准备 数据格式 cookie3.txt d1,user1, d1,user2, d1,user3, d2,user4, d2,user5, 创建表 ...

  5. 《Java程序设计》第15周课堂实践总结

    <Java程序设计>第15周课堂实践总结 实践一 教材代码检查-p242 要求 在IDEA中或命令行中运行P242 StackTraceDemo2.java 代码运行结果和教材一致吗?为什 ...

  6. python开发_stat

    当我们使用os.stat(path)获取一个文件(夹)信息的时候, os.stat(path)本身返回的是一个元组如: nt.stat_result(st_mode=33206, st_ino=203 ...

  7. 2.4G无线控制器附加AT2401C功放IC增加距离

    现在科技产品的不断进步,智能家居方面慢慢对信号和距离方面的要求渐渐增加.深圳市动能世纪科技有限公司不断的满足客户需求,推出了一款射频信号放大器AT2401C满足客户距离信号等等的需求.并全方位技术支持 ...

  8. selenium和PhantomJS的安装

    针对w10系统 selenium安装 pip install selenium 默认安装的是3.x版本,但是3.x版本不支持PhantomJS,所以要安装2.x版本 pip install selen ...

  9. apue2e unp安装

    最近在读 Richard Stevens 的大作<UNIX环境高级编程>,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个 ...

  10. block本质探寻二之变量捕获

    一.代码 说明:本文章须结合文章<block本质探寻一之内存结构>和<class和object_getClass方法区别>加以理解: //main.m #import < ...