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
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.