Есть ли в Jekyll лаконичный способ сделать уценку частичной? - PullRequest
46 голосов
/ 29 августа 2011

У меня есть боковая панель в формате Markdown, которую я хотел бы показать в своем блоге Jekyll.Ранее я пытался включить его как {% include sidebar.markdown %}, но на самом деле он не рендерит уценку.Я могу успешно включить его как:

{% capture sidebar %}{% include sidebar.markdown %}{% endcapture %}
{{ sidebar | markdownify }}

, и хотя это управляемое решение, я бы предпочел более элегантный способ сделать это.Есть идеи?Заранее спасибо!

Ответы [ 2 ]

21 голосов
/ 10 января 2013

Я тоже искал это, это была PITA, открывающая, как это сделать, а не много контента Google, самый точный вывод был суть, который не сработал бы здесь ... мертвое простое решение:

./_plugins/markdown_tag.rb * * 1004

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)

ОБНОВЛЕНИЕ: блог с примером использования: https://web.archive.org/web/20161207125751/http://wolfslittlestore.be/2013/10/rendering-markdown-in-jekyll/

5 голосов
/ 17 сентября 2011

Jekyll теперь поддерживает написание простых плагинов для добавления тегов, конвертеров или генераторов.Посмотрите на http://jekyllrb.com/docs/plugins/ для деталей.

...