Jak napsat vývojový diagram Mermaid:směr, uzly a šipky.
Vývojový diagram Mermaid je text v bloku kódu: pojmenujete uzly, spojíte je šipkami a diagram se nakreslí sám. Tady je syntaxe s příklady ke zkopírování.
macOS 14 nebo novější. Čtení je zdarma; úpravy a revize se platí jednou.
Rychlá odpověď
Začněte blok kódu označený mermaid, napište flowchart a směr, pak vypište spoje mezi uzly. TD kreslí shora dolů a LR zleva doprava. Obdélník je [text], rozhodnutí je {text} a --> je šipka.
```mermaid
flowchart LR
A[Write spec] --> B{Approved?}
B -->|Yes| C[Build]
B -->|No| A
```
·
Směr
První řádek pojmenuje typ diagramu a směr. Funguje flowchart i starší graph.
TDneboTB: shora dolůBT: zdola nahoruLR: zleva dopravaRL: zprava doleva
LR zvolte pro krátký proces, který se vejde na šířku stránky, a TD pro delší.
Tvary uzlů
Uzel je identifikátor, za nímž může v závorkách následovat jeho text. Závorky určují tvar:
flowchart LR
a[Rectangle]
b(Rounded)
c([Stadium])
d[[Subroutine]]
e[(Database)]
f((Circle))
g{Decision}
h{{Hexagon}}
i[/Parallelogram/]
Uzel bez závorek zobrazí jen svůj identifikátor. Na uzel se lze později odkázat samotným identifikátorem, takže tvar a text se píšou jen jednou.
Spoje a popisky
Spoje propojují dva uzly. Tvar šipky ukazuje druh spojení:
flowchart LR
A --> B
B --- C
C -.-> D
D ==> E
E -->|label| F
F -- text --> G
-->šipka,---čára bez hrotu-.->tečkovaná šipka,==>tlustá-->|label|nebo-- label -->dá text na spojA --> B & Cspojí jeden uzel s více aA --> B --> Cřetězí spoje
Přidáním pomlček spoj prodloužíte, například ---->, když uzel potřebuje víc místa.
Podgrafy
Podgraf seskupí uzly do rámečku s popiskem. Začíná slovem subgraph a končí slovem end:
flowchart TD
subgraph client [Client]
A[Browser] --> B[App]
end
subgraph server [Server]
C[API] --> D[(Database)]
end
B --> C
Slovo v závorkách je název a slovo před ním je identifikátor, na který se lze odkázat. Podgraf může mít uvnitř vlastní řádek direction LR, ale směr se ignoruje, pokud uzel uvnitř vede ven.
Kompletní příklad
Vše dohromady: malý proces vydání s rozhodnutím, návratem zpět a seskupeným krokem:
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)]
Čtěte shora: tvar stadionu označuje začátek, kosočtverce jsou otázky, šipky s popisky jsou odpovědi a rámeček kolem dvou uzlů je revize. Když každé rozhodnutí pojmenujete jako otázku a každou šipku jako odpověď, vývojový diagram je srozumitelný bez vysvětlování.
Komentáře a styly
Řádek začínající %% je komentář a nekreslí se. Chcete-li uzly obarvit, definujte třídu a použijte ji:
flowchart TD
%% the happy path
A[Start]:::good --> B[Done]:::good
classDef good fill:#d4f4dd,stroke:#2d7a46
Se styly šetřete. Většina vývojových diagramů se čte lépe s méně barvami a styly mohou ve světlém a tmavém vzhledu vypadat jinak.
Časté chyby
- Slovo end malými písmeny jako text uzlu rozbije diagram. Napište
Endnebo text dejte do uvozovek. - Identifikátor uzlu začínající o nebo x hned za spojem, například
A---oB, se čte jako spoj s kolečkem nebo křížkem. Přidejte mezeru nebo ho napište velkým písmenem. - Speciální znaky v popisku. Hranaté a kulaté závorky a dvojtečky potřebují dvojité uvozovky:
A["Save (draft)"]. - Chybí první řádek. Bez
flowchart TDse nic nenakreslí. - Příliš mnoho uzlů. Vývojový diagram o třiceti obdélnících se špatně čte. Rozdělte ho nebo použijte podgrafy.
Když diagram selže, Mermaid ukáže chybovou zprávu a text zůstane ve vašem souboru k opravě.
Jak se kreslí
Bloky Mermaid v souborech Markdown kreslí GitHub a také DotMD: offline, ve světlém nebo tmavém vzhledu podle stránky. V editoru příkaz Insert → Diagram vloží do dokumentu funkční vývojový diagram a náhled se při psaní překresluje. Stejný návod pokrývá sekvenční, třídní, stavové, ER i Ganttovy diagramy. Samotnou syntaxi ohraničení najdete v článku bloky kódu v Markdownu.
Otázky k vývojovým diagramům Mermaid
Jak napsat vývojový diagram v Mermaidu?
Začněte blok kódu mermaid řádkem flowchart TD (nebo LR) a přidávejte spoje jako A[Start] --> B[End], každý na jeden řádek.
Jaký je rozdíl mezi TD a LR ve vývojovém diagramu Mermaid?
TD (shora dolů, totéž co TB) kreslí diagram shora dolů a LR zleva doprava.
Jak přidat text na šipku v Mermaidu?
Dejte ho mezi svislítka za šipku, A -->|Yes| B, nebo mezi pomlčky, A -- Yes --> B.
Proč můj vývojový diagram Mermaid hlásí chybu?
Častými příčinami jsou end malými písmeny v popisku, chybějící první řádek nebo speciální znaky v popisku bez dvojitých uvozovek.