使用RDiscount时,是否可以限制允许的“标记”集?
假设我想阻止用户创建列表,例如?或者只允许粗体和斜体标记?
如果没有,可以使用例如BlueCloth或其他解析器来完成吗?
更新
我现在使用GFM通过redcarpet读取How can I restrict Markdown syntax in Ruby?后,我添加了Sanitize来去掉红毯生成的一些标签。这个解决方案工作得还行,但在某些情况下需要一些糟糕的解决方法。
从这个意义上说-我仍然在寻找更好的解决方案!
干杯!
最佳答案
因为似乎没有“烘焙”解决方案,所以我的工作是使用Redcarpet和Sanitize:
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