Lewati ke konten utama

Contekan diagram alur Mermaid

Diagram alur menghubungkan tindakan dan keputusan menjadi proses. Gunakan subgraf lajur untuk mengelompokkan tanggung jawab atau diagram urutan jika urutan pesan antarsistem menjadi fokus utama.

Buat dengan Editor diagram alur Mermaid →

Mulai cepat

Gunakan ID stabil dan apit label tampilan dengan tanda kutip. Bentuk menyampaikan arti; garis menghubungkan ID.

Mermaid
flowchart LR
  D["Susun panduan"] --> R{"Disetujui?"}
  R -->|Ya| P["Terbitkan panduan"]
  R -->|Tidak| D

Memuat…

Referensi sintaks

Referensi sintaks
SintaksArti
flowchart / graph / LR / RL / TB / TD / BTDeklarasikan diagram dan pilih arah. TD dan TB sama-sama berarti atas ke bawah.
A[Text] / A(Text) / A([Text]) / A[[Text]] / A[(Text)]Notasi lama untuk persegi panjang, persegi panjang membulat, stadion, subrutin, dan silinder.
A((Text)) / A{Text} / A{{Text}} / A>Text] / A(((Text)))Notasi lama untuk lingkaran, belah ketupat, segi enam, bentuk asimetris, dan lingkaran ganda.
A[/Text/] / A[\Text\] / A[/Text\] / A[\Text/]Notasi lama untuk jajar genjang dan trapesium dalam kedua orientasi.
A@{ shape: rect, label: "Text" }Notasi bentuk baru: pilih nama kanonis atau alias dari katalog di bawah.
--> / --- / -.-> / -.- / ==> / === / ~~~Panah, tautan biasa, panah/tautan putus-putus, panah/tautan tebal, dan tautan tata letak tak terlihat.
<--> / o--o / x--x / --o / --xPanah dua arah serta ujung lingkaran dan silang.
A -->|Label| B / A -- Label --> B / A ----> BTambahkan teks garis atau tanda hubung tambahan untuk rentang tingkat minimum lebih panjang; panjang piksel tidak tetap.
subgraph id [Label] / direction TB / endKelompokkan simpul; tautan eksternal ke simpul internal dapat mengesampingkan arah subgraf.
classDef / class A,B name / A:::nameDefinisikan dan terapkan gaya visual yang dapat digunakan ulang.
style A / linkStyle 0 / e1@--> / class e1 nameBeri gaya simpul, indeks garis berbasis nol, atau garis bernama. Gaya garis bernama juga dapat mengatur animasi.
click A href "URL" / click A callback "Tooltip"Tautan dan callback interaktif bergantung pada keamanan host; pratinjau strict menonaktifkannya.
A["`**Bold** and *italic*`"]String Markdown mendukung penekanan dan pembungkusan otomatis.
A@{ icon: "fa:user", form: "square", pos: "t", h: 60 }Simpul ikon memerlukan paket ikon terdaftar pada host. Bentuk persegi, lingkaran, dan membulat didukung.
A@{ img: "/favicon.svg", label: "Text", w: 60, h: 60, constraint: "on" }Simpul gambar menerima URL, label, dimensi, dan batas rasio aspek; gambar harus dapat diakses.
config.layout: elk / config.flowchart.defaultRenderer: elkELK adalah perender tata letak opsional yang harus dipasang dan didaftarkan oleh host.
%% / accTitle: / accDescr:Komentar dan deskripsi diagram aksesibel.
@{ shape: rect } / proc / process / rectangleProses
@{ shape: rounded } / eventPeristiwa
@{ shape: stadium } / terminal / pillTitik terminal
@{ shape: fr-rect } / subprocess / subproc / framed-rectangle / subroutineSubproses
@{ shape: cyl } / db / database / cylinderBasis data
@{ shape: datastore } / data-storePenyimpanan data
@{ shape: circle } / circMulai
@{ shape: bang } / bangLedakan
@{ shape: cloud } / cloudAwan
@{ shape: diam } / decision / diamond / questionKeputusan
@{ shape: hex } / hexagon / preparePersiapan bersyarat
@{ shape: lean-r } / lean-right / in-outMasukan/keluaran data
@{ shape: lean-l } / lean-left / out-inMasukan/keluaran data
@{ shape: trap-b } / priority / trapezoid-bottom / trapezoidTindakan prioritas
@{ shape: trap-t } / manual / trapezoid-top / inv-trapezoidOperasi manual
@{ shape: dbl-circ } / double-circleBerhenti
@{ shape: text }Blok teks
@{ shape: notch-rect } / card / notched-rectangleKartu
@{ shape: lin-rect } / lined-rectangle / lined-process / lin-proc / shaded-processProses bergaris/berarsir
@{ shape: sm-circ } / start / small-circleMulai
@{ shape: fr-circ } / stop / framed-circleBerhenti
@{ shape: fork } / joinPercabangan/penggabungan
@{ shape: hourglass } / hourglass / collatePengurutan
@{ shape: brace } / comment / brace-lKomentar
@{ shape: brace-r }Komentar kanan
@{ shape: braces }Komentar dengan kurung kurawal di kedua sisi
@{ shape: bolt } / com-link / lightning-boltTautan komunikasi
@{ shape: doc } / doc / documentDokumen
@{ shape: delay } / half-rounded-rectanglePenundaan
@{ shape: h-cyl } / das / horizontal-cylinderPenyimpanan akses langsung
@{ shape: lin-cyl } / disk / lined-cylinderPenyimpanan cakram
@{ shape: curv-trap } / curved-trapezoid / displayTampilan
@{ shape: div-rect } / div-proc / divided-rectangle / divided-processProses terbagi
@{ shape: tri } / extract / triangleEkstraksi
@{ shape: win-pane } / internal-storage / window-panePenyimpanan internal
@{ shape: f-circ } / junction / filled-circleSimpang
@{ shape: notch-pent } / loop-limit / notched-pentagonBatas loop
@{ shape: flip-tri } / manual-file / flipped-triangleFile manual
@{ shape: sl-rect } / manual-input / sloped-rectangleMasukan manual
@{ shape: docs } / documents / st-doc / stacked-documentBeberapa dokumen
@{ shape: st-rect } / procs / processes / stacked-rectangleBeberapa proses
@{ shape: bow-rect } / stored-data / bow-tie-rectangleData tersimpan
@{ shape: cross-circ } / summary / crossed-circleRingkasan
@{ shape: tag-doc } / tag-doc / tagged-documentDokumen bertanda
@{ shape: tag-rect } / tagged-rectangle / tag-proc / tagged-processProses bertanda
@{ shape: flag } / paper-tapePita kertas
@{ shape: odd }Asimetris
@{ shape: lin-doc } / lined-documentDokumen bergaris

Bentuk baru dan label dalam tanda kutip

Katalog mencakup seluruh bentuk diagram alur standar dan alias dalam perender 11.15 yang terpasang. Gunakan @{ shape: ... } untuk bentuk baru; notasi kurung lama tetap valid. Apit label yang memuat tanda baca dengan tanda kutip.

Mermaid
flowchart TB
  A@{ shape: sl-rect, label: "Masukkan judul" }
  B@{ shape: doc, label: "Susun dokumen" }
  C@{ shape: diam, label: "Lengkap?" }
  D@{ shape: cyl, label: "Arsipkan" }
  A --> B --> C
  C -->|Ya| D
  C -->|Tidak| A

Memuat…

Pengelompokan dengan arah lokal

Arah dalam subgraf hanya berlaku jika tata letak global dapat mengikutinya. Jika simpul terhubung keluar, Mermaid dapat memakai arah induk. Hubungkan subgraf langsung jika arah lokal penting.

Mermaid
flowchart LR
  subgraph prep ["Persiapan"]
    direction TB
    A["Kerangka"] --> B["Draf"]
  end
  subgraph review ["Peninjauan"]
    direction TB
    C["Periksa"] --> D["Setujui"]
  end
  prep --> review

Memuat…

Kelas, ID garis, dan label Markdown

classDef membuat gaya berulang. Terapkan dengan class atau :::; style langsung menargetkan satu simpul. linkStyle memakai urutan deklarasi mulai nol, sedangkan garis bernama dapat menerima kelas. Label Markdown memberi penekanan tanpa label HTML.

Mermaid
flowchart LR
  A["`Draf **panduan**`"]:::focus e1@--> B["Peninjauan"]
  B --> C["Terbitkan"]
  classDef focus fill:#d3e5ff,stroke:#0070f3,color:#171717
  class B focus
  style C stroke-width:2px
  linkStyle 1 stroke:#0070f3,stroke-width:2px
  classDef edge stroke:#0070f3
  class e1 edge

Memuat…

Jarak dan pemilihan perender

Jarak simpul dan tingkat mengatur tata letak bawaan. Graf besar dapat memakai ELK jika host menyediakan perender opsionalnya. Paket ikon juga perlu didaftarkan; bentuk biasa berfungsi tanpa kedua ekstensi.

Mermaid
---
config:
  flowchart:
    nodeSpacing: 35
    rankSpacing: 60
---
flowchart LR
  A["Tulis"] --> B["Peninjauan"] --> C["Terbitkan"]

Memuat…

Kesalahan umum

Membiarkan bentuk terbuka

Tutup tanda kurung simpul dan apit label dengan tanda kutip.

Sintaks tidak valid — contoh perbaikan di bawah

flowchart LR
  A[Draft

Menggunakan end sebagai ID simpul tanpa kutip

end menutup subgraf. Gunakan ID stabil lain lalu letakkan kata tampilan dalam label berkutip.

Mengharapkan aksi klik pada mode strict

Host mengatur keamanan. Situs ini sengaja menonaktifkan callback diagram; tautan editor terpisah tetap dapat digunakan.

Keterbatasan

  • Tata letak otomatis menentukan posisi; tautan panjang meminta rentang tingkat, bukan panjang piksel tetap.
  • Garis eksternal dapat mengesampingkan arah subgraf.
  • Ikon memerlukan paket terdaftar, gambar memerlukan aset yang dapat diakses, dan ELK memerlukan pendaftaran host.

Pertanyaan yang sering diajukan

Bagaimana cara memilih bentuk Mermaid baru?
Gunakan A@{ shape: name, label: "Text" } dengan nama bentuk atau alias dari katalog. Notasi kurung lama tetap berlaku.
Mengapa arah subgraf saya diabaikan?
Garis dari simpul internal ke luar dapat menyebabkan subgraf mengikuti arah induknya. Hubungkan subgraf langsung jika memungkinkan.
Bagaimana cara memberi gaya pada satu garis saja?
Gunakan linkStyle dengan indeks deklarasi berbasis nol, atau beri ID garis lalu terapkan kelas visual pada ID tersebut.