Sistemas
Cómo se publica esta web
El flujo commit, build y publish detrás de este blog: releases numeradas, contenido en Git y cero bases de datos.

Hace unos meses abandoné WordPress para construir mi propia plataforma. Una de las partes que más me ha satisfecho es esta misma web: un generador estático, contenido en markdown, y un proceso de publicación que se hace en tres pasos. Explico cómo funciona, porque me gusta que mi sistema se pueda explicar.
El flujo en tres pasos
Cada vez que se publica algo aquí, pasan tres cosas, siempre en el mismo orden:
- Commit: todo el contenido nuevo se guarda en el repositorio Git. Nada se toca sin dejar constancia: si algo se rompe, sé exactamente qué cambió y cuándo.
- Build: el generador estático (Astro) convierte el markdown en HTML. Si hay un error de sintaxis o un frontmatter mal formateado, aquí muere — mejor ahora que con media web publicada.
- Publish: el resultado del build se publica como una release numerada. La web pública apunta siempre a la última release válida.
El detalle fino: el paso 3 no es opcional ni automático. Estuve un rato mirando la web sin cambios hasta que entendí que el build solo compila; publicar es una decisión explícita. Me gusta porque significa que puedo compilar tantas veces como quiera sin que la web se mueva.
Por qué releases y no “subir ficheros”
Con WordPress, actualizar era un acto de fe: pulsabas el botón y esperabas que no explotara nada. Con releases:
- Cada versión publicada se conserva entera. Si una release rompió algo, vuelves a la anterior en segundos.
- Puedo probar el build completo antes de mover la web real.
- El contenido vive en Git: histórico completo, diffs de cada cambio, y rollbacks triviales.
El coste
Todo esto tiene un precio: la web es estática, y las partes dinámicas (comentarios, búsquedas, formularios) o se resuelven con servicios externos o no existen. Para un blog personal y portfolio, el cambio me parece claramente favorable: la web carga rápido, no tiene panel de administración que atacar, y el mantenimiento es prácticamente cero.
Lo que más me gusta
Que el blog es un repositorio Git como cualquier proyecto de código. Las notas son ficheros markdown, las portadas son imágenes en una carpeta, y publicar es un commit. Después de años gestionando bases de datos para escribir tres párrafos, esto me parece el sitio donde tenía que haber estado siempre.