what jekyll pygments

what - jekyll liquid



Destacar con jekyll y pygments no funciona (2)

Quiero usar pygments con jekyll

Tengo el siguiente código:

{% highlight java %} NullPointerException at org.springframework.core.GenericTypeResolver.getTypeVariableMap {% endhighlight %}

Cuando genero mi sitio con jekyll --pygments , el resultado html es:

<div> <pre><code class="java">NullPointerException at org.springframework.core.GenericTypeResolver.getTypeVariableMap</code> </pre> </div>

En esta salida html no hay las etiquetas esperadas <span class="n"> o <span class="s2"> , y el código no está resaltado.

¿Estoy haciendo algo mal?


Necesitas tener el css generado para resaltar.

$ pygmentize -S default -f html > css/pygments/default.css


Una alternativa a la instalación de pygments por separado y la generación del CSS, uno puede extraer directamente el CSS de la documentación de Jekyllrb here

El enlace directo extraído de la documentación que mencioné anteriormente está aquí: https://github.com/mojombo/tpw/blob/master/css/syntax.css

(Es la versión oficial de los autores en GitHub)

El archivo se llama syntax.css, colóquelo en su carpeta css y cree un enlace relativo a la hoja de estilo en el encabezado de cualquier / todos los archivos para habilitar el resaltado de sintaxis.

Esto se puede hacer como tal, por ejemplo, lo coloqué en head.html o css.html donde tengo todos los enlaces relativos, está en la carpeta _include para que se incluya en todos los diseños que lo utilizan:

<link rel="stylesheet" href="/css/syntax.css">

Es posible que también deba agregar esto a su _config.yml :

highlighter: pygments

Probado para trabajar en Jekyll y también en GitHub Pages (lo cual es especial ya que solo permite un conjunto muy limitado de complementos)

Una pregunta de SO relacionada que también me ayudó a llegar a la solución correcta está here . También me sorprendió el motivo por el que mi código aún no estaba resaltado en una plantilla que estaba trasladando incluso después de agregar la línea en _config.yml . La razón por la que simplemente funciona en el sitio Jekyll generado automáticamente al realizar el jekyll new test-site es porque la plantilla generada ya incluye SASS ( .scss ) para el resaltado de sintaxis (en el directorio _sass ) que ayuda a generar todo en una sola main.css .