Gem minidown 2.1.0 版发布!一个又小又快的 markdown parser, 100% 的 GFM 支持

jjym · February 23, 2014 · Last by zw963 replied at July 05, 2014 · 4909 hits

https://github.com/jjyr/minidown/releases/tag/v2.1.0

很久前发过一次,但我当时没想到有很多隐藏的很难解决的 bug。(比如区分 html 和普通的 text,正确分析几种有歧义的语法等)

最近才找到了思路,把这些难缠的 bug 都修掉了,并且加入了 table 的语法支持。

现在已经做到了 100% 的 GFM 格式支持!!

其实写这个的初衷就是很多 markdown parser 号称支持 GFM,但并非 100% 的支持,比如 redcarpet 的 underscore 语法,如果加上 escape 符号的话会有问题,换行貌似也会有问题。marked 则是不支持 Task list.maruku 的话总是报错,rdiscount 解析速度又太慢。

于是就打算写个纯 ruby,100% 支持 GFM,使用方便,不可配置 (这一点也是考虑到了减少复杂度) 的 markdown parser。写完后测了下,发现解析速度相比同是 ruby 所写的 maruku 和 rdiscount 还是有不少优势。

目前 minidown 坚持的是小而方便路线

  1. 纯 ruby

  2. 无其他依赖

  3. 暂时不会考虑加入更多的自定义 (目前 code 块可以自定义,用于代码着色)

当初版本号升的太草率了,所以导致 2.1 版前隐藏着一些很难发现的 parse 上的问题。

现在测试用例增加到了 120 多个,可以说正确性已经得到了解决,并且已经 100% 支持 GFM!

#1 楼 @yukihiro_matz matz!!! Σ(゚Д゚) こんばんは、松本さん

#2 楼 @jjym 下次聚会赶紧给我们讲讲里面的算法吧。。

一直在关注,确实很赞!

我去!

matz 先生要是转推一下,你就红了。

一楼是 matz!! orz 这好像是真的。。

昨天就想问,GFM 是什么

这不不错,支持一下!

已经收入囊中,下次使用一下

惊现 dhh!

dhh!!!

:satisfied: 吓傻

,,, matz, dhh!!

matz dhh!!!!!!!

今天都出来逛逛啊...

cool!!

先留名纪念

25 Floor has deleted

楼主是在社区成长起来的未来的大牛。

好吧,我说错了,已经是大牛了。呵呵。

You need to Sign in before reply, if you don't have an account, please Sign up first.