我有一个Markdown格式的侧边栏,我想在我的Jekyll博客中显示它。 我以前曾尝试像{% include sidebar.markdown %}那样包含它,但实际上并不会渲染Markdown。 我可以像这样成功地包含它:
{% capture sidebar %}{% include sidebar.markdown %}{% endcapture %}
{{ sidebar | markdownify }}
尽管这是一个可管理的解决方案,但我更喜欢一种更优雅的方法来完成此任务。 有任何想法吗? 提前致谢!
2个解决方案
21 votes
我也在寻找这个,是PITA发现如何做的,没有太多Google内容,最准确的发现是要点在这里行不通…简单的解决方案:
./_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)