46 votes

Dans Jekyll, existe-t-il un moyen concis de rendre un partiel Markdown ?

J'ai une barre latérale au format Markdown que j'aimerais faire apparaître sur mon blog Jekyll. Auparavant, j'avais essayé de l'inclure comme suit {% include sidebar.markdown %} mais il ne rendrait pas réellement le Markdown. Je peux l'inclure avec succès comme :

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

et bien que ce soit une solution gérable, je préférerais une façon plus élégante d'y parvenir. Avez-vous des idées ? Merci d'avance !

22voto

Breno Salgado Points 799

Je cherchais cela aussi, c'était un PITA de découvrir comment le faire, pas beaucoup de contenu Google, la découverte la plus exacte était un gist qui ne fonctionnerait pas ici... solution simple morte :

./_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)

MISE À JOUR : blog avec un exemple d'utilisation : https://web.archive.org/web/20161207125751/http://wolfslittlestore.be/2013/10/rendering-markdown-in-jekyll/

5voto

Jeffrey Hulten Points 651

Jekyll permet désormais d'écrire des plugins simples pour ajouter des balises, des convertisseurs ou des générateurs. Jetez un coup d'œil à http://jekyllrb.com/docs/plugins/ pour les détails.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X