更好的 ruby markdown 解释器?
Posted
技术标签:
【中文标题】更好的 ruby markdown 解释器?【英文标题】:Better ruby markdown interpreter? 【发布时间】:2010-09-27 05:51:58 【问题描述】:我正在尝试找到一个可以在 rakefile 中使用的 Markdown 解释器类/模块。
到目前为止,我已经找到了maruku,但我对 beta 版本有点警惕。
有人对maruku有任何问题吗?或者,您知道更好的选择吗?
【问题讨论】:
【参考方案1】:我每天使用 Maruku 处理 100,000 - 200,000 个文档。主要是论坛帖子,但我也将它用于大型文档,如 wiki 页面。 Maruku 比 BlueCloth 快得多,并且不会阻塞大型文档。这都是 Ruby,虽然代码不是特别容易扩展和增强,但它是可行的。我们对 Markdown 方言进行了一些调整和补充。
如果你想要纯 Ruby,我绝对推荐 Maruku。
对于最快的选项,您可能需要 RDiscount。胆量是在 C 中实现的。
另请参阅:Ryan Tomayko 博客上的“Moving Past BlueCloth”。 Ryan 的帖子包含以下 100 次降价测试迭代的基准测试:
BlueCloth: 13.029987s total time, 00.130300s average
Maruku: 08.424132s total time, 00.084241s average
RDiscount: 00.082019s total time, 00.000820s average
2009 年 8 月更新
BlueCloth2 已发布 (http://www.deveiate.org/projects/BlueCloth) 它的速度与 RDiscount 相当,因为它基于 RDiscount - 它不是纯 Ruby。
(感谢Jim)
2009 年 11 月更新
Kramdown 1.0 was just released。我还没有尝试过,但它是一个纯 Ruby Markdown 解析器,声称比 Maruku 快 5 倍。
2011 年 4 月更新
自 2010 年 6 月以来,Maruku 没有看到任何提交。您可能希望改为查看 Kramdown。
一个新的非纯 Ruby 的快速选项:GitHub 发布了基于 libupskirt 的 Redcarpet:https://github.com/blog/832-rolling-out-the-redcarpet
2013 年 8 月更新
Kramdown 仍然是一个非常健康的项目(基于最近的提交、未解决的问题、拉取请求)并且是纯 Ruby Markdown 引擎的绝佳选择https://github.com/gettalong/kramdown
对于不需要或想要纯 Ruby 的人来说,Redcarpet 可能仍然是最常用和积极维护的选项。
【讨论】:
给了你+1,因为你把更新部分! 我不能说这里的更新部分有多么有用。只是在谷歌上搜索一个 Ruby 解决方案会导致一堆在当时可能很棒的实现,但这提供了很多上下文。 这就是为什么我喜欢 *** 的社区(真的是整个 Exchange) - 一种完全不必要和不请自来的慷慨和认真。 Kramdown's tests page 目前包含所有库的 2012 年 2 月基准测试。 我必须指出,Kramdown 偏离了 Markdown 标准。例如,(我发现)你不能在标题内有链接。如果你碰巧有很多预先存在的 Markdown 文档,你应该警惕这一点。【参考方案2】:http://ruby-toolbox.com/categories/markup_processors.html 的列表将是开始寻找的好地方。
【讨论】:
+1 所有这些其他答案都会很快过时,但只要 ruby-toolbox 存在,该列表就应该保持最新。【参考方案3】:RDiscount 快速且易于使用。
【讨论】:
【参考方案4】:试试RDiscount。 BlueCloth 很慢而且有问题。
【讨论】:
不再是了。它现在使用 C 折扣库。 deveiate.org/projects/BlueCloth【参考方案5】:casey 给出的答案中的基准使用 BlueCloth 1。BlueCloth 2 目前是最快的:http://www.deveiate.org/projects/BlueCloth
【讨论】:
【参考方案6】:我相信BlueCloth 是最突出的一个。
【讨论】:
【参考方案7】:看起来很多这些答案已经过时了。
到目前为止(2013 年夏季)我在那里发现的最好的东西是 Redcarpet gem:https://github.com/vmg/redcarpet
【讨论】:
【参考方案8】:为确保您获得 BlueCloth 2,请按如下方式安装:
gem install bluecloth
请注意,“bluecloth”应全部小写,而不是驼峰式。
来源:http://rubygems.org/gems/bluecloth
【讨论】:
【参考方案9】:如果你需要一个公平的例子来说明如何在 rakefile 中使用类似 Kramdown 的东西,github 上有一个 repo,其中包含 markdown.md 中的代码和文章,可以通过 Ruby 代码语法突出显示但也可以转换为 html 行号.(我宁愿关闭行号)
如果有人知道如何关闭默认的行号,请告诉我们。
反正链接是https://github.com/elm-city-craftworks/practicing-ruby-manuscripts
【讨论】:
以上是关于更好的 ruby markdown 解释器?的主要内容,如果未能解决你的问题,请参考以下文章
markdown [rails:devise] Ruby on Rails的身份验证gem。 #ruby #rails