RDiscount:仅允许某些标签

时间:2011-05-31 08:54:35

标签: ruby markdown rdiscount

使用RDiscount时是否可以限制允许的“标签”集? 假设我想阻止用户创建列表,例如?或者只允许使用粗体和斜体标签?

如果没有,可以使用例如BlueCloth或其他一些解析器?

更新

我现在通过GFM使用redcarpet,在阅读How can I restrict Markdown syntax in Ruby?后,我添加了Sanitize以删除Redcarpet生成的部分代码。这个解决方案有点好,但在案例中需要一些讨厌的解决方法。

从这个意义上说 - 我仍然在寻找更好的解决方案!

干杯!

1 个答案:

答案 0 :(得分:2)

由于似乎没有针对此问题的“烘焙”解决方案,所以这是我使用RedcarpetSanitize的解决方法:

markdown = Redcarpet.new(:smart, :filter_html, :hard_wrap)
sanitize_options = {
  :elements => %w(a strong em code pre br sub sup strike small)
}
html = Sanitize.clean(markdown.to_html, sanitize_options).html_safe