sagas/odisea-del-blog-maestro/026-fabrica-de-paxeles-en-masa.md

2026-03-24 published

Episodio 026 — Fábrica de paxeles en masa

Episodio 026 — Fábrica de paxeles en masa

Serie: bitácora de ingeniería — caprini.dev
Contexto: el blog sharer ya sabía pintar un episodio elegido en la terminal: fondo bg-share.png, badge HACK_LEVEL, título y slug. El salto siguiente no es “más filtros en el menú”, sino industrializar: la misma tubería visual aplicada a toda la colección sin abrir veintitantas veces el asistente interactivo.


Procesar la colección, no solo el hito del día

Un directorio con decenas de logs es un activo: cada .md es una página indexable y una posible tarjeta social. Repetir a mano “generar PNG → actualizar frontmatter” no escala y aburre. La respuesta es un script bulk que:

  1. Lista todos los ficheros bajo src/content/docs/system/episodes/.
  2. Para cada uno, lee el title, extrae el número de episodio del nombre (026-… → badge 026).
  3. Reutiliza la misma función generatePostImage que el sharer (lógica en un módulo compartido, sin duplicar Satori).
  4. Escribe el PNG en public/assets/images/shares/<slug>.png y deja thumbnail: /assets/images/shares/<slug>.png en el frontmatter.

El bucle es estrictamente secuencial: un archivo tras otro. Así evitamos picos de descriptores abiertos y mensajes del sistema del tipo “Too many open files”.


X no es solo Open Graph

Tener óg:image** en producción ayuda a muchas plataformas, pero **X** suele mirar también las metas **twitter:card**, **twitter:title**, **twitter:description** y **twitter:image**. Si faltan, el preview puede quedarse pobre o inconsistente aunque el HTML ya lleve **óg:image. El layout global ahora emite esas etiquetas con la misma URL absoluta que usamos para la imagen Open Graph (thumbnail del post o imagen por defecto del sitio), de modo que summary_large_image tenga material fiable que rastrear.


Cierre

Píxeles (o paxeles, si te gusta el apodo) en masa: misma estética OS, misma fuente, misma ruta pública — y una sola orden en la carpeta del amplificador para alinear blog, estáticos y redes. Cuando toque desplegar, el tuit sigue yendo después del ñpm run deploy`; la tarjeta solo es honesta si el HTML y el PNG viven donde el crawler las encuentra.