site pages page new matter images generate front files html markdown jekyll

pages - Incrustar Markdown en HTML Jekyll



jekyll site pages (5)

Estoy tratando de anidar markdown en un archivo HTML mientras uso Jekyll. ¿Hay alguna manera de lograr algo como lo siguiente?

# index.html --- layout: default --- <p>[Stack Overflow](http://www.stackoverflow.com)</p>

Nota: Soy consciente de que podría hacer esto en su lugar.

# index.html --- layout: default --- <p><a href="http://www.stackoverflow.com">Stack Overflow</a></p>


@ sunny-juneja, revise el Filtro de Extensión Líquido llamado markdownify :

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

Úsalo así:

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

Coloque comillas simples o dobles alrededor de su cadena dentro de la etiqueta de salida .

Funciona para mí en Jekyll 1.0.0beta3


A partir de la versión actual de Jekyll 3.6.2, la vida puede ser mucho más simple con las siguientes dos opciones:

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

note el atributo markdown:

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


Aquí le mostramos cómo puede definir un bloque de rebajas con un complemento de 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)

(Para instalar este fragmento de código como un complemento, *.rb en un archivo *.rb en el directorio _plugins de la raíz del sitio de origen)

Entonces, úsalo así:

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

EDITAR : ver la respuesta de @ Cristian para una mejor solución! Si está utilizando Kramdown (lo cual es probable que sea el caso ya que está usando Jekyll), puede usar su función para hacer rebajas dentro de div con un atributo markdown="1" .


Eche un vistazo a Gist de Paul Irish para obtener un código JS que pueda interpretar secciones de su página desde Markdown a HTML.


Si está utilizando Kramdown, según su documento , puede hacer esto:

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

Y de esta manera, el texto dentro del div se representa como markdown.

Asegúrese de usar la extensión .md o .markdown para el archivo, ya que los archivos .html no se envían a Kramdown para su procesamiento.