Markdown的各种扩展

    xiaoxiao2024-01-03  150

    Markdown的各种扩展

    PHP Markdown Extra

    Markdown的php解析与实现,并且增加了许多有用的扩展。PHP Markdown Extra其中几个比较重要的改进有:

    支持在html块元素中插入markdown语法支持为一些元素添加id或class,比如为header添加id属性,用带锚点的链接导航。例如: [Link back to header 1](#header1)   Header 1 {#header1} ========  ## Header 2 ## {#header2}

    支持元素包括header、code block、link、image

    支持将代码块用`或者~包起来,这样可以避免一些二义,还可以为代码块添加id或class ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.html #example-1} <p>paragraph <b>emphasis</b> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 支持手写的表格: | Function name | Description | | ------------- | ------------------------------ | | `help()` | Display the help window. | | `destroy()` | **Destroy your computer!** | 支持dl和dt在markdown中的对应语法支持脚注引用 That's some text with a footnote.[^1]   [^1]: And that's the footnote. 支持专有名词abbr避免下划线出现在单词中间,导致斜体输出

    Maruku

    在”始作俑者PHP Markdown Extra”后,很多基于Ruby的Markdown解释器开始浮现。其中,Maruku号称:

    支持原生Markdown支持所有PHP Markdown Extra的特性支持新的元数据语法,实际上就是给元素添加属性的能力支持公式格式输出

    Maruku的语法详见这里

    不过,该项目已经停止维护了。

    kramdown

    同样是ruby开发的解释器,kramdown吸取了Maruku几乎所有的特点,功能更为强大。其中有特点的功能有:

    改进了一些二义语法引入EOB标记^作为块元素的分隔符手写table的语法更加强大一些,支持table中的header和footer同样支持ALD(Attribute List Definitions属性列表定义)还支持注释,以及在转化时配置一些转化选项

    Github-Page推荐使用这个解释器

    RDiscount

    RDiscount又是一个基于Ruby开发的解释器,不过它是基于Discount的语法移植的,所以语法规则需要参考Discount。其语法支持几种上面没有提到过的特性:

    文本居中,即输出: <center>图片大小定义: ![dust mite](http://dust.mite =150x150) 输出alpha列表: <ol type='a'></ol>

    Redcarpet

    Redcarpet是一个转化库,可以在标准Markdown的基础上,配置一些额外的功能:

    单词中间的_不处理转化PHP-Markdown风格的手写表格转化PHP-Markdown风格的带包含的代码块,也可禁用标准markdown的代码块语法自动link生成删除线支持:~~good~~高亮标签<mark></mark>通过==highlighted==输出引用标签<q></q>通过"quote"输出转化PHP-Markdown风格脚注一些二义性的约束支持

    Github支持

    Github Page对于上述的基于Ruby的markdown是支持的,从这里可以看到。另外,Github对于Issue、comments等,还定义了GFM(GitHub Flavored Markdown),其中的语法一般基本来源于上面的提到的东西。除此之外,github还支持一些额外的特性:

    支持把列表变成带勾选框的任务列表 - [x] @mentions, #refs, [links](), **formatting**, and <del>tags</del> are supported - [x] list syntax is required (any unordered or ordered list supported) - [x] this is a complete item - [ ] this is an incomplete item 站内对分支、问题、用户等对象的直接引用 表情  原文发布时间:2014-07-11 本文来自云栖合作伙伴“linux中国” 相关资源:敏捷开发V1.0.pptx
    最新回复(0)