Plugins 援引;“市场化”;在Jekyll插件中
我试图在一个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
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>'