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
Dándole una cara a cada enlace compartido
Un guard de og:image que nunca se disparaba, un valor por defecto de una línea que lo arregló, una tarjeta de terminal hecha a medida, y una trampa de retina en Chrome headless.
El favicon que estuvo roto durante meses y nadie lo habría sabido
Un lote de rendimiento con una mitad fácil (prerender, optimización de PNG) y una falla silenciosa: un favicon SVG cuya referencia de imagen externa los navegadores descartan sin avisar.
Capturas de pantalla para una app sin simulador
MusicKit no devuelve nada en el simulador, así que las capturas de marketing salieron del servicio simulado que la app ya tenía, más las portadas reales de la API de búsqueda de iTunes.
También te podría ser útil
eSIM Airalo
eSIM de datos local para viajes - sin necesidad de cambiar una SIM física.
Este es mi enlace de referido de Airalo. Obtienes un descuento en tu primer eSIM y yo obtengo crédito de Airalo para el mío.
Más informaciónAdGuard para iOS
Bloqueo de anuncios y rastreadores en todo el sistema en iOS, sin necesidad de un servidor DNS aparte.
Como afiliado de AdGuard, obtengo ingresos por las compras que califican.
Más informaciónProton Mail
Correo electrónico cifrado de extremo a extremo, con arquitectura de acceso cero.
Como socio de Proton, obtengo ingresos por las compras que califican de los servicios de privacidad y seguridad de Proton (Pass, Mail, VPN, Drive).
Más información