[Python-es] ¿Experiencia con generadores estáticos de contenidos (blogs)?

joe di castro joe en joedicastro.com
Mie Jun 20 10:09:53 CEST 2012


Hola paisano,

Como leí el otro día, no recuerdo donde (lo leí en inglés):

"En estos días, en los que cada programador de Python está construyendo
su propia plataforma de minibloggin estático... "

Hay muchos, y cada día más, y como bien dices, la mayoría orientados a
crear un blog.

Yo llevo más de un año con Pelican y estoy muy contento con él. Pelican
ha evolucionado bastante durante este tiempo. Tiene muchas cosas que no
necesito y he tenido que dar varios rodeos para hacer las cosas a mi
manera. Para mí era la mejor elección en su momento, antes de la
explosión de popularidad de este sistema. Ahora mismo no lo cambio, no
me apetece, pero no hay día que pasé que no me plantee hacer un fork,
quitar lo que no necesito y añadir lo que me falta.

Pelican está pensado para hacer un blog, se pueden añadir páginas
estáticas independientes de serie, pero tendrías que currarte un tema
diferente al original para quitarle el aspecto predefinido de blog. Se
puede hacer, lo qué no sé es si te merece la pena.

Yo elegí un generador en Python precisamente por el lenguaje, para que
cuando llegará el día, que sabía que llegaría, que se me quedara corto o
necesitara algo especial, poder trastear con él sin tener que además,
invertir tiempo en aprender otro lenguaje.

De todos modos, he aprendido varias cosas por el camino. Por ejemplo,
que si la librería que empleas para parsear el Markdown o el
RestructuredText, cambia de versión, te puede hacer una buena putadita.
Por ejemplo, que el HTML 5 que validaba perfectamente, ahora no lo
haga, o que cambie la manera en que trata las cabeceras o las notas al
pie, etc... Por eso, MUY IMPORTANTE, elijas la plataforma que elijas,
mete todo lo que necesites en un virtualenv autocontenido (con su propio
Python y TODAS las librerías que la plataforma necesite) y no actualices
nunca sin hacer pruebas antes en otro entorno y comparar el resultado
del HTML de salida.

Lo mismo con el generador que emplees, nunca actualices sin realizar
pruebas antes, sobre todo si empleas una versión de desarrollo, con
cambios introducidos no documentados o documentados erróneamente.

Si respetas esto, puedes dormir tranquilo, tu web no necesitará
mantenimiento alguno. Solo crear contenido.

Pero no lo harás, a nada que seas un poco inquieto, siempre andarás
cambiando cosillas... Eso si, nada que ver con un CMS tradicional, es
muchísimo menos curro, y porque tú quieres, no por un fallo de
seguridad, una actualización o un error de los programadores del CMS o
de un plugin...

En mi blog tienes un tutorial sobre Pelican (han cambiado algunas
cosas), y también puedes ver mis fuentes en mis repositorios, para ver
como lo he montado.

http://joedicastro.com
https://bitbucket.org/joedicastro/joedicastro.com
https://github.com/joedicastro/joedicastro.com
----------------------------------------------------------------------

Entre los que citas te falta Obraz, que sería lo más equivalente al
Jekyll que citas, pero en Python:

http://obraz.pirx.ru/

Por lo que sé, siempre intento mantenerme al día en este tema, de los
últimos aparecidos recientemente, quizás sea Mynt el que más se acerque
a lo que buscas. Aunque elijas el que elijas, vas a tener que dar algún
rodeo para tener varios blogs y páginas estáticas.

En Pelican se puede hacer esto, creas un tema propio, y empleas las
categorías que trae por defecto, para crear blogs independientes (así es
como yo lo hago, aunque solo con uno) y creas las páginas estáticas que
quieras dentro de `/pages` Simplemente te creas tu propio tema -las
plantillas se hacen con Jinja2, por lo que es muy flexible- para indexar
las páginas estáticas y los blogs como té de la real gana. Yo es el que
mejor conozco, y sé que se puede hacer lo que tú buscas, y la única
tarea realmente costosa en tiempo y complicada si no tienes experiencia,
es crearte tu propio tema.

Pelican es uno de los más extendidos, tiene un desarrollo muy activo y
su desarrollador (que trabaja en Mozilla) es muy receptivo a introducir
cambios y aceptar sugerencias.

Saludos



Más información sobre la lista de distribución Python-es