El resaltado de sintaxis con pigmentos está fallando a través de un error de cadena de plantillas de líquido
Pregunta
Estoy usando Jekyll para convertir mi Markdown y Pygments para resaltar sintaxis.
Aquí está el error que muestra Maruku:
Liquid error: undefined method `join' for "\n song_info = []\n for song in songs:\n song_info.append(song.name) \n":String
El marcado es el siguiente:
{% highlight python %}
song_info = []
for song in songs:
song_info.append(song.name)
{% endhighlight %}
Prueba de pigmentos en Ipython no produce errores.
¿Algunas ideas? ; o (
¡Gracias por adelantado!
Solución
Tuve el mismo problema y volví la gema líquida a la versión 2.2.2 como una solución. Parece un error en el soporte de Pygments de la versión 2.3.0, o el uso de Jekyll.
sudo gem uninstall liquid
sudo gem install liquid --version '2.2.2'
Otros consejos
En otros comentarios, GitHub recomienda usar RedCarpet.
Para usarlo, Configurar jekyll por suplente markdown: redcarpet
a ./_config.yml
. Entonces, instalar Alfombra roja con [sudo] gem install redcarpet
en su máquina de desarrollo para que pueda compilar su sitio Jekyll.
Simplemente reemplazar liquid-2.3.0
archivos gemas con Última versión de Github.
Funciona con jekyll-0.11.2
+ liquid-2.3.0
+ Pygments