Futuros cambios en el blog
Para que todo siga igual
Ya sabéis que muchas veces hay que hacer cambios para que todo siga
igual y a eso le estoy dando vueltas. Con el paso de los años el
sistema este de org-page
se me está haciendo algo pesado. Generar
todo el sitio cuando cambio algo en las plantillas de algún espacio
compartido me tarda mucho tiempo. Además es un sistema complejo, donde
intervienen otras herramientas como git
y creo que no es necesario,
─o no lo debía ser─. A ver, no me malinterpretéis, está muy bien tener
el blog mantenido en un repositorio git
, pero la herramienta que
tenga que generar el sitio html
desde org
, no debería depender de
ello. O al menos, es una sensación que tengo instalada en mi
pushconciente.
El tema es que hace unos días, curioseando alternativas, encontré otra
herramienta aún más minimalista que org-page
: org-static-blog.
Dicho paquete esa disponible en Melpa
y se puede instalar
directamente por el método habitual.
¿Qué me gusta de ese sistema nuevo?
Minimalismo en estado puro. Todo está contenido en un mismo archivo
org-static-blog.el
y ya está. Además no es largo ni farragoso. Es
sencillo de entender y me permitirá hacer algún que otro hack para
que todo me siga funcionando.
¿Qué no me gusta?
Le tengo que hacer cambios para mantener el blog actual con todas sus funcionalidades... Concretamente tres tareas:
- No soporta «categorías» como el actual. Tengo que añadir un subblog, por llamarlo de alguna manera, para incluir los artículos en Esperanto. Ya puesto, lo mismo hasta traduzco el chismático al Esperanto para esa sección.
- No genera archivos
rss
por etiquetas. Lo que viene muy bien para enlazar el blog en otro compendiador como http://planet.emacs-es.org/ y me consta que algunos de los lectores habituales de esta cosa, conocieron el sitio a través de él. Hay que ajustar todas las entradas que hay acumuladas hasta ahora a las nueva exigencias de cabecera... muy pesado todo lo que he escrito ─pensaba yo que escribía poco, pero ná una pasada de curro ingrato─.
...
- (Vale dije tres, pero es que esto no es obligatorio). Viene sin
cosas como temas para la visualización. Tienes que enganchar tú
el
css
en las cabeceras. Nada que no solucione una línea de códigohtml
. Además, aprovechando el asunto, se podría cambiar ya el aspecto del blog (que ya me estoy cansando del tema oscuro).
¿Cómo funciona?
Por las pruebas que llevo hechas, es realmente minimalista. Contempla
la existencia de tres directorios: blog
, posts
y drafts
... lo
podemos ver en su código:
(defcustom org-static-blog-publish-directory "~/blog/" "Directory where published HTML files are stored." :type '(directory)) (defcustom org-static-blog-posts-directory "~/blog/posts/" "Directory where published ORG files are stored. When publishing, posts are rendered as HTML, and included in the index, archive, tags, and RSS feed." :type '(directory)) (defcustom org-static-blog-drafts-directory "~/blog/drafts/" "Directory where unpublished ORG files are stored. When publishing, draft are rendered as HTML, but not included in the index, archive, tags, or RSS feed." :type '(directory))
En el trabajo normal se ponen los ficheros org
en el directorio que
se encuentra en la variable org-static-blog-posts-directory
y cuando
se llama a org-static-blog-publish
genera sólo los html
que se
encuentren el directorio de posts.
Además, según leo en su sitio de github cuando generas un sitio,
sólo lo hace si no existe un fichero html
─más moderno─
correspondiente al fichero org
.
Individual blog entries are only re-rendered if no current HTML file is available (i.e. the org file is older than the HTML file). If you want to forcibly re-render an entry, delete the HTML file.
Además, también se puede generar sólo la salida de un sólo fichero con
org-static-blog-publish-file
. Que, supongo, que ser utilizará en el
caso de hacer correcciones en algún post antiguo.
Posibles trabajos futuros
Para que pueda pasarme al nuevo sistema con todas las funcionalidades
que ahora tengo con org-page
tengo que hacer un poco de trampa. Mi
primera idea es tener un fichero de configuración, quizá un org
con
código diferente para cargarlo según el tipo de artículo que vaya a
escribir y que todo se publique en el mismo directorio.
La idea sería, por lo menos, tener separados los temas de blog y
esperanto, para simular las categorías. Las etiquetas también
podrían servir y poner un enlace al fichero tag
correspondiente.
En cualquier caso, sí habría que hacerlo para el tema de generar un
fichero rss
, pues hay quien está suscrito sólo a ese apartado.
(defcustom org-static-blog-enable-tags nil "Show tags below posts, and generate tag pages." :group 'org-static-blog :type '(boolean) :safe t) (defcustom org-static-blog-rss-file "rss.xml" "File name of the RSS feed." :type '(string) :safe t)
Tengo que probar si se puede publicar a subdirectorios o quizá tenga
que hacerlo creando subdominio. Aprovechando el tema de los cambios,
incluso creo que debo cambiar el aspecto de esos posts para resaltar
su distinta categoría y que salte a la vista nada más abrir el
artículo. Se podrían activar las etiquetas y cambiar el nombre del
rss
de rss.xml
a cualquier otro como, por ejemplo,
esperanto.xml
o eo-rss.xml
.
Conclusiones
Todo está muy incipiente y aún estoy haciendo pruebas. Lo escribo aquí para que no penséis que está abandonado el blog si paso una temporada sin escribir nada. O si poco a poco, veis que se van realizando cambios o experimentáis alguna de las pegas que he detallado antes.
Ahora queda el trabajo largo y pesado de convertir todos los posts que hay ya hechos. Son algunos años ya escribiendo tontás. En principio hay que cambiar las cabeceras y los enlaces a los ficheros gráficos. Así que, paciencia.