如何在Ruby中生成与pagedown生成相同的HTML?

时间:2013-05-12 14:20:35

标签: ruby markdown

大多数Markdown解析器生成非常相似的HTML输出,但它可能略有不同。

有些解析器是严格的,只允许this is **bold**但不允许this is ** bold **其他人同时接受这两种解析器。还有许多其他细微差别。

我想在前端使用pagedown。哪个gem或库生成相同的HTML输出?

“预览”中的结果应与后端生成的HTML完全相同。

2 个答案:

答案 0 :(得分:2)

Pagedown描述说这是Sundown的端口,因此没有任何扩展名的Redcarpet应该按预期工作。

答案 1 :(得分:1)

如果你想要完全相同的HTML,你可以简单地将pagedown输出和markdown源一起保存在数据库中,如果没有发布HTML输出,只解析Ruby中的markdown(作为后备,即当javascript被禁用时或碎)。

修改

正如评论中指出的那样(谢谢!)这是一个潜在的安全问题,因为攻击者可以提交任意HTML。

另一个解决方案是在客户端使用Node.js并让pagedown也在那里进行解析。