web-dev-qa-db-fra.com

Incorporation Marque dans JEKYLL HTML

J'essaie de nier Markdown dans un fichier HTML lors de l'utilisation de Jekyll. Y a-t-il un moyen d'atteindre quelque chose comme ce qui suit?

# index.html

---
layout: default
---


<p>[Stack Overflow](http://www.stackoverflow.com)</p>

NOTE: Je suis conscient que je pourrais le faire à la place.

# index.html

---
layout: default
---


<p><a href="http://www.stackoverflow.com">Stack Overflow</a></p>
37
sunnyrjuneja

Voici comment vous pouvez définir un bloc de marquage avec un Plugin Jekyll :

module Jekyll
  class MarkdownBlock < Liquid::Block
    def initialize(tag_name, text, tokens)
      super
    end
    require "kramdown"
    def render(context)
      content = super
      "#{Kramdown::Document.new(content).to_html}"
    end
  end
end
Liquid::Template.register_tag('markdown', Jekyll::MarkdownBlock)

(Pour installer cet extrait comme plug-in, mettez-le dans un *.rb Fichier sous _plugins répertoire de votre racine de site source)

Ensuite, utilisez-le comme ceci:

{% markdown %}
[Stack Overflow](http://www.stackoverflow.com)
{% endmarkdown %}

[~ # ~ ~] Edit [~ # ~] : voir la réponse de @ Cristian pour une meilleure solution! Si vous utilisez KramDown (qui est probablement le cas puisque vous utilisez JEKYLL), vous pouvez utiliser la fonctionnalité de la fonctionnalité pour rendre marquage à l'intérieur div 's avec un markdown="1" attribut.

25
MisterMetaphor

Si vous utilisez Kramdown, basé sur leur doc Vous pouvez le faire:

<div markdown="1">
   My text with **markdown** syntax
</div>

Et de cette façon, le texte dans le div est rendu comme marquage.

Assurez-vous d'utiliser le .md ou .markdown extension pour le fichier, comme .html Les fichiers ne sont pas envoyés à Kramdown pour le traitement!

58
Cristian

À la suite de la vie actuelle de Jekyll 3.6.2 peut être beaucoup plus simple avec les deux options suivantes:

enter image description here

<div>
{{ "## Yes, this renders as markdown" | markdownify }}
</div>

Notez l'attribut Markdown:

<div markdown="1">
## some markdown
inside some html. `snippet` _italic_ **bold**
</div>
8
Frank Nocke

@ Sunny-Juneja, consultez le filtre d'extension de liquide appelé markdownify:

https://github.com/mojombo/jekyll/wiki/liquid-extensions#markdowntify

Utilisez-le comme ceci:

<p>{{ '[Stack Overflow](http://www.stackoverflow.com)' | markdownify }}</p>

Mettez des citations simples ou doubles autour de votre chaîne à l'intérieur de la sortie Tag.

Fonctionne pour moi sur Jekyll 1.0.0beta3

6
J W

Jetez un coup d'œil à GIST de Paul Irish pour un code JS pouvant interpréter des sections de votre page à partir de Markdown à HTML.

4
Traveling Tech Guy