Come scrivere un diagramma di flusso Mermaid:una direzione, nodi e frecce.

Un diagramma di flusso Mermaid è testo in un blocco di codice: dai un nome ai nodi, li colleghi con frecce e il diagramma viene disegnato per te. Ecco la sintassi con esempi da copiare.

macOS 14 o successivo. Leggere è gratis; modificare e revisionare si pagano una volta sola.

Risposta rapida

Apri un blocco di codice contrassegnato mermaid, scrivi flowchart e una direzione, poi elenca i collegamenti tra i nodi. TD disegna dall'alto in basso e LR da sinistra a destra. Un riquadro è [testo], una decisione è {testo} e --> è una freccia.

```mermaid
flowchart LR
    A[Write spec] --> B{Approved?}
    B -->|Yes| C[Build]
    B -->|No| A
```

·

Direzione

La prima riga indica il tipo di diagramma e la direzione. Funzionano sia flowchart sia il più vecchio graph.

  • TD o TB: dall'alto in basso
  • BT: dal basso in alto
  • LR: da sinistra a destra
  • RL: da destra a sinistra

Scegli LR per un processo breve che sta nella larghezza della pagina e TD per uno più lungo.

Forme dei nodi

Un nodo è un id, seguito facoltativamente dal suo testo tra parentesi. Le parentesi scelgono la forma:

flowchart LR
    a[Rectangle]
    b(Rounded)
    c([Stadium])
    d[[Subroutine]]
    e[(Database)]
    f((Circle))
    g{Decision}
    h{{Hexagon}}
    i[/Parallelogram/]

Un nodo senza parentesi mostra solo il suo id. Puoi richiamare un nodo più avanti con il solo id, così forma e testo si scrivono una volta sola.

Sottografi

Un sottografo raggruppa dei nodi in un riquadro con etichetta. Inizia con subgraph e termina con end:

flowchart TD
    subgraph client [Client]
        A[Browser] --> B[App]
    end
    subgraph server [Server]
        C[API] --> D[(Database)]
    end
    B --> C

La parola tra parentesi è il titolo, e la parola che la precede è l'id a cui puoi collegarti. Un sottografo può avere al suo interno una riga direction LR propria, anche se la direzione viene ignorata se un nodo interno si collega a qualcosa all'esterno.

Un esempio completo

Mettendo tutto insieme, ecco un piccolo processo di rilascio con una decisione, un ritorno indietro e un passaggio raggruppato:

flowchart TD
    A([Start]) --> B[Write the change]
    B --> C{Tests pass?}
    C -->|No| B
    C -->|Yes| D[Open a pull request]
    subgraph review [Review]
        D --> E{Approved?}
        E -->|No| B
    end
    E -->|Yes| F[(Merge)]

Leggilo dall'alto: la forma a stadio segna l'inizio, i rombi sono domande, le frecce con etichetta sono le risposte e il riquadro attorno a due nodi è la revisione. Dare a ogni decisione il nome di una domanda e a ogni freccia quello della sua risposta rende un diagramma di flusso leggibile senza spiegazioni.

Commenti e stili

Una riga che inizia con %% è un commento e non viene disegnata. Per colorare i nodi, definisci una classe e applicala:

flowchart TD
    %% the happy path
    A[Start]:::good --> B[Done]:::good
    classDef good fill:#d4f4dd,stroke:#2d7a46

Mantieni lo stile sobrio. La maggior parte dei diagrammi di flusso si legge meglio con meno colori, e gli stili possono apparire diversi nei temi chiaro e scuro.

Errori comuni

  • La parola end in minuscolo come testo di un nodo rompe il diagramma. Scrivi End oppure metti il testo tra virgolette.
  • Un id di nodo che inizia con o o x subito dopo un collegamento, come A---oB, viene letto come un collegamento a cerchio o a croce. Aggiungi uno spazio o usa la maiuscola.
  • Caratteri speciali in un'etichetta. Parentesi e due punti richiedono le virgolette doppie: A["Salva (bozza)"].
  • Nessuna prima riga. Senza flowchart TD non viene disegnato nulla.
  • Troppi nodi. Un diagramma di flusso con trenta riquadri è difficile da leggere. Dividilo, o usa i sottografi.

Quando un diagramma fallisce, Mermaid mostra un messaggio di errore e il testo resta nel tuo file da correggere.

Disegnarlo

GitHub disegna i blocchi Mermaid nei file Markdown, e lo fa anche DotMD: offline, nel tema chiaro o scuro in base alla pagina. Nell'editor, Insert → Diagram inserisce nel documento un diagramma di flusso funzionante e l'anteprima si ridisegna mentre scrivi. La stessa guida copre i diagrammi di sequenza, di classe, di stato, ER e di Gantt. Per la sintassi dei recinti, vedi i blocchi di codice in Markdown.

Domande sui diagrammi di flusso Mermaid

Come scrivo un diagramma di flusso in Mermaid?

Apri un blocco di codice mermaid con flowchart TD (oppure LR), poi aggiungi collegamenti come A[Inizio] --> B[Fine], uno per riga.

Che differenza c'è tra TD e LR in un diagramma di flusso Mermaid?

TD (top down, come TB) disegna il diagramma dall'alto in basso, e LR lo disegna da sinistra a destra.

Come aggiungo del testo a una freccia in Mermaid?

Mettilo tra due barre verticali dopo la freccia, A -->|Sì| B, oppure tra i trattini, A -- Sì --> B.

Perché il mio diagramma di flusso Mermaid mostra un errore?

Le cause più comuni sono un end minuscolo in un'etichetta, la prima riga mancante o caratteri speciali in un'etichetta senza virgolette doppie.

Altre domande