all posts
updated May 20, 2026

Hola mundo: por qué arranco este blog

El primer post del blog — qué pienso escribir aquí y cómo está montado con Astro Content Collections.

Bienvenido al blog. Este primer post existe sobre todo para comprobar que todo renderiza bien — encabezados, código, listas y enlaces — pero ya que estoy, te cuento de qué va esto.

Qué vas a encontrar aquí

Notas cortas mientras construyo cosas: herramientas pequeñas y opinables, flujos de trabajo con IA y lo que voy aprendiendo como estudiante de DAW. Nada de tutoriales de 5000 palabras — apuntes honestos.

Los temas que me rondan

  • Astro y el resto del stack del portfolio
  • Cómo uso Claude en el bucle sin delegar el criterio
  • Rabbit holes varios que merezcan un escrito

Y un orden de prioridades más o menos así:

  1. Que sea útil para mi yo del futuro
  2. Que sea honesto
  3. Que sea corto

Cómo está montado

El blog usa Content Collections de Astro, con un schema validado por Zod. Cada post es un archivo Markdown con frontmatter tipado, así que un pubDate mal escrito rompe el build en vez de pasar desapercibido.

El frontmatter de este post se ve así:

title: "Hola mundo: por qué arranco este blog"
description: "El primer post del blog..."
pubDate: 2026-05-18
tags: ["astro", "meta", "writing"]
draft: false

Y para listar los posts publicados, el helper filtra los borradores en producción con una sola línea:

const posts = await getCollection("blog", ({ data }) =>
  import.meta.env.PROD ? data.draft !== true : true,
);

Si marcas un post con draft: true, lo verás en astro dev pero desaparecerá del sitio publicado, del RSS y del sitemap.

Lo que viene

Más posts, en cuanto tenga algo que valga la pena contar. Mientras tanto, puedes suscribirte por RSS.

Nos leemos.