Mermaid süntaksi spikker
Mermaidil on suur juhend ja väike alamhulk, mis katab peaaegu kõike, mida inimesed joonistavad. See leht ongi see alamhulk: kujud, nooled, rühmitamine, värvid ja üks kopeeri-kleebi näide iga diagrammitüübi kohta. Iga allolev näide renderdub täpselt sellisena, nagu on — kleebi see redaktorisse, et näha.
Lühim diagramm, mis töötab
Vookaart vajab üht deklaratsioonirida ja üht noolt. TD tähendab ülevalt alla; laiemate protsesside jaoks, mis sobivad paremini vasakult paremale, kasuta LR.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA, B ja C on sõlme id-d — sisemised nimed, mida kunagi ei kuvata. Nurksulgudes olev tekst on silt ja sulu stiil valib kuju.
Sõlmede kujud
Kuju valitakse sildi ümber oleva eraldajapaari järgi. Need tasub meeles pidada:
| Süntaks | Kuju | Tavaline tähendus |
|---|---|---|
A[Text] | Ristkülik | Samm või tegevus |
A(Text) | Ümardatud | Algus- või lõpp-punkt |
A([Text]) | Pill | Terminaator |
A[[Text]] | Alamrutiin | Kutse teise protsessi |
A[(Text)] | Silinder | Andmebaas või hoidla |
A((Text)) | Ring | Ristmik |
A{Text} | Romb | Otsustuspunkt |
A{{Text}} | Kuusnurk | Ettevalmistussamm |
A[/Text/] | Rööpkülik | Sisend või väljund |
A[/Text\] | Trapets | Käsitsi tehtav toiming |
Pane silt jutumärkidesse, kui see sisaldab sulge, koolonit või jutumärke: A["Load (raw) data"]. Ilma jutumärkideta tõlgendab parser su kirjavahemärgid süntaksina.
Nooled
| Süntaks | Tulemus |
|---|---|
A --> B | Nool |
A --- B | Joon, ilma nooleotsata |
A -.-> B | Punktiirnool |
A ==> B | Paks nool |
A -->|label| B | Nool koos sildiga |
A --> B --> C | Ahel, kirjutatud ühele reale |
A --> B & C | Üks allikas, kaks sihtmärki |
Ka noole pikkus on tähenduslik: --> on üks aste, ---> lükkab sihtmärgi ühe astme võrra allapoole. See on lihtsaim paigutuse juhtimise viis, mida mermaid pakub.
Rühmitamine alamgraafikutega
subgraph joonistab sildistatud kasti ümber sõlmede. Alamgraafikud pesastuvad ja nooled võivad nende piire vabalt ületada.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> QVärv ja stiil
style värvib ühe sõlme. classDef koos class-iga värvib terve komplekti, mida tasub teha alates kolmandast-neljandast sõlmest.
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ärvid on osa diagrammi lähtekoodist, seega säilivad need ekspordil ja liiguvad failiga kaasas. Miski siin ei sõltu renderdava tööriista teemaseadest.
Üks näide iga diagrammitüübi kohta
Jadadiagramm
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseKlassidiagramm
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- DogOlekudiagramm
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishOlemi-seose diagramm
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}Gantti diagramm
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dKus mermaid renderdub iseenesest
- GitHub — sildistatud ```mermaid plokk renderdub probleemides, pull request'ides, kommentaarides ja README-failides.
- GitLab — sama sildistatud plokk, probleemides, merge request'ides ja wikis.
- Notion — koodiplokk, mille keeleks on määratud Mermaid, renderdub lähtekoodi kõrval.
- Obsidian — sildistatud mermaid plokk renderdub eelvaaterežiimis.
- Dokusaidid — Docusaurus, MkDocs Material ja VitePress toetavad kõik mermaid plokke.
See ongi tegelik põhjus, miks hoida diagramme mermaidina, mitte piltidena: diagramm elab samas tekstifailis nagu asi, mida ta kirjeldab, ja koodiülevaatus näeb, mis selles muutus.
Proovi mõnda selle lehe näidet
Kleebi see koodisakile ja see renderdub kohe — või ehita sama diagramm lõuendile ja loe süntaks sealt tagasi.
Sageli küsitud
Kuidas lisada sõlme sildi sisse reavahetus?
Kasuta <br> jutumärkides sildi sees: A["First line<br>Second line"]. Mermaid renderdab sildi HTML-ina, nii et silt töötab, kuigi ülejäänud süntaks pole HTML.
Miks mu silt diagrammi katki teeb?
Peaaegu alati on põhjuseks jutumärkideta sulg, ümarsulg, koolon või jutumärk sildi sees. Pane terve silt topeltjutumärkidesse ja parser lõpetab su kirjavahemärkide süntaksina käsitlemise.
Kas saan paigutust juhtida?
Ainult kaudselt. Vali suund (TD, LR, BT, RL), kasuta pikemaid nooli (--->), et lükata sõlmed kaugemale, ja rühmita seotud sõlmed alamgraafikutesse. Ülejäänu arvutab mermaid — koordinaate pole.
Millist mermaid versiooni see redaktor kasutab?
Mermaid 11, praegune põhiversioon, nii et kõik, mis on dokumenteeritud v10 ja v11 süntaksi jaoks, renderdub siin.