Как передать расширение фильтру Redcarpet Nanoc? - PullRequest
2 голосов
/ 24 декабря 2011

Я пытаюсь отфильтровать содержимое в Nanoc 3, используя их фильтр :redcarpet.Мой код выглядит следующим образом (из файла правил):

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

Я хочу передать параметр :fenced_code_blocks расширению redcarpet, чтобы выделить синтаксис.Я не могу найти пример того, как это сделать.https://github.com/tanoku/redcarpet описывает, как это сделать при использовании красной карпета.Документация Nanoc предполагает, что я могу передать опции, http://nanoc.stoneship.org/docs/api/3.2/Nanoc3/Filters/Redcarpet.html, но ничего из того, что я пробовал, не сработало.

Вот некоторые вещи, которые не работают:

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 }

Многое из этого не работаетне похоже на правильный рубин, и это просто удар в темноте.Я на самом деле не знаю, какая магия DSL происходит в файле правил.Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 11 апреля 2012

Nanoc 3.3 поддерживает Redcarpet 2 , и комбинация настроек теперь filter :redcarpet, :options => {:fenced_code_blocks => true}.

1 голос
/ 25 декабря 2011

Используя Redcarpet 1.x, вы можете передавать параметры, используя :options => [ :foo, :bar, :baz ], но кажется, что только Redcarpet 2.x поддерживает блоки изолированного кода, а Nanoc еще не поддерживает Redcarpet 2.x.

Я, к сожалению, не могу протестировать Redcarpet 2 и интеграцию nanoc, потому что Redcarpet 2 приводит к тому, что Ruby здесь пересекается ...

Денис

...