← volver al blog

$ cat ~/blog/hola-mundo.md

hola-mundo: cómo está construido este sitio

publicado el · ~1 min de lectura #astro#yaml#ssg#meta

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.