dotBEP Flavored Markdown

Documentation

dotBEP Flavored Markdown

dotBEP renderiza Markdown en dos lugares: reportes y estándares. Ambos soportan Markdown estándar (encabezados, listas, tablas, citas, negrita, cursiva, código en línea, bloques de código) y ambos soportan la misma extensión sobre ese Markdown: dotBEP Flavored Markdown, o DFM.

DFM agrega elementos visuales de bloque usando una sintaxis :::token. Cada bloque abre con :::nombre-token, contiene un ítem por línea con campos separados por |, y cierra con :::. No necesitas escribir esta sintaxis tú mismo: pídele a la IA lo que quieras (un gráfico, una tabla, una nota destacada) y ella producirá el bloque correcto. Esta página existe como referencia, por si quieres leer o ajustar un bloque directamente.


Stats

Muestra una fila de stat cards. Cada línea: valor | etiqueta | color (el color es opcional, acepta cualquier valor de color CSS).

:::stats
47 | Choques abiertos | #ef4444
12 | Resueltos esta semana
3  | Pendientes de aprobación
:::

Progress

Muestra barras de progreso etiquetadas. Cada línea: etiqueta | valor | total.

:::progress
Estructural | 34 | 40
MEP | 18 | 40
Arquitectura | 40 | 40
:::

Pie chart

Muestra un gráfico de torta. Cada línea: etiqueta | valor.

:::pie-chart
Completado | 58
En progreso | 27
Sin iniciar | 15
:::

Area chart

Muestra un gráfico de área. Cada línea: etiqueta | valor.

:::area-chart
Semana 1 | 4
Semana 2 | 11
Semana 3 | 19
Semana 4 | 31
:::

Timeline

Muestra una línea de tiempo de hitos. Cada línea: nombre | fecha | estado. Valores de estado: completed, active, upcoming (por defecto).

:::timeline
Congelamiento de diseño | 2025-03-15 | completed
Coordinación | 2025-05-01 | active
Incidencia de construcción | 2025-07-30 | upcoming
:::

Matrix

Muestra una matriz de datos. La primera línea define los encabezados de columna; cada línea siguiente es una fila. Campos separados por |.

:::matrix
Disciplina | Abiertos | Resueltos | Críticos
Estructural | 12 | 34 | 3
MEP | 8 | 21 | 1
Arquitectura | 5 | 18 | 0
:::

Callouts

Resalta un mensaje con un borde de color. Tres variantes: warning, danger, success. El título después del nombre de la variante es opcional.

:::callout-warning Fecha límite de coordinación en riesgo
El flujo de coordinación MEP tiene 3 instancias bloqueadas por más de 5 días sin ninguna acción tomada.
:::
:::callout-success
Todas las instancias de detección de choques del paquete estructural han sido resueltas.
:::

Referencias en línea

A diferencia de los bloques anteriores, una referencia en línea no describe su propio contenido: apunta a datos que ya viven en otra parte del BEP y los resuelve en vivo, cada vez que se lee el contenido. La sintaxis es {{<expresión JSONata>}}, evaluada contra el BEP completo como contexto raíz:

El arquitecto líder es {{teams[id='ARC'].name}}.
El código del proyecto es {{project.code}}.

JSONata se lee como acceso a propiedades normal, con un filtro para elegir una entrada específica de una colección por id: teams[id='ARC'].name busca el equipo cuyo id es ARC y lee su name. Un campo singular, como project.code, no necesita filtro alguno. Una expresión que no resuelve, un id equivocado, un error de tipeo, un campo faltante, se muestra como un marcador visible ⚠ {error} en vez de fallar en silencio o ser rechazada al escribir el contenido.

Esto es lo que permite referenciar otros datos del BEP desde la prosa de un estándar. Ver Estándares y guías para el lado de autoría.


Tablas de entidad

Este bloque renderiza datos del BEP con forma de colección estructurada como tabla, en vez de un solo valor. No todas las entidades lo soportan, solo las listadas abajo. La sintaxis es :::bep:{entidad}[:{arg}]:::, donde bep: es un namespace fijo (sin relación con la gramática JSONata {{...}} de arriba; solo evita que este token choque con los demás de esta página):

:::bep:disciplines:::
:::bep:teams:::
:::bep:deliverableNamingConvention:::
:::bep:referenceData:{domainId}:::
EntidadArgumentoRenderiza
referenceDataObligatorio: {domainId}, opcionalmente seguido de una ruta separada por puntos hacia un nodo específico, {domainId}.{key}El dominio de datos de referencia, o los hijos de un nodo específico, como tabla. Si un nodo tiene hijos propios, su fila incluye un control para expandirlos en línea, indentados un nivel más, dentro de la misma tabla
disciplinesNingunoTodas las disciplinas definidas en el proyecto
teamsNingunoTodos los equipos definidos en el proyecto
deliverableNamingConventionNingunoLa convención de nomenclatura del proyecto, una fila por segmento, en el orden en que se concatenan

La tabla se reconstruye en el momento cada vez que se renderiza, así que siempre refleja los valores actuales, nunca una copia desactualizada. Este bloque está disponible en estándares, para que la prosa de un estándar pueda incrustar una tabla en vivo de los datos que describe, en vez de solo enlazarlos o repetirlos como texto. Ver Estándares y guías para cómo incrustar una desde un estándar.