В Jekyll есть ли сжатый способ частичного выделения Markdown? - программирование
Подтвердить что ты не робот

В Jekyll есть ли сжатый способ частичного выделения Markdown?

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

Я тоже искал это, это была 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)

UPDATE: блог с примером использования: http://wolfslittlestore.be/2013/10/rendering-markdown-in-jekyll/