Mermaid-syntaksin pikaopas
Mermaidilla on laaja viitedokumentaatio ja pieni osajoukko, joka kattaa lähes kaiken mitä ihmiset piirtävät. Tämä sivu on se osajoukko: muodot, nuolet, ryhmittely, värit ja yksi kopioi-liitä-esimerkki jokaisesta kaaviotyypistä. Jokainen alla oleva pätkä piirtyy sellaisenaan — liitä se editoriin nähdäksesi sen.
Lyhin toimiva kaavio
Vuokaavio tarvitsee yhden määrittelyrivin ja yhden nuolen. TD tarkoittaa ylhäältä alas; käytä LR-suuntaa vasemmalta oikealle, joka sopii paremmin leveille prosesseille.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B ja C ovat solmujen tunnisteita – sisäisiä nimiä, joita ei koskaan piirretä. Hakasulkeissa oleva teksti on selite, ja hakasulkeiden tyyli määrää muodon.
Solmujen muodot
Muoto valitaan selitteen ympärillä olevan erotinparin perusteella. Nämä kannattaa muistaa:
| Syntaksi | Muoto | Tavallinen merkitys |
|---|---|---|
A[Text] | Suorakulmio | Vaihe tai toimenpide |
A(Text) | Pyöristetty | Aloitus- tai lopetuspiste |
A([Text]) | Pilleri | Päätepiste |
A[[Text]] | Aliohjelma | Kutsu toiseen prosessiin |
A[(Text)] | Sylinteri | Tietokanta tai varasto |
A((Text)) | Ympyrä | Liittymäkohta |
A{Text} | Vinoneliö | Päätös |
A{{Text}} | Kuusikulmio | Valmisteluvaihe |
A[/Text/] | Suunnikas | Syöte tai tuloste |
A[/Text\] | Puolisuunnikas | Manuaalinen toimenpide |
Laita selite lainausmerkkeihin, kun se sisältää sulkeita, kaksoispisteitä tai lainausmerkkejä: A["Load (raw) data"]. Ilman lainausmerkkejä jäsentäjä tulkitsee välimerkkisi syntaksiksi.
Nuolet
| Syntaksi | Tulos |
|---|---|
A --> B | Nuoli |
A --- B | Viiva, ei nuolenpäätä |
A -.-> B | Katkoviivanuoli |
A ==> B | Paksu nuoli |
A -->|label| B | Nuoli, jossa on selite |
A --> B --> C | Ketju yhdellä rivillä |
A --> B & C | Yksi lähde, kaksi kohdetta |
Nuolen pituudella on myös merkitys: --> on yksi taso, ---> työntää kohteen yhden tason alemmas. Se on yksinkertaisin asettelun hallintakeino, jonka mermaid tarjoaa.
Ryhmittely alikaavioilla
subgraph piirtää nimetyn laatikon solmujen ympärille. Alikaaviot voivat sisäkkäistyä, ja nuolet voivat ylittää niiden rajat vapaasti.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QVäri ja tyylittely
style värittää yhden solmun. classDef yhdessä class-määrityksen kanssa värittää joukon niitä, mikä kannattaa kolmen tai neljän solmun jälkeen.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badVärit ovat osa kaavion lähdekoodia, joten ne säilyvät viennissä ja kulkevat tiedoston mukana. Mikään täällä ei riipu piirtävän työkalun teema-asetuksesta.
Yksi esimerkki jokaisesta kaaviotyypistä
Sekvenssikaavio
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseLuokkakaavio
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogTilakaavio
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishEntiteettisuhdekaavio
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Gantt-kaavio
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dMissä mermaid piirtyy itsestään
- GitHub — aidattu ```mermaid-lohko piirtyy issueissa, pull requesteissa, kommenteissa ja README-tiedostoissa.
- GitLab — sama aidattu lohko, issueissa, merge requesteissa ja wikissä.
- Notion — koodilohko, jonka kieleksi on asetettu Mermaid, piirtyy lähdekoodin viereen.
- Obsidian — aidattu mermaid-lohko piirtyy esikatselutilassa.
- Dokumentaatiosivustot — Docusaurus, MkDocs Material ja VitePress tukevat kaikki mermaid-lohkoja.
Se on todellinen syy pitää kaaviot mermaidina eikä kuvina: kaavio elää samassa tekstitiedostossa kuin asia, jota se kuvaa, ja koodikatselmuksessa näkee mitä siinä muuttui.
Kokeile mitä tahansa tämän sivun esimerkkiä
Liitä se koodivälilehteen ja se piirtyy heti – tai rakenna sama kaavio kanvakselle ja lue syntaksi takaisin.
Usein kysyttyä
Miten lisään rivinvaihdon solmun selitteen sisään?
Käytä <br>-merkintää lainausmerkeissä olevan selitteen sisällä: A["First line<br>Second line"]. Mermaid piirtää selitteen HTML:nä, joten tagi toimii, vaikka loppu syntaksista ei ole HTML:ää.
Miksi seliteeni rikkoo kaavion?
Lähes aina syynä on lainaamaton hakasulje, sulje, kaksoispiste tai lainausmerkki selitteen sisällä. Kääri koko selite kaksinkertaisiin lainausmerkkeihin, niin jäsentäjä lakkaa tulkitsemasta välimerkkejäsi syntaksiksi.
Voinko hallita asettelua?
Vain epäsuorasti. Valitse suunta (TD, LR, BT, RL), käytä pidempiä nuolia (--->) työntääksesi solmuja kauemmas toisistaan, ja ryhmittele toisiinsa liittyvät solmut alikaavioiksi. Mermaid laskee lopun – koordinaatteja ei ole.
Mitä mermaid-versiota tämä editori käyttää?
Mermaid 11:tä, nykyistä pääversiota, joten kaikki v10- ja v11-syntaksille dokumentoitu piirtyy täällä.