markdown - Escapar llaves dobles dentro de un bloque de código de rebaja en Jekyll
liquid kramdown (4)
Con jekyll el código es:
{% highlight html%}
{% raw %}
<h2> {{ user.name.first | uppercase }}</h2>
<p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}
Estoy usando Jekyll para crear un sitio de documentación en el que estoy tratando de documentar algún código que contenga sintaxis tipo manillar. Por ejemplo, {{foo}}
. El problema es que Jekyll usa etiquetas líquidas y no importa lo que yo haga, mis dobleces cursados están siendo arrancados por el procesador líquido.
Por cierto, estoy usando kramdown como procesador de rebajas.
Aquí hay algo que he intentado:
{% highlight html linenos %}
Hello, my name is {{name}}.
{% endhighlight %}
Esta elimina completamente la sección {{name}} porque cree que es una referencia a una variable líquida.
También intenté esto:
{% highlight html linenos %}
Hello, my name is /{/{name/}/}.
{% endhighlight %}
En este caso, estoy tratando de escapar de las llaves, pero el resultado es que las barras se procesan en la página.
Incluso intenté esto:
{% highlight html linenos %}
Hello, my name is <span>{</span>{name}}.
{% endhighlight %}
Es cierto que este era bastante tonto. En este caso, debido a que he especificado la sintaxis como html (que debe ser), la etiqueta span se procesa en la página.
Entonces, ¿cómo en el mundo puedo resolver esto?
Está buscando la etiqueta {% raw %}
.
{% raw %}
Hello, my name is {{name}}.
{% endraw %}
Esto funciona en jekyll :
{%raw%}{{thing}}{%endraw%}
Puede usar {% raw %}
para asegurarse de que Jekyll no modifique el contenido:
{% raw %}
This is inserted literally: {{foo}}
{% endraw %}
Sin embargo, tenga en cuenta que esto no es un bloque de código . Necesitará un formato de código adicional para hacer que su contenido se presente como código:
{% raw %}
I''m a code block, because I''m indented by 4 spaces
{% endraw %}
{% raw %}
```handlebars
I''m a code block that contains {{handlebars}}
with highlighting.
```
{% endraw %}