php markdown extra,Markdown的各种扩展

刚开始接触markdown的时候,觉得好简单好方便,随着使用的深入,发现markdown好像在很多地方有很多不同的实现,语法特性各不相同,顿时陷入迷茫。原文: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}

paragraph emphasis

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

支持手写的表格:

| 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属性列表定义)

还支持注释,以及在转化时配置一些转化选项

RDiscount

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

文本居中,即输出

图片大小定义![dust mite](http://dust.mite =150x150)

输出alpha列表:

Redcarpet

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

单词中间的_不处理

转化PHP-Markdown风格的手写表格

转化PHP-Markdown风格的带包含的代码块,也可禁用标准markdown的代码块语法

自动link生成

删除线支持:~~good~~

高亮标签通过==highlighted==输出

引用标签通过"quote"输出

转化PHP-Markdown风格脚注

一些二义性的约束支持

Github支持

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

支持把列表变成带勾选框的任务列表

- [x] @mentions, #refs, [links](), **formatting**, and tags are supported

- [x] list syntax is required (any unordered or ordered list supported)

- [x] this is a complete item

- [ ] this is an incomplete item

站内对分支、问题、用户等对象的直接引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值