$ cat ~/blog/hola-mundo.md
hola-mundo: cómo está construido este sitio
Este portafolio es, en sí mismo, una muestra de cómo trabajo. Las decisiones:
Astro 100% estático
El contenido de un portafolio cambia poco. Generar HTML en build significa: 0 JavaScript por defecto, Lighthouse 100 y un sitio que puede servirse desde cualquier nginx con 5 MB de imagen Docker.
Contenido en YAML validado con Zod
Todo el contenido vive en src/content/*.yaml. Cada archivo tiene un schema
Zod: si rompo la estructura editando, el build falla con el error exacto
en vez de publicar algo roto. Fail-fast, como debe ser.
patio:
order: 1
company: El Patio de mi Casa
start: "2025-09"
end: null # trabajo actual
Una terminal que funciona de verdad
La terminal del hero no es un GIF: acepta comandos reales (help, whoami,
projects…) y lee los mismos YAML que el resto del sitio, así que nunca
se desincroniza del contenido.
Despliegue
Docker multi-stage -> nginx -> docker-compose con labels de Traefik en mi VPS. Pero eso es tema para otro post.