大多数Markdown解析器生成非常相似的HTML输出,但它可能略有不同。
有些解析器是严格的,只允许this is **bold**
但不允许this is ** bold **
其他人同时接受这两种解析器。还有许多其他细微差别。
我想在前端使用pagedown。哪个gem或库生成相同的HTML输出?
“预览”中的结果应与后端生成的HTML完全相同。
答案 0 :(得分:2)
Pagedown描述说这是Sundown的端口,因此没有任何扩展名的Redcarpet应该按预期工作。
答案 1 :(得分:1)
如果你想要完全相同的HTML,你可以简单地将pagedown输出和markdown源一起保存在数据库中,如果没有发布HTML输出,只解析Ruby中的markdown(作为后备,即当javascript被禁用时或碎)。
修改强>
正如评论中指出的那样(谢谢!)这是一个潜在的安全问题,因为攻击者可以提交任意HTML。
另一个解决方案是在客户端使用Node.js并让pagedown也在那里进行解析。