Plugins 援引;“市场化”;在Jekyll插件中

Plugins 援引;“市场化”;在Jekyll插件中,plugins,jekyll,liquid,Plugins,Jekyll,Liquid,我试图在一个Jekyll插件中手动调用markdownify过滤器。以下是我所拥有的: module Jekyll class ColumnBlock < Liquid::Block include Jekyll::Filters def initialize(tag_name, markup, tokens) super @col = markup end def render(context) tex

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

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)
模块杰基尔
类ColumnBlock
我得到以下错误:
Liquid异常:nil:NilClass的未定义方法“寄存器”


我对杰基尔和鲁比很陌生。当我想使用
markdownify
过滤器时,我必须包括哪些内容?

为什么不直接调用转换器

def呈现(上下文)
text=super
site=context.registers[:site]
converter=site.getConverterImpl(Jekyll::Converters::Markdown)
''+转换器。转换(文本)+''
结束

更新-getConverterImpl在Jekyll 3中不推荐使用,您应该使用查找转换器实例

def render(context)
  text = super
  site = context.registers[:site]
  converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
  '<div class="col-md-' + @col + '">' + converter.convert(text) + '</div>'
def呈现(上下文)
text=super
site=context.registers[:site]
converter=site.find_converter_实例(::Jekyll::Converters::Markdown)
''+转换器。转换(文本)+''

thx太多了!我尝试从源代码复制/粘贴markdownify函数,但得到了相同的错误。
def render(context)
  text = super
  site = context.registers[:site]
  converter = site.find_converter_instance(::Jekyll::Converters::Markdown)
  '<div class="col-md-' + @col + '">' + converter.convert(text) + '</div>'