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

    题目描述 若xx分解质因数结果为\(x=p_1^{k_1}p_2^{k_2}\cdots p_n^{k_n}\),令\(f(x)=(k_1+1)(k_2+1)\cdots (k_n+1)\),求\(\ ...

  2. java 泛型数组列表

    如下代码: package com.company; import java.lang.reflect.Array; import java.util.ArrayList; public class ...

  3. Mysql安装(win10 64位)

    公司的测试数据库只有读的权限,而且还不能用IP和端口去访问,所有很多时候不方便(尤其是想练手的时候).闲着也是闲着,自己搭建一个Mysql数据库出来.以下操作,全部基于win10专业版 64位,仅供参 ...

  4. iOS 输入框限制输入字节数

    iOS中限制输入框文字长度的方法有好多,百度一下,最常用的是这种: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersI ...

  5. Linux入门基础(三):Linux用户及权限基础

    用户基础 用户和组 每个用户都拥有一个userid 每个用户都属于一个主组,属于一个或多个附属组 每个组拥有一个groupid 每个进程以一个用户身份运行,受该用户可访问资源限制 每个可登陆用户拥有一 ...

  6. day 88 Vue学习之八geetest滑动验证

      本节目录 一 geetest前端web中使用 二 xxx 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 geetest前端web中使用 下载gt文件,官网地址,下面我 ...

  7. Dataguard学习笔记

    主库和备库之间的redo log传递,可以通过如下方式实现: 在主库端: log_archive_dest_1='主库本地路径' log_archive_dest_2='备库的net service名 ...

  8. 【转载】COM 组件设计与应用(十七)——持续性

    原文:http://vckbase.com/index.php/wv/1264.html 一.前言 我们写程序,经常需要实现这样的需求: 例一.程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置, ...

  9. 1997: [Hnoi2010]Planar

    1997: [Hnoi2010]Planar 链接 分析: 首先在给定的那个环上考虑进行操作,如果环内有有两条边相交,那么可以把其中的一条放到环的外面去.所以转换为2-sat问题. 像这样,由于1-4 ...

  10. Mac下 通过 VMware Fusion 配置 windows 虚拟机的详细步骤

    内容中包含 base64string 图片造成字符过多,拒绝显示