Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

Vývojový diagramSyntaxe

Základní definice

Vývojový diagram se skládá z uzlů (geometrických tvarů) a spojovacích čar (šipek nebo čar). Kód Mermaid definuje způsob vytváření uzlů a spojovacích čar a podporuje několik typů šipek, vícesměrné šipky a libovolné odkazy na podgraf.

Varování Pokud v uzlu vývojového diagramu použijete slovo "end", napište první písmeno nebo celé slovo velkými písmeny (například: "End" nebo "END"); zadání "end" celé malými písmeny způsobí chybu vývojového diagramu.

Varování Pokud při spojování uzlů vývojového diagramu použijete jako první písmeno "o" nebo "x", přidejte před písmeno mezeru nebo písmeno napište velkým (například: "dev--- ops", "dev---Ops").

Jeden uzel (výchozí)

Kód
                            
Kopírovat
Vložení
--- title: Node --- flowchart LR id
Informace

id je obsah zobrazený v rámečku.

Tip

Syntaxe pro vytvoření vývojového diagramu: kromě flowchart můžete použít také graph.

Uzel s textem

Rámečku lze také nastavit jiný text než id. Pokud tak učiníte vícekrát, systém použije text naposledy zadaný pro daný uzel. Dále platí, že pokud je pro uzel později definována spojovací čára, lze definici textu vynechat; při vykreslování rámečku se použije dříve definovaný text.

Kód
                            
Kopírovat
Vložení
--- title: Node with text --- flowchart LR id1[This is the text in the box]

Text Unicode

Text Unicode uzavřete do dvojitých uvozovek.

Kód
                            
Kopírovat
Vložení
flowchart LR id["This ❤ Unicode"]

Formát Markdown

Text Markdown uzavřete do dvojitých uvozovek a zpětných apostrofů

Kód
                            
Kopírovat
Vložení
flowchart LR markdown["`This **is** _Markdown_`"] newLines["`Line1 Line 2 Line 3`"] markdown --> newLines

Směr

Deklaruje směr vývojového diagramu

Označuje, že vývojový diagram je uspořádán shora dolů (TD nebo TB)

Kód
                            
Kopírovat
Vložení
flowchart TD Start --> Stop

Směry vývojového diagramu zahrnují:

  • TB - shora dolů
  • TD - shora dolů (stejné jako shora dolů)
  • BT - zdola nahoru
  • RL - zprava doleva
  • LR - zleva doprava

Tvar uzlu

Zaoblený obdélník

Kód
                            
Kopírovat
Vložení
flowchart LR id1(This is the text in the box)

Tvar stadionu

Kód
                            
Kopírovat
Vložení
flowchart LR id1([This is the text in the box])

Podgraf

Kód
                            
Kopírovat
Vložení
flowchart LR id1[[This is the text in the box]]

Databáze

Kód
                            
Kopírovat
Vložení
flowchart LR id1[(Database)]

Kruh

Kód
                            
Kopírovat
Vložení
flowchart LR id1((This is the text in the circle))

Asymetrický tvar

Kód
                            
Kopírovat
Vložení
flowchart LR id1>This is the text in the box]

Kosočtverec

Kód
                            
Kopírovat
Vložení
flowchart LR id1{This is the text in the box}

Šestiúhelník

Kód
                            
Kopírovat
Vložení
flowchart LR id1{{This is the text in the box}}

Rovnoběžník

Kód
                            
Kopírovat
Vložení
flowchart TD id1[/This is the text in the box/]

Obrácený rovnoběžník

Kód
                            
Kopírovat
Vložení
flowchart TD id1[\This is the text in the box\]

Lichoběžník

Kód
                            
Kopírovat
Vložení
flowchart TD A[/ProcessOn\]

Převrácený lichoběžník

Kód
                            
Kopírovat
Vložení
flowchart TD B[\ProcessOn/]

Dvojitý kruh

Kód
                            
Kopírovat
Vložení
flowchart TD id1(((This is the text in the circle)))

Rozšíření tvarů uzlů vývojového diagramu Mermaid

Mermaid představil 30 nových tvarů pro zvýšení flexibility a přesnosti vytváření vývojových diagramů. Tyto nové tvary nabízejí více možností pro vizuální reprezentaci procesů, rozhodnutí, událostí, datových úložišť a dalších prvků ve vývojovém diagramu, čímž zvyšují srozumitelnost a sémantický význam.

Nová syntaxe pro definici tvarů

Mermaid nyní podporuje obecnou syntaxi pro definici typů tvarů, aby vyhověl rostoucímu počtu tvarů. Tato syntaxe vám umožňuje zadat konkrétní tvar uzlu pomocí jasného a flexibilního formátu.

                            
Kopírovat
Vložení
A@{ shape: rect }

Tato syntaxe vytvoří uzel A jako obdélník. Vykresluje se stejně jako [A] nebo A.

Úplný seznam tvarů uzlů

Následuje úplný seznam nově zavedených tvarů uzlů a jejich odpovídajících významů, zkratek a aliasů:

Sémantický název Syntaxe grafu Krátký název syntaxe Alternativa syntaxe Podrobný popis
Karta Notched Rectangle notch-rect card, notched-rectangle Představuje kartu
Třídění Hourglass hourglass collate Představuje operaci třídění
Komunikační spoj Lightning Bolt bolt com-link, lightning-bolt Komunikační spoj
Komentář Curly Brace brace brace-l, comment Přidat komentář
Komentář vpravo Curly Brace brace-r Přidat komentář
Komentář se složenými závorkami na obou stranách Curly Braces braces Přidat komentář
Vstup nebo výstup dat Lean Right lean-r in-out, lean-right Představuje vstup nebo výstup
Vstup nebo výstup dat Lean Left lean-l lean-left, out-in Představuje výstup nebo vstup
Databáze Cylinder cyl cylinder, database, db Úložiště databáze
Rozhodnutí Diamond diam decision, diamond, question Krok rozhodnutí
Zpoždění Half-Rounded Rectangle delay half-rounded-rectangle Představuje zpoždění
Přímé přístupové úložiště Horizontal Cylinder h-cyl das, horizontal-cylinder Přímé přístupové úložiště
Diskové úložiště Lined Cylinder lin-cyl disk, lined-cylinder Diskové úložiště
Zobrazení Curved Trapezoid curv-trap curved-trapezoid, display Představuje zobrazení informací na obrazovce, terminálu a podobných zařízeních
Dělené zpracování Divided Rectangle div-rect div-proc, divided-process, divided-rectangle Tvar děleného zpracování
Dokument Document doc document Představuje dokument
Událost Rounded Rectangle rounded event Představuje událost
Extrakce Triangle tri extract, triangle Proces extrakce
Větev/sloučení Filled Rectangle fork join Větev nebo sloučení ve vývojovém diagramu
Interní úložiště Window Pane win-pane internal-storage, window-pane Interní úložiště
Spojovací bod Filled Circle f-circ filled-circle, junction Spojovací bod
Dokument s čarou Lined Document lin-doc lined-document Dokument s čarou
Proces s čarou/stínem Lined Rectangle lin-rect lin-proc, lined-process, lined-rectangle, shaded-process Tvar procesu s čarou
Omezení smyčky Trapezoidal Pentagon notch-pent loop-limit, notched-pentagon Krok omezení smyčky
Ruční soubor Flipped Triangle flip-tri flipped-triangle, manual-file Operace s ručním souborem
Ruční vstup Sloped Rectangle sl-rect manual-input, sloped-rectangle Krok ručního vstupu
Ruční operace Trapezoid Base Top trap-t inv-trapezoid, manual, trapezoid-top Představuje ruční úlohu
Vícenásobný dokument Stacked Document docs documents, st-doc, stacked-document 多个文档
Vícenásobný proces Stacked Rectangle st-rect processes, procs, stacked-rectangle 多个进程
Nepravidelný tvar Odd odd Nepravidelný tvar
Papírová páska Flag flag paper-tape Papírová páska
Příprava podmínky Hexagon hex hexagon, prepare Krok přípravy nebo podmínky
Prioritní akce Trapezoid Base Bottom trap-b priority, trapezoid, trapezoid-bottom Prioritní akce
Zpracování Rectangle rect proc, process, rectangle Standardní tvar zpracování
Start Circle circle circ Počáteční bod
Start Small Circle sm-circ small-circle, start Malý kruhový počáteční bod
Stop Double Circle dbl-circ double-circle Představuje bod zastavení
Stop Framed Circle fr-circ framed-circle, stop Představuje bod zastavení
Uložená data Bow Tie Rectangle bow-rect bow-tie-rectangle, stored-data Uložená data
Podgraf Framed Rectangle fr-rect framed-rectangle, subproc, subprocess, subroutine Podproces, podprogram
Souhrn Crossed Circle cross-circ crossed-circle, summary Souhrn
Označený dokument Tagged Document tag-doc tagged-document Označený dokument
Standardizovaný proces Tagged Rectangle tag-rect tag-proc, tagged-process, tagged-rectangle 已标准进程
Koncový bod Stadium stadium pill, terminal Koncový bod
Textový blok Text Block text Textový blok

Následuje příklad kódu vývojového diagramu využívajícího nově zavedené tvary:

Kód
                            
Kopírovat
Vložení
flowchart RL A@{ shape: manual-file, label: "File Handling"} B@{ shape: manual-input, label: "User Input"} C@{ shape: docs, label: "Multiple Documents"} D@{ shape: procs, label: "Process Automation"} E@{ shape: paper-tape, label: "Paper Records"}

Proces

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: rect, label: "This is a process" }

Událost

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: rounded, label: "This is an event" }

Podproces

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: subproc, label: "This is a subprocess" }

Databáze (válec)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: cyl, label: "Database" }

Start (kruh)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: circle, label: "Start" }

Nepravidelný tvar

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: odd, label: "Odd shape" }

Rozhodnutí (kosočtverec)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: diamond, label: "Decision" }

Příprava podmínky (šestiúhelník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: hex, label: "Prepare conditional" }

Vstup/výstup dat (sklon doprava)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: lean-r, label: "Input/Output" }

Vstup/výstup dat (sklon doleva)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: lean-l, label: "Input/Output" }

Prioritní akce (lichoběžník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: trap-b, label: "Priority action" }

Ruční operace (převrácený lichoběžník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: trap-t, label: "Manual operation" }

Stop (dvojitý kruh)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: dbl-circ, label: "Stop" }

Textový blok

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: text, label: "This is a text block" }

Karta (obdélník s výřezem)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: notch-rect, label: "Card" }

Proces s čarou/stínem

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: lin-rect, label: "Lined process" }

Start (malý kruh)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: sm-circ, label: "Small start" }

Stop (kruh s rámečkem)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: framed-circle, label: "Stop" }

Větev/sloučení (dlouhý obdélník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: fork, label: "Fork or Join" }

Třídění (přesýpací hodiny)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: hourglass, label: "Collate" }

Komentář (složené závorky)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: comment, label: "Comment" }

Komentář vpravo (pravá složená závorka)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: brace-r, label: "Comment" }

Komentář (závorky na obou stranách)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: braces, label: "Comment" }

Komunikační spoj (blesk)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: bolt, label: "Communication link" }

Dokument

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: doc, label: "Document" }

Zpoždění (poloviční zaoblený obdélník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: delay, label: "Delay" }

直接存取存储(水平圆柱)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: das, label: "Direct access to storage" }

Diskové úložiště (válec s drážkou)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: lin-cyl, label: "Disk storage" }

Zobrazení (tvar zobrazení)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: curv-trap, label: "Display" }

Dělené zpracování (dělený obdélník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: div-rect, label: "Divided process" }

Extrakce (malý trojúhelník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: tri, label: "Extract" }

Interní úložiště (panel okna)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: win-pane, label: "Internal storage" }

Spojovací bod (plný kruh)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: f-circ, label: "Connect" }

Dokument s čarou

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: lin-doc, label: "Lined document" }

Omezení smyčky (pětiúhelník s výřezem)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: notch-pent, label: "Loop limit" }

Ruční soubor (obrácený trojúhelník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: flip-tri, label: "Manual file" }

Ruční vstup (pravoúhlý lichoběžník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: sl-rect, label: "Manual input" }

Vícenásobný dokument (stohovaný dokument)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: docs, label: "Multi-document" }

Vícenásobný proces (stohovaný obdélník)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: processes, label: "Multiple processes" }

Papírová páska (vlajka)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: flag, label: "Paper tape" }

Uložená data (obdélník ve tvaru motýlka)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: bow-rect, label: "Data stored" }

Souhrn (kruh s křížkem)

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: cross-circ, label: "Summary" }

Označený dokument

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: tag-doc, label: "Tagged document" }

Označený proces

Kód
                            
Kopírovat
Vložení
flowchart TD A@{ shape: tag-rect, label: "Tagged process" }

Speciální tvary ve vývojovém diagramu Mermaid

Mermaid také zavedl obrázky pro vylepšení vašeho vývojového diagramu, což vám umožňuje přímo zahrnout obrázky do vývojového diagramu a poskytnout tak více vizuálního kontextu a srozumitelnosti.

Tvar obrázku

K vložení obrázku do vývojového diagramu můžete použít image. Syntaxe pro definici obrázku je následující:

                            
Kopírovat
Vložení
flowchart TD A@{ img: "https://www.processon.com/image.png", label: "Image Label", pos: "t", w: 60, h: 60, constraint: "off" }

Parametr

  • img:adresa URL obrázku, který se má zobrazit.
  • label:textový popisek spojený s obrázkem, může to být libovolný řetězec. Pokud není definován, nezobrazí se žádný popisek.
  • pos:poloha popisku. Pokud není definována, bude popisek ve výchozím nastavení na spodní straně obrázku.
  • w:šířka obrázku. Pokud není definována, použije se ve výchozím nastavení přirozená šířka obrázku.
  • h:výška obrázku. Pokud není definována, použije se ve výchozím nastavení přirozená výška obrázku.
  • constraint:určuje, zda obrázek omezuje velikost uzlu. Toto nastavení také zajišťuje, že obrázek zachová původní poměr stran a upraví výšku podle šířky. Pokud není definováno, je výchozí hodnota off.

Obrázky poskytují vašemu vývojovému diagramu další flexibilitu a vizuální přitažlivost, což z něj činí informativnější a atraktivnější.

Spojení mezi uzly

Uzly lze spojovat spojovacími čarami a šipkami. Existují různé typy odkazů a k odkazům lze také připojit textový řetězec.

Odkaz se šipkou

Kód
                            
Kopírovat
Vložení
flowchart LR A-->B

Otevřený odkaz

Kód
                            
Kopírovat
Vložení
flowchart LR A --- B

Odkaz s textem

Kód
                            
Kopírovat
Vložení
flowchart LR A-- This is the text! ---B

nebo

Kód
                            
Kopírovat
Vložení
flowchart LR A --- | This is the text| B

Odkaz se šipkou a textem

Kód
                            
Kopírovat
Vložení
flowchart LR A-->|text|B

nebo

Kód
                            
Kopírovat
Vložení
flowchart LR A-- text -->B

Přerušovaný odkaz

Kód
                            
Kopírovat
Vložení
flowchart LR A-.->B;

Přerušovaný odkaz s textem

Kód
                            
Kopírovat
Vložení
flowchart LR A-. text .->B;

Tlustý odkaz

Kód
                            
Kopírovat
Vložení
flowchart LR A ==> B

Tlustý odkaz s textem

Kód
                            
Kopírovat
Vložení
flowchart LR A == |text| ==> B

Neviditelný odkaz

Kód
                            
Kopírovat
Vložení
flowchart LR A ~~~ B

Řetězení odkazů

Kód
                            
Kopírovat
Vložení
flowchart LR A -- text --> B -- text2 --> C

Na jednom řádku lze také deklarovat více odkazů uzlů, jak je znázorněno níže:

Kód
                            
Kopírovat
Vložení
flowchart LR a --> b & c--> d

Závislosti můžete také popsat jako v následujícím kódu:

Kód
                            
Kopírovat
Vložení
flowchart LR a --> b & c--> d & e--> f

Pokud stejný graf popíšete základní syntaxí, bude potřeba 8 řádků. Je třeba připomenout, že nadměrné používání tohoto přístupu může ztížit čitelnost vývojového diagramu ve formátu Markdown.

Kód
                            
Kopírovat
Vložení
flowchart TB a --> b a --> c b --> d b --> e c --> d c --> e d --> f e --> f

Přidání ID spojovací čáře

Mermaid nyní podporuje přidání ID ke spojovací čáře, podobně jako připojení ID a metadat k uzlu. Tato funkce vytváří základ pro pokročilejší možnosti stylování, tříd a animací na spojovacích čarách.

Syntaxe:

Chcete-li spojovací čáře přidat ID, uveďte ID před syntaxí spojovací čáry, za nímž následuje znak @. Například:

Kód
                            
Kopírovat
Vložení
flowchart LR A e1@--> B

V tomto příkladu je e1 ID spojovací čáry spojující A a B. Toto ID můžete použít v následných definicích nebo příkazech stylu, stejně jako u uzlu.

Zapnutí animace

Po přidání ID ke spojovací čáře můžete animaci spojovací čáry zapnout definováním jejích vlastností:

Kód
                            
Kopírovat
Vložení
flowchart LR A e1@==> B e1@{ animate: true }

To říká Mermaid, že spojovací čára e1 je animovaná.

Výběr typu animace

V počáteční verzi jsou podporovány dvě rychlosti animace: fast a slow. Výběr konkrétního typu animace je snadný způsob, jak animaci povolit a zároveň nastavit její rychlost.

Kód
                            
Kopírovat
Vložení
flowchart LR A e1@--> B e1@{ animation: fast }

这相当于 e1@{ animate: true, animation: fast }。

Animace pomocí příkazu classDef

Animaci spojovací čáry můžete také přidat tak, že jí přiřadíte třídu a poté v příkazu classDef definujete vlastnosti animace. Například:

Kód
                            
Kopírovat
Vložení
flowchart LR A e1@--> B classDef animate stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; class e1 animate

V tomto kódu:

  • e1@--> 创建了一个 ID 为 e1 的连接线
  • classDef animate definuje třídu s názvem animate s vlastnostmi stylu a animace.
  • class e1 animate aplikuje třídu animate na spojovací čáru e1.

Poznámka k escapování čárky: při nastavování vlastnosti stroke-dasharray nezapomeňte čárku escapovat na ,, protože čárka se v definicích stylů Mermaid používá jako oddělovač.

Nový typ šipky

Podpora nových typů šipek

  • Spojovací čára s plným kruhem
  • Spojovací čára s křížkovou značkou

Spojovací čára s plným kruhem

Kód
                            
Kopírovat
Vložení
flowchart LR A --o B

Spojovací čára s křížkovou značkou

Kód
                            
Kopírovat
Vložení
flowchart LR A --x B

Vícesměrná šipka

Lze použít vícesměrné šipky, například:

Kód
                            
Kopírovat
Vložení
flowchart LR A o--o B B <--> C C x--x D

Délka spojovací čáry

Každý uzel ve vývojovém diagramu je podle uzlů, ke kterým je připojen, přiřazen k úrovni ve vykresleném grafu, tj. k vertikální nebo horizontální úrovni (v závislosti na směru vývojového diagramu). Ve výchozím nastavení může odkaz překlenout libovolný počet úrovní, ale přidáním dalších pomlček do definice spoje můžete požadovat, aby byl určitý spoj delší než ostatní.

V tomto příkladu byly do spoje z uzlu B do uzlu E přidány dvě další pomlčky, takže překlenuje o dvě úrovně více než běžný odkaz:

Kód
                            
Kopírovat
Vložení
flowchart TD A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B ---->|No| E[End]
Poznámka: spoj může být delší, než vyžaduje vykreslovací engine, aby vyhověl dalším požadavkům.

Pokud je popisek spoje napsán uprostřed spoje, musí být na pravé straně spoje přidány další pomlčky. Tento příklad je ekvivalentní předchozímu příkladu:

Kód
                            
Kopírovat
Vložení
flowchart TD A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B -- No ----> E[End]

U tečkovaných čar nebo tlustých odkazů je znakem, který se má přidat, rovnítko nebo tečka, jak je uvedeno v následující tabulce:

Délka 1 2 3
Běžný spoj --- ---- -----
Běžný spoj se šipkou --> ---> ---->
Tlustý spoj === ==== =====
Tlustý spoj se šipkou ==> ===> ====>
Tečkovaná čára -.- -..- -...-
Tečkovaná čára se šipkou -.- -..-> -...->

Speciální znaky

Text lze uzavřít do uvozovek, aby se vykreslily obtížnější znaky. Jak je uvedeno v následujícím příkladu:

Kód
                            
Kopírovat
Vložení
flowchart LR id1["This is the (text) in the box"]

Entitové kódování pro escapování znaků

Znaky lze escapovat pomocí syntaxe z příkladu.

Kód
                            
Kopírovat
Vložení
flowchart LR A["A double quote:#quot;"] --> B["A dec char:#9829;"]

Uvedená čísla jsou desítková, takže # lze zakódovat jako #35. Podporováno je také použití názvů znaků HTML.

Podgraf

                            
Kopírovat
Vložení
subgraph title graph definition end

Následuje příklad:

Kód
                            
Kopírovat
Vložení
flowchart TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end

Podgrafu můžete také nastavit id.

Kód
                            
Kopírovat
Vložení
flowchart TB c1-->a2 subgraph ide1 [one] a1-->a2 end

Vývojový diagram

Při použití typu grafu vývojového diagramu můžete stejně jako v následujícím vývojovém diagramu nastavit spojovací čáry směřující do podgrafu a z něj.

Kód
                            
Kopírovat
Vložení
flowchart TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end one --> two three --> two two --> c2

Směr podgrafu

Při použití typu vývojového diagramu můžete pomocí příkazu směru nastavit směr vykreslování podgrafu, jak je znázorněno níže:

Kód
                            
Kopírovat
Vložení
flowchart LR subgraph TOP direction TB subgraph B1 direction RL i1 -->f1 end subgraph B2 direction BT i2 -->f2 end end A --> TOP --> B B1 --> B2

Omezení

Pokud je některý uzel podgrafu propojen s vnějškem, směr podgrafu bude ignorován. V opačném případě podgraf zdědí směr nadřazeného grafu:

Kód
                            
Kopírovat
Vložení
flowchart LR subgraph subgraph1 direction TB top1[top] --> bottom1[bottom] end subgraph subgraph2 direction TB top2[top] --> bottom2[bottom] end %% ^ These subgraphs are identical, except for the links to them: %% Link *to* subgraph1: subgraph1 direction is maintained outside --> subgraph1 %% Link *within* subgraph2: %% subgraph2 inherits the direction of the top-level graph (LR) outside ---> top2

Řetězec Markdown

Řetězec Markdown vylepšuje vývojové diagramy a myšlenkové mapy tím, že poskytuje flexibilnější typ řetězce, podporuje možnosti formátování textu, jako je tučné písmo a kurzíva, a umožňuje automatické zalamování textu v popisku.

Kód
                            
Kopírovat
Vložení
flowchart LR subgraph "One" a("`The **cat** in the hat`") -- "edge label" --> b{{"`The **dog** in the hog`"}} end subgraph "`**Two**`" c("`The **cat** in the hat`") -- "`Bold **edge label**`" --> d("The dog in the hog") end
  • Chcete-li text zvýraznit tučně, použijte před a za textem dvě hvězdičky (**).
  • Kurzíva se vytvoří umístěním jedné hvězdičky (*) před a za text.
  • U tradičních řetězců musíte přidat značku <br>, aby se text v uzlu zalomil. Řetězec Markdown však automaticky zalomí text, když je příliš dlouhý, a nový řádek stačí spustit pouhým znakem pro nový řádek místo značky <br>.

Tato funkce se vztahuje na popisky uzlů, popisky spojovacích čar a popisky podgrafů

Automatické zalamování lze zakázat pomocí specifické syntaxe

Kód
                            
Kopírovat
Vložení
--- config: markdownAutoWrap: false --- graph LR

Komentář

Do vývojového diagramu můžete vkládat komentáře, které editor ignoruje. Komentář musí zabírat samostatný řádek a musí začínat dvěma znaky procenta (%%). Veškerý text od začátku komentáře do následujícího řádku je považován za komentář, včetně jakékoli syntaxe vývojového diagramu.

Kód
                            
Kopírovat
Vložení
flowchart LR %% this is a comment A -- text --> B{node} A -- text --> B -- text2 --> C

Styly a třídy

Styl odkazu

Styl odkazu lze nastavit. Můžete například chtít navrhnout odkaz, který se v procesu pohybuje zpět; protože odkazy na rozdíl od uzlů nemají ID, musí se styl, který má odkaz použít, určit jiným způsobem. Použijte pořadové číslo při definici odkazu nebo použijte výchozí hodnotu pro použití na všechny odkazy.

                            
Kopírovat
Vložení
linkStyle 3 stroke:#ff3,stroke-width:4px,color:red;

Styl lze přidat více odkazům tak, že v jednom příkazu oddělíte čísla odkazů čárkami:

                            
Kopírovat
Vložení
linkStyle 1,2,7 color:blue;

Nastavení stylu křivky spojovací čáry

Pokud výchozí metoda nevyhovuje vašim potřebám, můžete pro spojovací čáry mezi položkami nastavit styl křivky. Dostupné styly křivek zahrnují basis, bumpX, bumpY, cardinal, catmullRom, linear, monotoneX, monotoneY, natural, step, stepAfter a stepBefore.

V následujícím příkladu používá diagram zleva doprava styl křivky stepBefore.

                            
Kopírovat
Vložení
%%{ init: { 'flowchart': { 'curve': 'stepBefore' } } }%% graph LR

Nastavení stylu uzlu

Uzlům lze nastavit konkrétní styl, například tlustší ohraničení nebo jinou barvu pozadí.

Kód
                            
Kopírovat
Vložení
flowchart LR id1(Start)-->id2(Stop) style id1 fill:#f99,stroke:#33d,stroke-width:4px style id2 fill:#bfc,stroke:#f96,stroke-width:2px,color:#000,stroke-dasharray: 5 5

Třída

Pohodlnější než definovat styl pokaždé je definovat třídu stylu a připojit tuto třídu k uzlům, které potřebují odlišný vzhled.

Definice třídy je následující:

                            
Kopírovat
Vložení
classDef className fill:pink,stroke:#333,stroke-width:4px;

Kromě toho lze v jednom příkazu definovat styl pro více tříd:

                            
Kopírovat
Vložení
classDef firstClassName,secondClassName font-size:12pt;

Připojení třídy k uzlu je následující:

                            
Kopírovat
Vložení
class nodeId1 className;

V jednom příkazu lze také připojit třídu k seznamu uzlů:

                            
Kopírovat
Vložení
class nodeId1,nodeId2 className;

Přidání třídy lze provést pomocí operátoru :::, který připojí název třídy k uzlu, jak je znázorněno níže:

Kód
                            
Kopírovat
Vložení
flowchart LR A:::someclass --> B classDef someclass fill:#f96

Tento tvar lze použít při deklaraci více odkazů mezi uzly:

Kód
                            
Kopírovat
Vložení
flowchart LR A:::foo & B:::bar --> C:::foobar classDef foo stroke:#f00 classDef bar stroke:#0f0 classDef foobar stroke:#00f

  • V deklaraci grafu nyní příkazy nemusí končit středníkem. Po verzi 0.2.16 je zakončení příkazů grafu středníkem pouze volitelné. Proto je následující deklarace grafu stejně platná jako starší deklarace grafu.
  • Mezi vrcholy a odkazy je povolena jedna mezera. Mezi vrcholem a jeho textem a mezi odkazem a jeho textem by však neměly být žádné mezery. Starší deklarace grafu jsou stále platné, takže tato nová funkce je volitelná a jejím cílem je zlepšit čitelnost.

Následuje nová deklarace spojovací čáry, která je stejně platná jako starší deklarace spojovací čáry.

Kód
                            
Kopírovat
Vložení
flowchart LR A[Hard edge] -->|Link text| B(Round edge) B --> C{Decision} C -->|One| D[Result one] C -->|Two| E[Result two]