有没有人想出如何在Rails 3.2中使用Redcarpet gem for Markdown嵌入视频?

时间:2012-01-25 18:04:35

标签: ruby-on-rails ruby ruby-on-rails-3 markdown redcarpet

想知道是否有人有一个很好的解决方案。嵌入旧版和新版YouTube视频嵌入代码时,我的应用没有显示任何内容。我正在使用GitHub的Markdown Gem Redcarpet,并且它们的'问题'部分中似乎没有任何信息可以帮助解决这个问题。 Stack Overflow上有一个similar question,但它处理的是另一个问题。

有没有人想出如何在Rails 3.2中使用Redcarpet gem for Markdown嵌入视频?

1 个答案:

答案 0 :(得分:8)

确保在渲染器中禁用:filter_html标志。

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

修改

如果您只想让某些html代码通过,则必须创建自定义渲染器(here's how)并定义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)