Arrancando una bitácora
Esta es la primera entrada de la bitácora de Imperfect Systems. El plan es simple: anotar en público qué estoy construyendo, qué se rompe, y qué haría distinto.
Por qué una bitácora
La mayor parte del trabajo interesante pasa entre lanzamientos. Una bitácora captura esa parte intermedia: los callejones sin salida, las pequeñas victorias, las decisiones que solo cobran sentido después de ver fallar la alternativa.
Cómo funciona este blog
El blog no está hecho a medida. Los componentes, el puntaje de posts relacionados, el schema de contenido, y la configuración de resaltado de sintaxis vienen todos de un paquete compartido, @vdaluz/astro-blog, que también impulsa otro sitio. Esta página es en gran parte pegamento: una colección de contenido, dos archivos de rutas, y un tema neón sobre negro.
import { blogSchema } from '@vdaluz/astro-blog';
const blog = defineCollection({
loader: glob({ pattern: '**/*.md', base: './src/content/blog' }),
schema: blogSchema({ defaultAuthor: 'Imperfect Systems' }),
});
Los componentes están manejados por completo con tokens de diseño en variables CSS, así que el mismo código renderiza en el tema verde neón de este sitio y en una paleta completamente distinta en otro lado. Sin forks, sin copiar y pegar.
Qué sigue
Más posts, y probablemente más sitios compartiendo el mismo paquete. Por ahora: compila, está en verde, y funciona.
Lecturas relacionadas
Rutas de bitácora filtradas por proyecto, y la sesión concurrente que apareció sin avisar
Arreglar dos enlaces sin destino implicó construir filtrado por etiquetas, hasta que una colisión de git me sorprendió a mitad de camino.
Destacando los paquetes compartidos de los que este sitio depende en silencio
El conteo de estrellas no vende bien la infraestructura. Agregué una subsección a mano, y una suposición sobre herramientas no sobrevivió la verificación.
Rebasar un PR de afiliados sobre un build que dependabot rompió en silencio
Una actualización agrupada de 12 paquetes escondía una mayor de Tailwind que rompió el build y otra de Astro en silencio, por una rama sin fusionar.