Procesos y políticas internas
Cómo funciona la biblioteca de documentos
Documento de ejemplo: explica en una página cómo entra un documento a la biblioteca y sirve de prueba del visor (encabezados, listas, tabla, imagen, cita y código).
Este documento existe por dos razones. La primera es explicar, en una página, cómo entra un documento a la biblioteca. La segunda es ser la pieza contra la que se prueba el visor: trae a propósito un encabezado de cada nivel, listas, una tabla, una imagen del CDN, una cita y un bloque de código. Si algo se ve mal en el sitio, se ve mal aquí primero.

Los cinco pasos
- Milo comparte el Word. Queda adjunto en la tarea de carga, que es el único lugar donde el archivo original llega con fecha y con quién lo mandó.
- Se convierte a Markdown. Las imágenes se extraen y suben a Luna CDN; el texto se queda en el repo del sitio con sus metadatos arriba.
- El original se guarda. Nunca se tira y nunca se toca: queda en el repo privado, byte por byte como llegó.
- Milo lo revisa. Recibe una URL de preview con el documento ya puesto en el sitio y
contesta sí o pide cambios. Mientras no diga sí, el documento es
borradory la biblioteca no lo muestra. - Se publica. Pasa a
aprobado, se integra amainy Vercel lo publica.
Qué hace falta para agregar el siguiente
Esa es la prueba de que el formato sirve: agregar un documento tiene que ser un paso corto.
| Paso | Quién | Cuánto |
|---|---|---|
| Mandar el Word | Milo | un mensaje |
| Convertir, subir imágenes y escribir metadatos | Metis | el grueso del trabajo |
| Leer el preview y aprobar | Milo | los minutos que tarde en leerlo |
| Publicar | Metis | un merge |
Por qué Markdown y no el PDF
Un PDF se ve igual en todas partes y por eso mismo no se puede buscar por dentro, no se adapta al teléfono y no se puede comparar entre versiones.
El Markdown resuelve las tres cosas: la búsqueda del sitio lee el texto completo, el visor lo reacomoda en cualquier pantalla, y Git guarda cada cambio con su fecha. El original sigue existiendo para quien lo necesite tal cual.
Cómo se ve un documento desde el código
El cargador del sitio lee el frontmatter, lo valida contra esquema.json y descarta lo
que no esté aprobado:
const documentos = cargarDocumentos()
.filter((d) => d.estado === "aprobado")
.sort((a, b) => b.fecha.localeCompare(a.fecha));
Si un documento trae un campo mal escrito, la compilación falla con el nombre del archivo y el campo. Eso es a propósito: un documento que se publica con la categoría vacía no aparece en ningún filtro y nadie se entera de que está ahí.