Artículo con slides embebidos

Patrón para publicar un artículo con una versión presentación navegable (Reveal.js) y una ruta dedicada para proyectar.

Lineamiento técnico DTI — Patrón “artículo + slides” Versión 1.0 · 2026

Cuándo usar este patrón

Cuando un artículo de la wiki necesita una vista de presentación además de la lectura lineal: charlas, reuniones, capacitaciones, comités. La presentación se sirve embebida dentro del artículo y también como ruta independiente a pantalla completa.

Piezas involucradas

PiezaRol
src/components/SlideDeck.astroComponente embebible basado en Reveal.js, con tema UNACH.
src/styles/reveal-unach.cssTema visual UNACH para Reveal.js (tipografías y paleta institucional).
src/slides/<slug>.mdMarkdown con el contenido de los slides (un archivo por artículo).
src/pages/articulos/[slug]/presentacion.astroRuta dedicada que monta el deck en modo pantalla completa.
Campo presentation: true en el frontmatterActiva el badge “Presentación disponible” y la ruta standalone.

Cómo agregar slides a un artículo

1. Marcar el artículo como mdx

Renombrar el archivo a .mdx y agregar presentation: true al frontmatter:

---
title: "Mi artículo"
description: "..."
category: "tutorial"
tags: ["..."]
author: "..."
date: "YYYY-MM-DD"
status: "published"
internal: false
presentation: true
---

2. Crear el archivo de slides

En src/slides/<slug>.md escribir el contenido en markdown. Usar --- (rodeado de líneas vacías) como separador horizontal y -- como separador vertical.

# Slide 1

Punto principal.

---

# Slide 2

Otro tema.

--

## Sub-slide 2.1

Detalle navegable hacia abajo.

3. Embebir el deck en el artículo

En el .mdx, justo debajo del frontmatter:

import SlideDeck from '../../components/SlideDeck.astro';
import slidesContent from '../../slides/<slug>.md?raw';

# Mi artículo

... contenido lineal ...

## Versión presentación

<SlideDeck id="mi-deck" src={slidesContent} />

Eso es todo. La ruta /articulos/<slug>/presentacion se genera automáticamente y aparece el botón “Abrir presentación” en la cabecera del artículo.

Reglas

  • Un archivo de slides por artículo, con el mismo slug. Si el artículo es sdd-con-ia.mdx, los slides deben estar en src/slides/sdd-con-ia.md.
  • Cada slide debe tener un encabezado (h1 o h2) para accesibilidad de lectores de pantalla.
  • Los slides son complementarios al artículo, no un reemplazo. El cuerpo lineal debe poder leerse sin proyectar la presentación.
  • Mantener entre 8 y 15 slides por presentación. Si necesitas más, probablemente sean dos presentaciones distintas.
  • No insertar JavaScript dentro de los slides; el componente carga Reveal.js automáticamente.
  • Probar ?print-pdf en Chrome antes de proyectar si quieres respaldo en PDF.

Cuándo NO usar este patrón

  • Artículos cortos (menos de 600 palabras): el lineal basta.
  • Documentación de referencia técnica que se consulta puntualmente (no se “presenta”).
  • Contenido marcado como internal: true que no requiere ser proyectado en sala.