2013-05-12 61 views
0

大多数降价解析器产生非常类似HTML的输出,但它可以略有不同。怎样才能在Ruby中相同的HTML PageDown键生成?

有些解析器很严格,只允许this is **bold**但不this is ** bold **人都接受。还有很多其他的细微差别。

我想在前端使用PageDown键。哪个宝石或库产生相同的HTML输出?

结果在“预览”应该是完全一样在后台生成的HTML。

回答

1

如果您想要完全相同的HTML,您可以简单地将pagedown输出与markdown源一起保存到数据库中,并且只在Ruby中解析标记(如果没有HTML输出)(作为回退,即禁用javascript时)或破碎)。

编辑

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

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

+0

请注意,这是攻击者的控制之下。 – SLaks 2013-05-12 14:54:19

+0

我认为这会带来安全风险,因为浏览器可能会向我发送任意HTML。我仍然需要清理输入。这以某种方式否定了Markdown的一些好处。 – ayckoster 2013-05-12 14:54:21

+0

我必须承认这是一个相当大的风险。 – 2013-05-12 14:55:51

2

Pagedown说明表示这是日落的端口,因此没有任何扩展的Redcarpet应该按预期工作。