在Jekyll插件中调用“ markdownify”

Seb*_*ald 2 plugins liquid jekyll

我试图markdownify在Jekyll插件中手动调用过滤器。这是我所拥有的:

module Jekyll

class ColumnBlock < Liquid::Block
    include Jekyll::Filters

    def initialize(tag_name, markup, tokens)
        super
        @col = markup
    end

    def render(context)
        text = super

        '<div class="col-md-' + @col + '">' + markdownify(text) + '</div>'
    end
end

end

Liquid::Template.register_tag('column', Jekyll::ColumnBlock)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: Liquid Exception: undefined method 'registers' for nil:NilClass

我对Jekyll和Ruby很陌生。我要使用markdownify过滤器时必须包含什么?

daf*_*afi 5

为什么不直接调用转换器?

查看源代码

def render(context)
    text = super

     site = context.registers[:site]
     converter = site.getConverterImpl(Jekyll::Converters::Markdown)
    '<div class="col-md-' + @col + '">' + converter.convert(text) + '</div>'
end
Run Code Online (Sandbox Code Playgroud)