Кто-нибудь понял, как встроить видео с помощью драгоценного камня Redcarpet для Markdown в Rails 3.2?

Интересно, есть ли у кого-нибудь хорошее решение для этого. Мое приложение ничего не отображает при встраивании как старой, так и новой версии кода встраивания видео YouTube. Я использую GitHub Markdown Gem Redcarpet, и не похоже, что в их раздел «проблемы», который поможет решить эту проблему. В Stack Overflow есть похожий вопрос, но он касается другой проблемы.

Кто-нибудь понял, как встроить видео с помощью драгоценного камня Redcarpet для Markdown в Rails 3.2?


person bgadoci    schedule 25.01.2012    source источник


Ответы (1)


Убедитесь, что в вашем рендерере отключен флаг :filter_html.

Redcarpet::Render::HTML.new(:filter_html => false)

ИЗМЕНИТЬ:

Если вы хотите пропускать только определенные теги html, вам необходимо создать собственный модуль визуализации (вот как) и определите метод block_html.

Например:

class MyRenderer < Redcarpet::Render::HTML
  def block_html(raw_html)
    if raw_html =~ /^<iframe.*>$/ # You may want to optimize this.
      raw_html
    end
  end
end

Затем установите :filter_html обратно в true, когда вы вызываете свой собственный рендерер:

MyRenderer.new(:filter_html => true)
person Nick Colgan    schedule 25.01.2012
comment
Да. :filter_html удаляет собственный HTML из вывода, вместо этого полагаясь на синтаксис уценки. - person Nick Colgan; 25.01.2012
comment
Знаете ли вы, как это сделать без разрешения всего html? Есть ли способ просто разрешить определенные теги? Санация и уценка? - person bgadoci; 26.01.2012