4

Rails 3.2.11、Haml 4.0、および Redcarpet 2.2.2 を使用しています。

:markdownでRedcarpet を使用するように Haml のフィルターを構成したいと思いますwith_toc_data: trueApplicationHelper私は定義しようとしました:

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解析方法を変更するにはどうすればよいですか?

4

1 に答える 1

8

現在、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
于 2013-04-05T16:29:37.720 に答える