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| A
Kolme sõlmega vookaart, ülevalt alla.

A, 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üntaksKujuTavaline tähendus
A[Text]RistkülikSamm või tegevus
A(Text)ÜmardatudAlgus- või lõpp-punkt
A([Text])PillTerminaator
A[[Text]]AlamrutiinKutse teise protsessi
A[(Text)]SilinderAndmebaas või hoidla
A((Text))RingRistmik
A{Text}RombOtsustuspunkt
A{{Text}}KuusnurkEttevalmistussamm
A[/Text/]RööpkülikSisend või väljund
A[/Text\]TrapetsKä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üntaksTulemus
A --> BNool
A --- BJoon, ilma nooleotsata
A -.-> BPunktiirnool
A ==> BPaks nool
A -->|label| BNool koos sildiga
A --> B --> CAhel, 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 --> Q
Kaks teenust, kummalgi oma hoidla.

Vä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 bad

Vä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: response

Klassidiagramm

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

Olekudiagramm

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

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

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

Rohkem juhendeid

  1. Mermaid jadadiagrammid

    Osalised, noolte tüübid, aktiveerimisribad, tsüklid ja alt-plokid — kogu jadadiagrammi süntaks koos käivitatavate näidetega.

Ava redaktor. Tasuta — ilma registreerimiseta.

Tühi lõuend, koodisakk ja kõik ekspordivõimalused — tasuta, sinu brauseris, kohe praegu.