我正在使用Rails 3.2.11,Haml 4.0和Redcarpet 2.2.2.
我想配置Haml的:markdown过滤器以使用带有with_toc_data的Redcarpet:true.在ApplicationHelper中,我尝试定义:
def markdown(text) markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(with_toc_data: true)) raw markdown.render(text.to_s) end
虽然内容:markdown得到渲染,但没有TOC数据.我该如何改变:解析markdown?
解决方法
目前无法将选项传递给Haml中的过滤引擎.目前最好的解决方案可能是用现有的:markdown过滤器替换一个具有所需选项的新过滤器.
module Haml::Filters remove_filter("Markdown") #remove the existing Markdown filter module Markdown include Haml::Filters::Base def render(text) Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(with_toc_data: true)).render(text) end end end