flowchart LR
D["Borrador de guía"] --> R{"¿Aprobado?"}
R -->|Sí| P["Publicar guía"]
R -->|No| D Cargando…
Mermaid 11.15.0
Los diagramas de flujo conectan acciones y decisiones. Usa subgrafos para repartir responsabilidades o un diagrama de secuencia si lo principal son los mensajes entre sistemas.
Crear con el Editor de diagramas de flujo Mermaid →Mantén ids estables y escribe las etiquetas entre comillas; las aristas conectan los ids.
flowchart LR
D["Borrador de guía"] --> R{"¿Aprobado?"}
R -->|Sí| P["Publicar guía"]
R -->|No| D Cargando…
| Sintaxis | Significado |
|---|---|
| flowchart / graph / LR / RL / TB / TD / BT | Declara el diagrama y la dirección; TD equivale a TB. |
| A[Text] / A(Text) / A([Text]) / A[[Text]] / A[(Text)] | Notación clásica: rectángulo, rectángulo redondeado, estadio, subrutina y cilindro. |
| A((Text)) / A{Text} / A{{Text}} / A>Text] / A(((Text))) | Notación clásica: círculo, rombo, hexágono, forma asimétrica y círculo doble. |
| A[/Text/] / A[\Text\] / A[/Text\] / A[\Text/] | Paralelogramos y trapecios en ambas orientaciones. |
| A@{ shape: rect, label: "Text" } | Selecciona un nombre canónico o alias del catálogo. |
| --> / --- / -.-> / -.- / ==> / === / ~~~ | Flechas, enlaces simples, discontinuos, gruesos e invisibles. |
| <--> / o--o / x--x / --o / --x | Puntas bidireccionales, circulares y cruzadas. |
| A -->|Label| B / A -- Label --> B / A ----> B | Añade texto o guiones para aumentar la distancia mínima entre niveles, sin fijar píxeles. |
| subgraph id [Label] / direction TB / end | Agrupa nodos; las conexiones externas pueden anular la dirección interna. |
| classDef / class A,B name / A:::name | Define y aplica estilos reutilizables. |
| style A / linkStyle 0 / e1@--> / class e1 name | Estiliza nodos, aristas por índice desde cero o aristas con id; estas pueden animarse. |
| click A href "URL" / click A callback "Tooltip" | Los clics dependen del anfitrión y se desactivan en modo estricto. |
| A["`**Bold** and *italic*`"] | Las cadenas Markdown permiten énfasis y ajuste automático. |
| A@{ icon: "fa:user", form: "square", pos: "t", h: 60 } | Los iconos necesitan un paquete registrado; hay formas cuadradas, circulares y redondeadas. |
| A@{ img: "/favicon.svg", label: "Text", w: 60, h: 60, constraint: "on" } | Las imágenes necesitan una URL accesible y admiten tamaño y proporción restringida. |
| config.layout: elk / config.flowchart.defaultRenderer: elk | ELK es opcional y debe instalarse y registrarse en el anfitrión. |
| %% / accTitle: / accDescr: | Comentarios y descripciones accesibles. |
| @{ shape: rect } / proc / process / rectangle | Proceso |
| @{ shape: rounded } / event | Evento |
| @{ shape: stadium } / terminal / pill | Punto terminal |
| @{ shape: fr-rect } / subprocess / subproc / framed-rectangle / subroutine | Subproceso |
| @{ shape: cyl } / db / database / cylinder | Base de datos |
| @{ shape: datastore } / data-store | Almacén de datos |
| @{ shape: circle } / circ | Inicio |
| @{ shape: bang } / bang | Explosión |
| @{ shape: cloud } / cloud | Nube |
| @{ shape: diam } / decision / diamond / question | Decisión |
| @{ shape: hex } / hexagon / prepare | Preparación condicional |
| @{ shape: lean-r } / lean-right / in-out | Entrada/salida de datos |
| @{ shape: lean-l } / lean-left / out-in | Entrada/salida de datos |
| @{ shape: trap-b } / priority / trapezoid-bottom / trapezoid | Acción prioritaria |
| @{ shape: trap-t } / manual / trapezoid-top / inv-trapezoid | Operación manual |
| @{ shape: dbl-circ } / double-circle | Fin |
| @{ shape: text } | Bloque de texto |
| @{ shape: notch-rect } / card / notched-rectangle | Tarjeta |
| @{ shape: lin-rect } / lined-rectangle / lined-process / lin-proc / shaded-process | Proceso rayado |
| @{ shape: sm-circ } / start / small-circle | Inicio |
| @{ shape: fr-circ } / stop / framed-circle | Fin |
| @{ shape: fork } / join | Bifurcación/unión |
| @{ shape: hourglass } / hourglass / collate | Intercalación |
| @{ shape: brace } / comment / brace-l | Comentario |
| @{ shape: brace-r } | Comentario a la derecha |
| @{ shape: braces } | Comentario entre llaves |
| @{ shape: bolt } / com-link / lightning-bolt | Enlace de comunicación |
| @{ shape: doc } / doc / document | Documento |
| @{ shape: delay } / half-rounded-rectangle | Retraso |
| @{ shape: h-cyl } / das / horizontal-cylinder | Almacenamiento de acceso directo |
| @{ shape: lin-cyl } / disk / lined-cylinder | Almacenamiento en disco |
| @{ shape: curv-trap } / curved-trapezoid / display | Pantalla |
| @{ shape: div-rect } / div-proc / divided-rectangle / divided-process | Proceso dividido |
| @{ shape: tri } / extract / triangle | Extracción |
| @{ shape: win-pane } / internal-storage / window-pane | Almacenamiento interno |
| @{ shape: f-circ } / junction / filled-circle | Unión |
| @{ shape: notch-pent } / loop-limit / notched-pentagon | Límite de bucle |
| @{ shape: flip-tri } / manual-file / flipped-triangle | Archivo manual |
| @{ shape: sl-rect } / manual-input / sloped-rectangle | Entrada manual |
| @{ shape: docs } / documents / st-doc / stacked-document | Varios documentos |
| @{ shape: st-rect } / procs / processes / stacked-rectangle | Varios procesos |
| @{ shape: bow-rect } / stored-data / bow-tie-rectangle | Datos almacenados |
| @{ shape: cross-circ } / summary / crossed-circle | Resumen |
| @{ shape: tag-doc } / tag-doc / tagged-document | Documento etiquetado |
| @{ shape: tag-rect } / tagged-rectangle / tag-proc / tagged-process | Proceso etiquetado |
| @{ shape: flag } / paper-tape | Cinta de papel |
| @{ shape: odd } | Forma asimétrica |
| @{ shape: lin-doc } / lined-document | Documento rayado |
El catálogo incluye las 48 formas estándar del motor 11.15 y sus alias. Usa @{ shape: ... } para las nuevas; las formas clásicas siguen disponibles.
flowchart TB
A@{ shape: sl-rect, label: "Introducir título" }
B@{ shape: doc, label: "Documento en borrador" }
C@{ shape: diam, label: "¿Completo?" }
D@{ shape: cyl, label: "Archivo" }
A --> B --> C
C -->|Sí| D
C -->|No| A Cargando…
Los guiones adicionales solicitan más niveles de separación. Las puntas ayudan a expresar convenciones; los enlaces invisibles influyen en la disposición.
flowchart LR
A["Esquema"] -->|Listo| B["Borrador"]
B -.-> C["Revisión"]
C ==> D["Publicación"]
A ----> D
B o--o E["Lista de comprobación"]
E x--x D
C ~~~ E Cargando…
La dirección interna puede ceder ante conexiones de nodos con el exterior. Enlaza subgrafos completos cuando sea importante mantenerla.
flowchart LR
subgraph prep ["Preparación"]
direction TB
A["Esquema"] --> B["Borrador"]
end
subgraph review ["Revisión"]
direction TB
C["Comprobar"] --> D["Aprobar"]
end
prep --> review Cargando…
classDef define estilos y class o ::: los aplica. style afecta a un nodo; linkStyle usa el índice de declaración y los ids permiten estilos por arista.
flowchart LR
A["`**Guía** en borrador`"]:::focus e1@--> B["Revisión"]
B --> C["Publicar"]
classDef focus fill:#d3e5ff,stroke:#0070f3,color:#171717
class B focus
style C stroke-width:2px
linkStyle 1 stroke:#0070f3,stroke-width:2px
classDef edge stroke:#0070f3
class e1 edge Cargando…
nodeSpacing y rankSpacing ajustan el diseño. ELK y los paquetes de iconos requieren registro por el anfitrión; las formas normales no necesitan esas extensiones.
---
config:
flowchart:
nodeSpacing: 35
rankSpacing: 60
---
flowchart LR
A["Redactar"] --> B["Revisión"] --> C["Publicar"] Cargando…
Cierra los corchetes y entrecomilla la etiqueta.
Sintaxis incorrecta: ejemplo corregido abajo
flowchart LR
A[Draftflowchart LR
A["Borrador"] --> B["Revisión"] Cargando…
end cierra un subgrafo; elige otro id y usa end solo como etiqueta entre comillas.
Esta web desactiva callbacks; usa los enlaces externos del editor.