EN

Proyecto

Textual

Blog estático de notas y ensayos listo para cualquier temática, generado con Astro y editado con su propio panel local.


Objetivo

Textual es un blog personal de notas y ensayos, con soporte multi-lenguage, enfoque en SEO, performance y bajo coste para funcionar, se construye estáticamente con Astro, sin backend ni base de datos propios: cada artículo se guarda como Markdown y JSON versionado directamente en el repositorio. El proyecto vive como un monorepo con dos subproyectos independientes: Blog, disponible para el público y Panel, la herramienta de autoría que no requiere desplegarce a producción.


Cómo funciona

  1. Redacción en Panel Panel es un frontend en Vue con backend en Node que corre actualmente solo en local, contra un checkout del blog. Permite crear y editar artículos usando Markdown con preview disponible, también categorías, etiquetas y autores.
  2. Commit y validación Los cambios se guardan como archivos Markdown y JSON versionados en el repositorio. GitHub Actions valida el contenido en cada push antes de continuar.
  3. Despliegue estático Astro genera el sitio estático y GitHub Actions lo publica en S3 y CloudFront, invalidando la caché mediante un manifiesto compartido entre ambos subproyectos.

Arquitectura

El repositorio separa el blog (Astro, contenido versionado, sin runtime de servidor) del panel (Vue + Node, solo local). Ambos subproyectos gestionan sus dependencias de forma independiente y coordinan la invalidación de caché de CloudFront mediante un manifiesto compartido cuando se publica contenido nuevo.


Stack

AstroVueNode.jsTypeScriptAWS S3CloudFrontGitHub Actions