oscarmlage oscarmlage

Flask-HTMLBlog

Written by oscarmlage on

Así de extraño suena el nombre del último proyecto que lleva dando vueltas entre las perdidas neuronas de mi extremidad superior. ¿De qué se trata?, de un cúmulo de cosas...

Os habréis dado cuenta que hace un tiempo me entretiene bastante todo lo relacionado con Flask y Django, pero como buen newbie que soy, no me sentía cómodo sin un proyecto en el poder practicar el learn by doing.

Por otro lado, viendo lo abandonado que tengo ésto del blog y la de recursos que consume (esto último no es del todo cierto, pero me había autoimpuesto mejorar el rendimiento), me he propuesto cambiar el gestor de contenidos por algo que sirva simplemente archivos estáticos (¿qué es un post sino?).

La idea es sencilla: escribir archivos marcados en html, rst, markdown... y que un proceso los parsee y genere archivos estáticos .html que automágicamente se subirán a la carpeta httpdocs del servidor. Nada del otro mundo. Los principales mentores de esta idea han sido, entre otros Tinkerer, Sphinx, Disqus y Lucumr.

Había hecho alguna que otra prueba con Frozen-Flask y me parecía que podía encajar muy bien así que en un alarde de productividad he creado la primera versión inestable 0.0.1. Si, es inestable, tiene mensajes hardcodeados y sin traducir, hay muchas cosas que todavía no son configurables, el CLI de momento sólo permite agregar y eliminar posts, el interfaz de ADMIN lo mismo (no tiene estadísticas...), no soporta idiomas. Podría seguir enumerando issues pero me centraré en que lo principal está funcionando:

Cuando hablo de CLI y de ADMIN son dos interfaces distintas que he creado para interactuar con el sistema. Con CLI me refiero a una interacción en consola, se ve mejor con un par de ejemplos:

$ ./manage.py newpost -t "Título del post" -p "articles/mi-primer-post"
$ ./manage.py delpost articles/mi-primer-post

Y cuando me refiero al ADMIN es un interfaz web mucho más sencillo en el que podemos, a través de formularios, realizar las mismas acciones que por linea de comandos:

También he estado jugando un poco con ReadTheDocs, una fantástica plataforma que nos permite leer online la documentación del proyecto, así que - aunque todavía muy verde - aquí hay algunos párrafos explicando qué es Flask-HTMLBlog:

El código lo he subido a un repositorio en Bitbucket, la idea es organizar y refactorizar todo lo que está desordenado e ir implementando nuevas funcionalidades antes de hacer la migración de Userlinux, puedes seguir las novedades a través de:

Y, por supuesto, me encantaría tener tu colaboración en el proyecto, tanto con ideas como con lineas de código que puedas aportar, así que siéntete libre de usarlo, seguirlo, clonarlo, forkearlo y mejorar este pequeño generador de archivos html estáticos.