Sie sind auf Seite 1von 7

blog archivo etiquetas markdown feedback rss

De Drupal a Pelican
Pblicado el mi 22 junio 2011

Este blog no est realizado con ningn CMS, ni siquiera utiliza BDD alguna, es simplemente
HTML + CSS y nada ms. Es decir, es contenido esttico, no dinmico. Hasta hace 3 das estaba
funcionando con el mejor CMS PHP que conozco, Drupal. Pero persiguiendo el camino hacia
el minimalismo y la productividad (fiel al espritu KISS) que ya inicie cuando comenc a
escribir todos mis artculos en Drupal con Markdown, el siguiente paso era evidente. La
pregunta era muy sencilla, si un blog consta de contenidos que rara vez cambian (exceptuando
los comentarios) para que necesito un gestor de contenidos dinmicos?

La respuesta es fcil, para nada. Actualmente, gracias a servicios como los de Disqus,
Livefyre, IntenseDebate Echo es posible externalizar el nico contenido dinmico bsico de
un blog, los comentarios. Todo lo dems puede ser contenido puramente esttico, solo HTML y
CSS, sin renunciar a prcticamente nada de lo que nos ofrece un blog basado en un CMS como
Wordpress o Drupal. Se pueden emplear scripts externos en javascript si se desea, o insertarlos
dentro del HTML. Lo que nos permite implementar lo mismo que en un blog normal. Adems
se puede disponer tambin de feeds RSS y Atom.

Elegir un generador de contenido esttico


Evidentemente la idea no es crear las paginas HTML a mano, ni de broma, lo lgico era seguir
empleando la misma estrategia que ya haba iniciado con Drupal, emplear solo ficheros de
texto en formato Markdown que nos generarn el HTML necesario de forma automtica.
Entonces lo que tena que encontrar era un software que me permitiera hacer lo mismo que
Drupal, pero sin toda la parafernalia que rodea a un CMS. Un generador de sitios web estticos
(a partir de markdown) y que a ser posible estuviera escrito en Python, mi lenguaje favorito.
Como ya adelante en el artculo sobre Markdown, existen varias opciones:

Pelican de Alexis Mtaireau, que emplea en su propio blog


Blogofile de Ryan McGuire que tambin lo usa en su blog
Hyde de Lakshmi Vyas. Su blog con Hyde tambin.
rstblog de Armin Ronacher. Solo permite reStructuredText, con l crea su blog, un ejemplo
de elegancia y calidad.

Bueno, tena varias posibilidades, solo tena que elegir una que se adaptara mejor a mis
necesidades. De entrada descart rstblog porque no permita el empleo de markdown, cuando
los otros permitan tanto .rst como .md como formatos de entrada. Solo me quedaban 3
candidatos. As que lo primero que hice antes de nada, fue buscar blogs creados con cada uno
de ellos, para ver que posibilidades reales ofrecan. Encontr ejemplos de blogs de mucha
calidad de todos ellos. Aunque enseguida me di cuenta de una cosa, en dos de ellos los mejores
blogs lo eran porque tenan una elevada personalizacin detrs (artculos de sus autores
contndolo). Y curiosamente con el tercero, casi todos preferan quedarse con la configuracin
estndar, sin tocar prcticamente nada, y la verdad es que el resultado era bastante decente.
Luego mir que cargaba cada uno de ellos en la pgina de entrada, y volva a repetirse la
misma tendencia. En los dos primeros vi demasiadas hojas de estilo, imgenes y demasiados
scripts javascript, en el tercero, nuevamente se cargaban menos elementos. Finalmente compar
caractersticas, modo de funcionamiento y le ech un vistazo rpido al cdigo. La impresin era
otra vez la misma, dos de ellos, Hyde y Blogofile aunque aparentemente potentes, los vea
innecesariamente complejos, en cambi Pelican era bastante ms sencillo. Otra forma de
determinar su repercusin era contar el nmero de descargas de cada una de las aplicaciones
desde PyPi. Los nmeros son los siguientes (a 27 de Junio de 2011), obtenidos con Vanity o
pythonpackages.com:

Paquete Descargas Descargas (2-12-2011) Descargas (7-4-2012)

Blogofile 2.419 3.854 5.276

Hyde 1.945 4.518 7.644

Pelican 3.919 6.138 10.126

La eleccin final era Pelican y no me arrepiento en absoluto, la prueba es que est blog est
funcionando gracias a l (Gracias Alexis!). Aunque las otras dos son tambin muy buenas
opciones, y seguramente seran la primera opcin para ms de uno. Y siempre podra cambiar
fcilmente, porque el contenido seguira estando guardado en ficheros de texto con marcado
markdown.

Actualizacin (2-12-2011):

La estructura de Pelican es tan sencilla y eficaz, que Jkull Slberg ha creado a partir de una
versin hospedada del mismo (y modificada) una de las plataformas de blogs ms simples de utilizar
que existen, calepin.co. Publicar articulos es tn fcil como crear un archivo markdown y
guardarlo en tu cuenta de Dropbox. As de sencillo.

No entrar en detalles ahora de como instalar y emplear Pelican, eso lo dejo para otro prximo
articulo, Pelican. Pero si voy a hacer un repaso de los pros y los contras de emplear Pelican
frente a un CMS como Drupal para crear un blog.

Ventajas de Pelican vs CMS


Solo cheros de texto, No BDD
Simplemente te tienes que preocupar de eso, ficheros de texto, es donde guardas el contenido
que creas. Todo lo dems lo genera Pelican por ti. Nada de crear y gestinar bases de datos, ni
copias de seguridad de la misma y un montn de espacio y recursos desaprovechado
solamente para generar dinmicamente el mismo contenido que te genera Pelican.

Mejor rendimiento, carga de pgina ms rpida


Generar contenido dinmico es ms caro en recursos y es ms lento (consultas a la BDD). Sobre
todo a medida que llenas tu CMS de personalizaciones y plugins. Que hacen prcticamente
todos los sistemas de cach?, generar contenido esttico para luego servirlo ms rpidamente.
No es un poco estpido crear contenido que apenas cambia en el tiempo, en un sistema
dinmico que genera ese contenido cada vez y que para mejorar su rendimiento lo convierte en
esttico? Y ya no hablemos de las mltiples hojas CSS, scripts javascript y enlaces a contenido
externo que cargan la mayora de los CMS por defecto. Cada plugin que aadimos pone su
granito de arena y optimizar todo esto requiere dedicacin y esfuerzo (o seguir sumando an
ms plugins en el mejor de los casos). Con Pelican ya tienes directamente el contenido esttico
y menos recursos que descargar. En este blog, sin contar con los ficheros javascript de Disqus y
Piwik, lo nico que se descarga es un fichero HTML, una hoja CSS y las imgenes que se
incluyen en los artculos (cuando las hay). Es decir sirves el mismo contenido pero generando
menos trfico desde tu servidor.

Soporta mejor el trco


Cuando un sitio web soporta mucho trfico, emplear un CMS requiere de mucha optimizacin
y generalmente de mucha maquina o complejas instalaciones. Y la base principal siempre es un
sistema de cach que sirva contenido lo ms esttico posible. Se cachea todo lo que se puede, y
si es en memoria mejor. Las BDD son un problema aparte, desde soluciones NoSQL a clusters o
BDD distribuidas. Con contenido esttico no te tienes que preocupar de optimizar los accesos a
la BDD, solo de tener un buen servidor web y si quieres, cachear en memoria o ampliar
mquina. Pero poco ms.

Seguridad
Olvdate de problemas de seguridad, los nicos agujeros de seguridad de un sitio con
contenido esttico estn del lado del servidor web, de todo lo dems, te olvidas. Establece bien
los permisos en el sistema de ficheros y punto. El nico contenido dinmico del sitio
(javascript) ni siquiera es algo que deba preocuparte, es algo externo que le concierne a Disqus
o al sistema de analticas web que elijas (Google Analytics o Piwik).

Olvidarse de gestionar un CMS. Mantenimiento mucho ms


sencillo (nulo)
Instalar el CMS, crear la BDD, encontrar, instalar y probar los plugins que necesitas,
actualizaciones, actualizaciones de seguridad, personalizaciones, temas... Todo lo que rodea a
cualquier CMS. Y ya no digamos si hablamos de un CMS potente y complejo como Drupal, con
cientos de posibilidades. Y sin olvidar toda la basura que se va acumulando en las BDD tras
varias actualizaciones y mltiples pruebas de plugins, con Pelican siempre tienes un sistema
limpio. Todo eso lo olvidas con Pelican, lo instalas, personalizas y automatizas una sola vez,
luego te olvidas de todo lo que no sea escribir (si quieres, nada te impide seguir cambindolo y
mejorndolo). Emplea t tiempo en crear contenido.

Backups ms sencillos
Con un CMS deberas hacer Backups del servidor web tanto del sistema de ficheros como de la
BDD. Y sera aconsejable tener un servidor web local montado para probar los cambios que
vayas a hacer en el CMS sin miedo a romper nada. Con Pelican ni siquiera necesitas hacer
Backups del servidor ni del contenido web. Todo lo que necesitas para generarlo ya est en tu
ordenador en esos ficheros de texto. Incluso si empleas un tema propio, tambin est en tu
equipo. As que las copias de seguridad de tu sitio web no son distintas a las que regularmente
ya haces de tu ordenador personal.

Hosting en cualquier sitio


Solo tienes que alojar contenido esttico, no necesitas BDD ni soporte para ningn lenguaje o
librera en particular. Puedes hasta utilizar recursos gratuitos como las pginas de GitHub o
BitBucket o un sistema de ficheros en la nube econmico como Amazon S3 (o Amazon
CloudFront). Solo necesitas eso, servir ficheros, nada ms. Hasta el hosting ms econmico te
sirve.

Emplear un CVS para gestionarlo


Poder emplear Git o Mercurial o cualquier otro CVS para gestionar los cambios del blog no
tiene precio. Ningn sistema de revisiones de CMS es tan potente. Adems tienes la posibilidad
de crear un hook para que al enviar un commit despus de crear un articulo (o realizar un
cambio) se suba el contenido automticamente al servidor. Con esto realizar cualquier cambio o
revertir un error es algo trivial. Adems te permite subir una copia a un sitio como GitHub o
BitBucket y tenerlo siempre disponible en cualquier sitio con conexin a la red. Como
maravillosa opcin, esto permite que el contenido de un blog, incluso de un mismo articulo, sea
editado por ms de una persona de manera bastante ms sencilla, potente y menos propensa a
errores que con un CMS.

Crear los articulos o-line


Eso te permite ir creando los artculos al ritmo que te de la gana, cuando quieras y en cualquier
sitio con un porttil. No necesitas estar conectado a la red. Esto tambin puede hacerse con un
CMS, pero suele ser ms complejo (exceptuando emplear cortar y pegar) e inseguro (si se
habilita el envo remoto de artculos). Yo lo haba logrado en Drupal empleando markdown,
pero segua necesitando un segundo paso on-line para personalizar las etiquetas.

Edicin de artculos ms cmoda


Puede parecer que un CMS con su editor WYSIWYG es ms cmodo, pero todo lo contrario. Ya
lo comentaba en el artculo sobre markdown. Pero es que adems me proporciona una mejor
experiencia de edicin y ms potente. Explico como redacto yo los artculos para que se
entienda mejor. Divido la pantalla en dos mitades, a la izquierda el editor de textos y a la
derecha el navegador. Como editor de textos empleo Gedit, que tiene resaltado de texto para
markdown y un corrector ortogrfico (por esto no uso vim para esto) bastante mejor que el de
Firefox (que solo examina el texto hasta cierto nmero de casos dudosos). Adems Pelican tiene
una maravillosa opcin, autoreload que lo hace correr en segundo plano y cuando detecta un
cambio en uno de los ficheros, vuelve a generar el contenido. Entonces en gedit le digo que
autoguarde el contenido cada 3 minutos (o a voluntad, manualmente) y cuando Pelican lo
detecta, automticamente regenera los ficheros HTML. Como navegador empleo Firefox y
tengo, abierto en una pestaa, el fichero index.html que genera Pelican y empleando la
extensin Auto Reload el contenido de la pgina (en local) se actualiza automticamente al
detectar un cambio en el fichero. Es decir, como en la primera pgina se puede ver el contenido
completo del ltimo articulo, lo que estoy viendo es una previsualizacin automtica del
contenido en la pgina cada 3 minutos. Y todo esto en off-line, sin estar conectado a internet.
Esto si es un verdadero editor WYSIWYG, y no los otros. Adems, que demonios, los
navegadores no se disearon para crear texto, cualquier editor de texto es ms potente.

Control del Spam


El Spam, esa lacra que azota toda la web. En Pelican, ese problema, lo tiene que gestionar
Disqus, no t. T solo tienes que gestionar el poco que se le escape. Pero el buscar un plugin,
configurarlo y que funcione bien, es algo de lo que no tienes que preocuparte. En Drupal tena
este asunto solucionado, pero fue cosa de probar varios plugins, hasta que al final di con uno
que me lo solucionaba de verdad.

Recursos de CPU y RAM


El contenido dinmico consume mucha ms memoria RAM y CPU en el servidor que servir
contenido esttico. Al fin y al cabo, en el caso del contenido esttico, es poco ms complejo que
servir ficheros. Si tienes que compartir el servidor con ms proyectos, agradecers no tener que
emplear un CMS para servir el blog.

Resaltado de Sintaxis incorporada con Pygments


Mientras en la mayora de CMS necesitas un plugin para habilitar el resaltado de sintaxis para
cdigo fuente, en Pelican esto viene por defecto empleando el excelente Pygments

Cumplimiento de Estndares Web


Con Pelican es relativamente sencillo configurar el tema para que cumpla los estndares web y
genere contenido valido. Y una vez que lo haces, es para siempre, a no ser que modifiques algo
en el tema, todo el contenido que generes cumplir con los estndares (a no ser que incluyas
HTML dentro que no lo sea). De este modo, este sitio valida HTML5, CSS3 y genera feeds RSS
y Atom validos. Conseguir esto con un CMS y empleando editores WYSIWYG es bastante ms
complejo y doloroso. Aunque yo lo haba conseguido con Drupal y markdown, tuve que
modificar un tema casi por completo, casi como crearlo desde cero.

Inconvenientes de Pelican vs CMS


Comentarios sin resaltado de sintaxis
Algo que me permita Drupal y no me permite Disqus (por ahora) era emplear markdown en
los comentarios y resaltado de sintaxis para el cdigo fuente. Es el mayor inconveniente que he
encontrado hasta ahora. Pero bueno, tampoco es algo imprescindible y esperemos que Disqus
lo soporte en un futuro.

Sitemap
Tampoco Pelican genera sitemaps en xml para los buscadores. Aunque tampoco es algo
imprescindible y Drupal tampoco lo soporta por defecto, si no a travs de un mdulo. El autor
lo tiene como tarea pendiente, y si tarda mucho, a lo mejor me animo y lo creo yo mismo.

Personalizacin ms sencilla para non geeks


Esta es la parte que menos me afecta, pero es el gran inconveniente para la gran mayora sin
conocimientos avanzados. Aunque Pelican no es difcil de instalar y configurar, si queremos
personalizarlo bastante, la cosa cambia. Los CMS son mucho ms sencillos en ese sentido, pero
el coste a pagar por otro lado no me compensa.

No tiene bsqueda incorporada


Es otro pequeo inconveniente que puede suplirse empleando la de Google AdSense en el sitio,
por ejemplo. Personalmente no me importa demasiado, teniendo disponibles en el sitio
recursos como el archivo de todos los artculos publicados o la nube de etiquetas.

No puedes personalizar el contenido dinmicamente


Con un CMS puedes hacer cosas como mostrar un contenido o un tema distinto segn el perfil
del usuario, o segn la carga del servidor, etc. Con contenido esttico lgicamente no puedes
hacer esto. A mi me da igual, no lo necesito, es solo un blog.

Llevo varios aos empleando Drupal en varios sitios y me sigue pareciendo un CMS excelente
y una buensima opcin para generar contenido dinmico para no desarrollladores (de otro
modo prefiero un framework como Django). Pero actualmente, para crear blogs, si se tienen
conocimientos suficientes, emplear un CMS me parece una decisin poco acertada, es matar
moscas a caonazos. Hoy en da hay soluciones como Pelican y las mencionadas arriba (y otras
alternativas en otros lenguajes) que te permiten crear blogs con facilidad, centrndote
nicamente en crear los artculos y automatizar todo lo dems. Acaso esa no es la razn
principal del grandisimo xito de twitter o tumblr? La inmediatez de los resultados y la
delegacin de la gestin a terceros, t solo escribes. Pelican te permite lo mismo, solo requiere
la personalizacin inicial y listo, con la ventaja aadida de que puedes personalizarlo a tu gusto
y hasta donde te d la gana o seas capaz.

Etiquetado como: markdown, restructuredtext, pelican, drupal, cms, python, blog, html.
2010-2015 joe di castro - correo|twitter|github El contenido est bajo licencia Creative Commons

Das könnte Ihnen auch gefallen