Primer Post utilizando Nikola

Supongo que, como la mayoría, vengo del concepto de software de gestión de blogs o gestores de contenidos dinámicos, basados en:

  • enviar información desde un navegador a un servidor
  • procesar y almacenar la información en una base de datos o en ficheros
  • el servidor genera una respuesta dinámicamente que se envía al navegador en forma de HTML
    • para generar esta respuesta se suele leer de la base de datos o de los ficheros

De todo este proceso se encarga un software instalado en el servidor, nuestro gestor de contenidos.

Ahora he cambiado al paradigma de "generador de sitios web estáticos", en concreto voy a utilizar Nikola, aunque esta vez no lo voy a instalar en ningún servidor. En otro post os contaré cómo he montado esto con Github [1] y Travis [2].

Mi camino para llegar hasta los generadores de sitios web estáticos ha pasado por las etapas que os cuento abajo (me he saltado alguna menos importante).

PhpNuke

Sí, sigue existiendo. Aquí entramos un gestor de contenido basado PHP+MySQL, multi-idioma, gestión de usuarios, grupos de usuarios, ampliable con temas, plugins, etc.

Mi propio gestor de contenidos

Que no era tal, porque se quedó en un blog en el que podía publicar contenidos dinámicamente, también hecho en PHP y MySQL. Me sirvió para:

  • Publicar posts con problemas.
  • Darme cuenta de que un programador necesita a un diseñador.
  • PHP a nivel sintáctico, es feo (cuestión de gustos).
  • Empezar a entender la importancia de DRY [3].

Drupal

Un gestor de contenidos muy completo, que me gustó mucho, hasta que se empezaron a "romper" cosas (comparto culpa con Drupal) y me cansé. Pero quiero remarcar que tiene todo lo que yo podía esperar de un gestor de contenidos y más.

Wordpress

Ya no voy a entrar en si es mejor o peor que Drupal, que de eso hay mucho por Internet. Simplemente es mucho más usable y fácil de actualizar.

CMSdj

Mi segundo intento de creación de mi propio gestor de contenidos. Tenía una idea en la cabeza, de cómo debería ser un diseño del modelo de un gestor de contenidos, todavía la tengo. Y recientemente había descubierto Django, un framework que me encantó hecho con un lenguaje que me encanta, Python, ¿quién se puede resistir ahora a crear su propio CMS [4]? CMSdj está por ahí en Bitbucket y funciona, tiene su propio buscador, gestión de templates, sistema de comentarios, sistema de votación, acercamiento a HTML5 + CSS3 y algunas cosillas más, pero:

  • Ya no sacaba tiempo para desarrollar, un par de horas a la semana, como mucho, y gastaba una hora en recordar por donde iba.
  • Seguía necesitando un diseñador.

Así que declaré este proyecto muerto por aburrimiento, aunque seguí utilizándolo para publicar mis cosillas, pero cada vez que iba a escribir algo en mi blog y veía todo a medio hacer, me ponía malo, así que decidí cerrar y empezar de nuevo.

Nikola

Tengo que decir que quería un generador de sitios estáticos, porque están de moda y toda la gente escribe sobre sus bondades y me convencieron. Probé Jekyll para que no me lo contaran, que es el más famoso. Pero prefería uno hecho en Python por si quería meter mano alguna vez. Así que después de buscar un poco, me quedé entre Nikola, Mynt y Pelican. Me quedé con Nikola por descarte: * Pelican me dió algunos problemas en la utilización de varios idiomas y en las categorías, aunque de primeras fue el que más me convenció. De hecho, es posible que esos problemas los crease yo, pero no quería gastar mucho tiempo en investigar. * Mynt me encantó por su sencillez, aunque tienes que hacerte tus propios templates y no quiero darme cuenta otra vez de lo que necesito a un diseñador.

[1] En Github alojo el sitio generado, toda la parte estática (las páginas en HTML, imágenes, etc.)
[2] Travis es un software the integración contínua (como Jenkins), yo lo utilizo para automatizar el despliegue del sitio, esto es, para descargar el sitio cada vez que lo cambie en Github, volver a generarlo y publicarlo otra vez.
[3] Don't Repeat Yourself (En español, "no te repitas")
[4] Content Management System ("Sistema de gestión de contenidos")

Comentarios

Comments powered by Disqus