我正试图找到一个可以在rakefile中使用的markdown 解释器类/模块.

到目前为止,我已经找到了maruku个,但我对测试版有点担心.

有人对maruku有意见吗?或者,你知道更好的 Select 吗?

推荐答案

我使用Maruku每天处理100000-200000个文档.主要是论坛帖子,但我也在维基页面等大型文档上使用它.Maruku的速度比BlueCloth快得多,而且它不会被大型文档卡住.它都是Ruby,虽然代码不太容易扩展和扩充,但它是可行的.在我们的markdown 方言中,我们有一些调整和额外的内容.

如果你想要pure Ruby的东西,我绝对推荐Maruku.

对于fastest option人来说,你可能需要RdiScont.guts是用C实现的.

另请参见Ryan Tomayko博客上的"Moving Past BlueCloth".

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)

(谢谢Jim)


2009年11月更新

Kramdown 1.0 was just released.我还没试过,但它是一个纯Ruby Markdown解析器,声称比Maruku快5倍.


2011年4月更新

自2010年6月以来,Maruku再也没有看到过犯罪行为.你可能想看看克拉姆敦.

一个非纯Ruby的新快速选项:GitHub发布了基于libupskirt:https://github.com/blog/832-rolling-out-the-redcarpet的红毯

2013年8月更新

Kramdown仍然是一个非常健康的项目(基于最近的提交、未决问题和拉取请求),是纯Ruby Markdown engine https://github.com/gettalong/kramdown的最佳 Select

对于不需要或不想要纯Ruby的人来说,红毯可能仍然是最常用和最积极维护的选项.

Ruby相关问答推荐

判断数组中的字符串是否包含另一个数组中的子字符串

当Ruby `Complex` 类除了`==` 之外没有任何关系运算符时,它的祖先怎么能有`Comparable`?

如何从外部获取给定 lambda 的参数值,而不显式返回其绑定?

在 Ruby 中使用委托维护相同的类

将 pp 的结果(或输出到控制台的任何内容)放入字符串

确保 Capybara 不存在元素

是否有Ruby单行如果 x 则返回?

出于调试目的,如何打印有关 NET:HTTPRequest 的信息?

VCRProxy:在 Capybara 内使用 VCR 记录 PhantomJS ajax 调用

您如何将 Cucumber 场景标记为待处理

如何通过一组新的给定键更改哈希的所有键

警告! PATH 设置不正确,通常这是由 shell 初始化文件引起的

Ruby 中的 $1 和 \1

include_examples和it_behaves_like有什么区别?

无法将 RVM 安装的 Ruby 与 sudo 一起使用

Ruby:除非与如果不是

如何使用 Nokogiri 删除 node ?

如何在没有警告的情况下重新定义 Ruby 常量?

Ruby - 无法修改冻结的字符串 (TypeError)

如何将 270921sec 转换为天 + 小时 + 分钟 + 秒? (Ruby)