Ťahák syntaxe mermaid
Mermaid má rozsiahlu referenciu a malú podmnožinu, ktorá pokryje takmer všetko, čo ľudia kreslia. Táto stránka je práve tá podmnožina: tvary, šípky, zoskupovanie, farby a jeden príklad na skopírovanie a vloženie pre každý typ diagramu. Každý úryvok nižšie sa vykreslí presne tak, ako je — vložte ho do editora a uvidíte.
Najkratší diagram, ktorý funguje
Flowchart potrebuje jeden deklaračný riadok a jednu šípku. TD znamená zhora nadol; pre široké procesy sa lepšie hodí LR, teda zľava doprava.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B a C sú id uzlov — interné názvy, ktoré sa nikdy nevykresľujú. Text v zátvorkách je popisok a štýl zátvoriek určuje tvar.
Tvary uzlov
Tvar sa vyberá podľa páru oddeľovačov okolo popisku. Toto sú tie, ktoré sa oplatí zapamätať:
| Syntax | Tvar | Zvyčajný význam |
|---|---|---|
A[Text] | Obdĺžnik | Krok alebo akcia |
A(Text) | Zaoblený | Začiatočný alebo koncový bod |
A([Text]) | Pilulka | Terminátor |
A[[Text]] | Podprogram | Volanie do iného procesu |
A[(Text)] | Valec | Databáza alebo úložisko |
A((Text)) | Kruh | Križovatka |
A{Text} | Kosoštvorec | Rozhodnutie |
A{{Text}} | Šesťuholník | Prípravný krok |
A[/Text/] | Rovnobežník | Vstup alebo výstup |
A[/Text\] | Lichobežník | Manuálna operácia |
Popisok dajte do úvodzoviek, ak obsahuje zátvorky, dvojbodky alebo úvodzovky: A["Load (raw) data"]. Bez úvodzoviek parser vidí vašu interpunkciu ako syntax.
Šípky
| Syntax | Výsledok |
|---|---|
A --> B | Šípka |
A --- B | Čiara, bez hrotu |
A -.-> B | Bodkovaná šípka |
A ==> B | Hrubá šípka |
A -->|label| B | Šípka s popiskom |
A --> B --> C | Reťaz, zapísaná na jednom riadku |
A --> B & C | Jeden zdroj, dva ciele |
Dĺžka šípky má tiež význam: --> je jedna úroveň, ---> posunie cieľ o úroveň nižšie. Je to najjednoduchšia kontrola rozloženia, akú mermaid ponúka.
Zoskupovanie pomocou podgrafov
subgraph nakreslí označený rámček okolo uzlov. Podgrafy sa dajú vnárať a šípky môžu voľne prechádzať cez ich hranice.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QFarba a štýlovanie
style vyfarbí jeden uzol. classDef spolu s class vyfarbí celú skupinu, čo sa oplatí od troch či štyroch uzlov vyššie.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badFarby sú súčasťou zdroja diagramu, takže prežijú export a cestujú so súborom. Nič tu nezávisí od nastavenia témy v nástroji, ktorý ho vykresľuje.
Jeden príklad na každý typ diagramu
Sekvenčný diagram
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseClass diagram
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogState diagram
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishEntity relationship diagram
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Gantt chart
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dKde sa mermaid vykresľuje sám
- GitHub — ohradený ```mermaid blok sa vykreslí v issues, pull requestoch, komentároch a súboroch README.
- GitLab — rovnaký ohradený blok, v issues, merge requestoch a na wiki.
- Notion — blok kódu s jazykom nastaveným na Mermaid sa vykreslí vedľa zdroja.
- Obsidian — ohradený mermaid blok sa vykreslí v režime náhľadu.
- Dokumentačné stránky — Docusaurus, MkDocs Material aj VitePress podporujú mermaid bloky.
To je skutočný dôvod, prečo držať diagramy ako mermaid namiesto obrázkov: diagram žije v tom istom textovom súbore ako vec, ktorú popisuje, a code review vidí, čo sa v ňom zmenilo.
Vyskúšajte ktorýkoľvek úryvok z tejto stránky
Vložte ho do kódovej karty a vykreslí sa okamžite — alebo postavte ten istý diagram na plátne a syntax si prečítajte spätne.
Časté otázky
Ako pridám zalomenie riadku v popisku uzla?
Použite <br> v popisku v úvodzovkách: A["First line<br>Second line"]. Mermaid vykresľuje popisok ako HTML, takže tag funguje, aj keď zvyšok syntaxe HTML nie je.
Prečo mi popisok rozbíja diagram?
Takmer vždy ide o hranatú zátvorku, okrúhlu zátvorku, dvojbodku alebo úvodzovku bez úvodzoviek vnútri popisku. Obaľte celý popisok do dvojitých úvodzoviek a parser prestane vašu interpunkciu vnímať ako syntax.
Môžem ovládať rozloženie?
Len nepriamo. Vyberte smer (TD, LR, BT, RL), použite dlhšie šípky (--->) na posunutie uzlov ďalej od seba a zoskupte súvisiace uzly do podgrafov. Zvyšok si vypočíta mermaid — žiadne súradnice tu nie sú.
Ktorú verziu mermaid tento editor používa?
Mermaid 11, aktuálnu hlavnú verziu, takže sa tu vykreslí všetko zdokumentované pre syntax v10 aj v11.