RDiscount: разрешить только определенные теги
Можно ли ограничить набор разрешенных "тегов" при использовании RDiscount? Допустим, я хочу запретить пользователю создавать списки, например? Или разрешить только жирный и курсив?
И если нет, то можно ли это сделать с помощью, например, BlueCloth или другого парсера?
ОБНОВИТЬ
Я сейчас использую GFM через redcarpet и после прочтения. Как я могу ограничить синтаксис Markdown в Ruby? Я добавил Sanitize для удаления некоторых тегов, которые генерирует Redcarpet. Это решение работает несколько хорошо, но требует некоторых неприятных обходных путей в случаях.
В этом смысле - я все еще очень ищу лучшее решение!
Ура!
1 ответ
Решение
Поскольку кажется, что для этого не существует "запеченного" решения, вот моя работа - использовать 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