Volver a la wiki

Visor de informes Markdown — /informes/ver/<carpeta>--<nombre>

Descripción

Nuevo visor de informes Markdown en el hub /informes. Los archivos .md del directorio public/informes/<carpeta>/ se renderizan dinámicamente en rutas de tipo /informes/ver/<carpeta>--<nombre> con estilo consistente del workspace (patrón equivalente a /supercontext/reports).

Previamente, solo se soportaban informes .html en el hub. Esta feature amplía el soporte a Markdown, automatizando:

Componente principal: /informes/ver/[slug].astro

Ubicación: src/pages/informes/ver/[slug].astro

Funcionalidad:

Lectura y renderización

1. Lee archivo: `public/informes/<dir>/<file>`
2. Parsea con marked.parse() → HTML
3. Extrae título: regex sobre primer `^# ` del markdown
4. Extrae fecha: regex sobre patrón `YYYY-MM-DD` en el nombre
5. Renderiza en SecondaryLayout con estilo global .report-body

Estilos globales

Clase .report-body define:

Componentes auxiliares

Cambio en el escáner: src/pages/informes.astro

La página de listado (/informes) ahora:

  1. Acepta extensiones: reconoce tanto .html como .md (antes solo .html)
  2. Rutas diferenciadas:
    • .html → /informes/<carpeta>/<archivo>.html (servido crudo)
    • .md → /informes/ver/<carpeta>--<nombre> (renderizado dinámico)
  3. Extracción de título:
    • .html: parsea <title> tag
    • .md: regex ^#\s+(.+)$ (primer encabezado)
  4. Slug canónico: siempre el nombre sin extensión (.md o .html)

Flujo de build

Verificado en local (commit message):

Estructura de datos en el hub

La sección /informes del hub lista informes bajo estructura:

informes:
  - tipo: <carpeta o TIPO_POR_CARPETA[carpeta]>
    titulo: <extraído de <title> o # >
    slug: <nombre sin ext>
    fecha: <extraído del nombre si patrón YYYY-MM-DD>
    ruta: </informes/... o /informes/ver/...>
    sinRegistrar: true

Ejemplo con .md:

{
  "tipo": "reportes",
  "titulo": "Auditoría Integral 2026",
  "slug": "auditoria-integral-2026",
  "fecha": "2026-04-15",
  "ruta": "/informes/ver/reportes--auditoria-integral-2026",
  "sinRegistrar": true
}

Véase también

Subir