我有一个Markdown格式的侧边栏,我想在我的Jekyll博客中显示。我之前试图像{% include sidebar.markdown %}
那样包含它,但它实际上不会渲染Markdown。我可以成功地包括它:
{% capture sidebar %}{% include sidebar.markdown %}{% endcapture %}
{{ sidebar | markdownify }}
尽管这是一个易于管理的解决方案,但我更喜欢采用更优雅的方式来实现这一目标。有任何想法吗?提前谢谢!
答案 0 :(得分:21)
我也在寻找这个,这是一个PITA发现如何做到这一点,谷歌内容并不多,最确切的发现是一个在这里不起作用的要点......死的简单解决方案:
./_plugins/markdown_tag.rb
:
module Jekyll
class MarkdownTag < Liquid::Tag
def initialize(tag_name, text, tokens)
super
@text = text.strip
end
require "kramdown"
def render(context)
tmpl = File.read File.join Dir.pwd, "_includes", @text
Jekyll::Converters::Markdown::KramdownParser.new(Jekyll.configuration()).convert(tmpl)
end
end
end
Liquid::Template.register_tag('markdown', Jekyll::MarkdownTag)
答案 1 :(得分:5)
Jekyll现在支持编写简单的插件来添加标签,转换器或生成器。有关详细信息,请查看http://jekyllrb.com/docs/plugins/。