Un generador estático a medida

En la entrada anterior comentaba que hay un porrón de generadores de web estáticas por ahí adelante. Muchos son estupendos, algunos son geniales y otros no me valen.

Sin embargo he decidido hacerme uno a medida. Es una decisión difícil porque intento siempre aprovechar lo bueno que hay por la red adelante, por aquello de reducir esfuerzos, pero hay razones de peso que me han decidido a hacerme uno. Aquí van algunas:

Flexibilidad y adaptabilidad

Es mucho más fácil modificar el software que ha hecho uno mismo que el software que ha hecho otro. Adaptar un generador de webs estáticas existente me hubiese costado más tiempo y esfuerzo que hacerme uno yo mismo. Mi generador de web estáticas tiene más flexibilidad y adaptabilidad que el de la competencia.

Por poner un ejemplo: de vez en cuando escribo algunos apuntes sobre algún tema que me interesa. Estos apuntes están escritos en DocBook (XML) y las páginas se generan con hojas de estilo XSL a medida. Integrar todo eso en un generador de web estáticas preexistente hubiese sido muy difícil.

Dependencias

Creo que tener muchas dependencias es una manera fácil de complicarse la vida. Muchos de los excelentes generadores de webs estáticas que hay por ahí adelante requieren un porrón de dependencias, y al final para escribir una página tienes que estar instalando paquetes y paquetes de software. Que si Ruby, que si los paquetes de Ruby, que si Python y sus módulos etc., etc.

Prefiero compilar Lua (con un código C muy limpio y multiplataforma) y luego usar algunos módulos sencillos: Lua Filesystem y Mostacho y a correr.

Reutilizando

Pero no todo me lo voy a hacer yo, obviamente. En estas páginas hay software de terceros que viene muy bien, que favorece la reutilización, y que recomiendo:

  • Twitter Bootstrap me viene bien porque me evita pelearme a nivel CSS con todas las tonterías de Internet Explorer. Además viene con una buena colección de componentes (HTML 5 + Javascript) que ahorran mucho tiempo.
  • Disqus, para los comentarios, es también un ahorro muy importante.
  • Google Code Prettify es excelente para colorear sintaxis de código.
  • JQuery, muy útil también para aislarse de las peculiaridades de los navegadores. En los apuntes lo uso para cargar dinámicamente la tabla de contenidos y 'pegarla' a la derecha del contenido principal.
  • DocBook es ideal para generar contenido complejo (apuntes, artículos) en diferentes formatos. Mis apuntes están en html por ahora, pero podría hacer ePubs, por ejemplo.

Resumiendo

En resumen: todo listo para empezar a contar cosas en la web. Espero no aburrir mucho.

Sed bienvenidos,
Antonio