Ť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| A
Trojuzlový flowchart, zhora nadol.

A, 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ť:

SyntaxTvarZvyčajný význam
A[Text]ObdĺžnikKrok alebo akcia
A(Text)ZaoblenýZačiatočný alebo koncový bod
A([Text])PilulkaTerminátor
A[[Text]]PodprogramVolanie do iného procesu
A[(Text)]ValecDatabáza alebo úložisko
A((Text))KruhKrižovatka
A{Text}KosoštvorecRozhodnutie
A{{Text}}ŠesťuholníkPrípravný krok
A[/Text/]RovnobežníkVstup alebo výstup
A[/Text\]LichobežníkManuá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

SyntaxVýsledok
A --> BŠípka
A --- BČiara, bez hrotu
A -.-> BBodkovaná šípka
A ==> BHrubá šípka
A -->|label| BŠípka s popiskom
A --> B --> CReťaz, zapísaná na jednom riadku
A --> B & CJeden 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 --> Q
Dve služby, každá s vlastným úložiskom.

Farba 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 bad

Farby 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: response

Class diagram

classDiagram
  class Animal {
    +String name
    +move()
  }
  class Dog {
    +bark()
  }
  Animal <|-- Dog

State diagram

stateDiagram-v2
  [*] --> Idle
  Idle --> Running: start
  Running --> Idle: stop
  Running --> [*]: finish

Entity 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, 5d

Kde 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.

Ďalšie návody

  1. Export mermaid do PNG alebo SVG

    Štyri spôsoby, ako dostať diagram mermaid von — PNG, SVG, zdroj .mmd a Markdown blok — a kedy je ktorý z nich správna odpoveď.

  2. Sekvenčné diagramy mermaid

    Účastníci, typy šípok, aktivačné pruhy, cykly a alt bloky — celá syntax sekvenčného diagramu s funkčnými príkladmi.

Otvorte editor. Zadarmo — bez registrácie.

Prázdne plátno, kódová karta a všetky možnosti exportu — zadarmo, priamo v prehliadači, hneď teraz.