2

フィルターを使用して Nanoc 3 のコンテンツをフィルター処理しようとしてい:redcarpetます。私のコードは次のようになります(ルールファイルから):

compile '/posts/*/' do
    filter :redcarpet
    layout 'default'
end

:fenced_code_blocks構文を強調表示できるように、オプションを redcarpet 拡張機能に渡したいと思います。これを行う方法の例が見つかりません。https://github.com/tanoku/redcarpetでは、redcarpet を使用する場合の方法について説明しています。Nanoc のドキュメントには、オプションを渡すことができることが示されてます。

機能しないものを次に示します。

filter :redcarpet, :fenced_code_blocks => true
filter :redcarpet, :options => [:fenced_code_blocks]
filter :redcarpet, { :options => [:fenced_code_blocks] }
filter :redcarpet, { :options => { :fenced_code_blocks => true } }
filter :redcarpet, { :options => [{ :fenced_code_blocks => true }] }
filter :redcarpet, { :fenced_code_blocks => true }

これの多くは適切なルビーのようには見えません。Rules ファイルでどのような DSL マジックが行われているのか、実際にはわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

3

Nanoc 3.3 は Redcarpet 2をサポートし、設定の組み合わせは になりfilter :redcarpet, :options => {:fenced_code_blocks => true}ました。

于 2012-04-11T07:06:24.760 に答える
1

Redcarpet 1.x を使用してオプションを渡すことができます:options => [ :foo, :bar, :baz ]が、フェンス付きコード ブロックをサポートしているのは Redcarpet 2.x だけであり、nanoc はまだ Redcarpet 2.x をサポートしていないようです。

残念ながら Redcarpet 2 と nanoc の統合をテストすることはできません.

デニス

于 2011-12-25T11:04:36.617 に答える