Algo que me hizo renegar bastante hace poco, fueron mis ganas de que el código de ejemplo en python que posteaba en el blog tuviese coloreo de sintaxis.
Pasé por varias opciones, y por lejos esta fue la que me resultó más práctica para usar en blogspot o cualquier otro sistema de blogs que permita editar el html del blog. Su practicidad se debe sobre todo a que no necesito hostear archivos extras en ningún lado.
Armé un instructivo bastante sencillo de cómo lograrlo:
1) Instalar Pygments
Vamos a generar un html localmente a partir de un archivo de python, usando el paquete Pygments. Para instalarlo, podemos hacerlo con easy_install (paquete "pygments"), buscándolo y bajándolo de PyPi, o bajando sus fuentes (más info aquí):
2) Generar el HTML con Pygments
Teniendo instalado Pygments, podemos usarlo para generar un HTML coloreado a partir de un archivo de código python. No voy a explicar todas las alternativas, solo la que a mí me resulta práctica (para más info, vean aquí):
$ pygmentize -O noclasses -o pagina.html codigo.py
Nos copiamos el contenido del html generado, lo ponemos dentro de nuestro post, y voila! Python coloreado en nuestro blog :D. Les dejo un ejemplito:
import antigravity
print "wee, python!"
class Foo:
"""Foo fighters"""
def __init__(self):
self.bar = "donde sirven cerveza"
def baz(self):
"""Vamos al bazaar"""
print self.bar
Espero que les haya sido útil!
El problema de este enfoque es: qué pasa si después de postear querés cambiar el código python?
ResponderEliminar1) Editarlo a mano es muy engorroso.
2) Tenés que guardarte el .py original para generar el html.
@Juanjo con
ResponderEliminar1) tenes razón, editarlo a mano es engorroso, pero con
2) no es necesario guardar el original, solo tenés que hacer un copy&paste de lo que ya tenías escrito
Por el resto me parece muy útil el tip de pygmentize
Me refería a que tenés que guardarte el .py original si querés modificarlo y regenerar el html.
ResponderEliminarComo dijo PaBluK, no es necesario quedarte con el .py original. Te copias del blog el código y lo pegas en un nuevo archivo .py, y listo. :D
ResponderEliminar(lo copias desde la página del blog, no del html)