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

תרשים זרימהתחביר

הגדרה בסיסית

תרשים זרימה מורכב מצמתים (צורות גאומטריות) וקווי חיבור (חצים או קווים). קוד Mermaid מגדיר כיצד לבנות צמתים וקווי חיבור, ותומך במגוון סוגי חצים, חצים רב-כיווניים וחיבורים חופשיים עם תתי-גרפים.

אזהרה אם אתה משתמש במילה "end" בתוך צומת של תרשים זרימה, כתוב את האות הראשונה או את כל המילה באותיות גדולות (למשל: "End" או "END"); הקלדה של "end" באותיות קטנות בלבד תגרום לשגיאה בתרשים הזרימה.

אזהרה אם אתה מחבר צמתים של תרשים זרימה ומשתמש באות "o" או "x" כאות ראשונה, הוסף רווח לפני האות או כתוב אותה באות גדולה (למשל: "dev--- ops", "dev---Ops").

צומת אחד (ברירת מחדל)

קוד
                            
העתק
הטמעה
--- title: Node --- flowchart LR id
מידע

id הוא התוכן המוצג בתיבה.

טיפ

תחביר יצירת תרשים זרימה: בנוסף לשימוש ב-flowchart, ניתן להשתמש גם ב-graph.

צומת עם טקסט

ניתן גם להגדיר עבור התיבה טקסט השונה מ-id. אם תבצע פעולה זו מספר פעמים, המערכת תאמץ את הטקסט האחרון שהוגדר לצומת. בנוסף, אם מאוחר יותר תוגדר לצומת קו חיבור, ניתן להשמיט את הגדרת הטקסט; בעת רינדור התיבה ישמש הטקסט שהוגדר קודם לכן.

קוד
                            
העתק
הטמעה
--- title: Node with text --- flowchart LR id1[This is the text in the box]

טקסט Unicode

עטוף טקסט Unicode בגרשיים כפולים.

קוד
                            
העתק
הטמעה
flowchart LR id["This ❤ Unicode"]

תחביר Markdown

עטוף טקסט Markdown בגרשיים כפולים ובגרש אחורי

קוד
                            
העתק
הטמעה
flowchart LR markdown["`This **is** _Markdown_`"] newLines["`Line1 Line 2 Line 3`"] markdown --> newLines

כיוון

מצהיר על כיוון תרשים הזרימה

מציין שתרשים הזרימה מסודר מלמעלה למטה (TD או TB)

קוד
                            
העתק
הטמעה
flowchart TD Start --> Stop

כיווני תרשים זרימה כוללים:

  • TB - מלמעלה למטה
  • TD - מלמעלה למטה (זהה למלמעלה למטה)
  • BT - מלמטה למעלה
  • RL - מימין לשמאל
  • LR - משמאל לימין

צורת צומת

מלבן מעוגל

קוד
                            
העתק
הטמעה
flowchart LR id1(This is the text in the box)

צורת אצטדיון

קוד
                            
העתק
הטמעה
flowchart LR id1([This is the text in the box])

תת-תהליך

קוד
                            
העתק
הטמעה
flowchart LR id1[[This is the text in the box]]

מסד נתונים

קוד
                            
העתק
הטמעה
flowchart LR id1[(Database)]

עיגול

קוד
                            
העתק
הטמעה
flowchart LR id1((This is the text in the circle))

צורה א-סימטרית

קוד
                            
העתק
הטמעה
flowchart LR id1>This is the text in the box]

מעוין

קוד
                            
העתק
הטמעה
flowchart LR id1{This is the text in the box}

משושה

קוד
                            
העתק
הטמעה
flowchart LR id1{{This is the text in the box}}

מקבילית

קוד
                            
העתק
הטמעה
flowchart TD id1[/This is the text in the box/]

מקבילית הפוכה

קוד
                            
העתק
הטמעה
flowchart TD id1[\This is the text in the box\]

טרפז

קוד
                            
העתק
הטמעה
flowchart TD A[/ProcessOn\]

טרפז הפוך

קוד
                            
העתק
הטמעה
flowchart TD B[\ProcessOn/]

עיגול כפול

קוד
                            
העתק
הטמעה
flowchart TD id1(((This is the text in the circle)))

הרחבת צורות צמתים בתרשים זרימה של Mermaid

Mermaid הציגה 30 צורות חדשות כדי לשפר את הגמישות והדיוק של יצירת תרשימי זרימה. צורות חדשות אלו מספקות אפשרויות נוספות לייצוג חזותי של תהליכים, החלטות, אירועים, אחסון נתונים ורכיבים אחרים בתרשים הזרימה, ובכך משפרות את הבהירות והמשמעות הסמנטית.

תחביר חדש להגדרת צורות

Mermaid תומכת כעת בתחביר כללי להגדרת סוגי צורות, כדי להתאים למספר ההולך וגדל של צורות. תחביר זה מאפשר לך לציין צורה מסוימת עבור צומת בפורמט ברור וגמיש.

                            
העתק
הטמעה
A@{ shape: rect }

תחביר זה יוצר את צומת A כמלבן. אופן הרינדור שלו זהה ל-[A] או ל-A.

רשימה מלאה של צורות צמתים

להלן רשימה מלאה של צורות הצמתים החדשות שהוצגו, יחד עם המשמעות, הקיצור והכינויים המתאימים להן:

שם סמנטי תחביר גרפי קיצור תחביר חלופת תחביר תיאור מפורט
כרטיס Notched Rectangle notch-rect card, notched-rectangle מייצג כרטיס
סידור Hourglass hourglass collate מייצג פעולת סידור
קישור תקשורת Lightning Bolt bolt com-link, lightning-bolt קישור תקשורת
הערה Curly Brace brace brace-l, comment הוספת הערה
הערה בצד ימין Curly Brace brace-r הוספת הערה
הערה עם סוגריים מסולסלים משני הצדדים Curly Braces braces הוספת הערה
קלט או פלט נתונים Lean Right lean-r in-out, lean-right מייצג קלט או פלט
קלט או פלט נתונים Lean Left lean-l lean-left, out-in מייצג פלט או קלט
מסד נתונים Cylinder cyl cylinder, database, db אחסון מסד נתונים
החלטה Diamond diam decision, diamond, question שלב החלטה
השהיה Half-Rounded Rectangle delay half-rounded-rectangle מייצג השהיה
אחסון בגישה ישירה Horizontal Cylinder h-cyl das, horizontal-cylinder אחסון בגישה ישירה
אחסון בדיסק Lined Cylinder lin-cyl disk, lined-cylinder אחסון בדיסק
תצוגה Curved Trapezoid curv-trap curved-trapezoid, display מייצג הצגת מידע על מסך, מסוף והתקנים אחרים
עיבוד מפוצל Divided Rectangle div-rect div-proc, divided-process, divided-rectangle צורת עיבוד מפוצל
מסמך Document doc document מייצג מסמך
אירוע Rounded Rectangle rounded event מייצג אירוע
חילוץ Triangle tri extract, triangle תהליך חילוץ
פיצול/מיזוג Filled Rectangle fork join פיצול או מיזוג בתרשים זרימה
אחסון פנימי Window Pane win-pane internal-storage, window-pane אחסון פנימי
נקודת חיבור Filled Circle f-circ filled-circle, junction נקודת חיבור
מסמך עם קו Lined Document lin-doc lined-document מסמך עם קו
תהליך קו/צל Lined Rectangle lin-rect lin-proc, lined-process, lined-rectangle, shaded-process צורת תהליך עם קו
הגבלת לולאה Trapezoidal Pentagon notch-pent loop-limit, notched-pentagon שלב הגבלת לולאה
קובץ ידני Flipped Triangle flip-tri flipped-triangle, manual-file פעולת קובץ ידנית
קלט ידני Sloped Rectangle sl-rect manual-input, sloped-rectangle שלב קלט ידני
פעולה ידנית Trapezoid Base Top trap-t inv-trapezoid, manual, trapezoid-top מייצג משימה ידנית
ריבוי מסמכים Stacked Document docs documents, st-doc, stacked-document 多个文档
ריבוי תהליכים Stacked Rectangle st-rect processes, procs, stacked-rectangle 多个进程
צורה לא סדירה Odd odd צורה לא סדירה
סרט נייר Flag flag paper-tape סרט נייר
תנאי הכנה Hexagon hex hexagon, prepare שלב הכנה או תנאי
פעולה בעדיפות Trapezoid Base Bottom trap-b priority, trapezoid, trapezoid-bottom פעולה בעדיפות
עיבוד Rectangle rect proc, process, rectangle צורת עיבוד סטנדרטית
התחלה Circle circle circ נקודת התחלה
התחלה Small Circle sm-circ small-circle, start נקודת התחלה בעיגול קטן
עצירה Double Circle dbl-circ double-circle מייצג נקודת עצירה
עצירה Framed Circle fr-circ framed-circle, stop מייצג נקודת עצירה
אחסון נתונים Bow Tie Rectangle bow-rect bow-tie-rectangle, stored-data אחסון נתונים
תת-תהליך Framed Rectangle fr-rect framed-rectangle, subproc, subprocess, subroutine תת-תהליך, תוכנית משנה
תקציר Crossed Circle cross-circ crossed-circle, summary תקציר
מסמך מתויג Tagged Document tag-doc tagged-document מסמך מתויג
תהליך מתוקנן Tagged Rectangle tag-rect tag-proc, tagged-process, tagged-rectangle 已标准进程
נקודת סיום Stadium stadium pill, terminal נקודת סיום
בלוק טקסט Text Block text בלוק טקסט

להלן דוגמת קוד של תרשים זרימה המשתמשת בצורות החדשות שהוצגו:

קוד
                            
העתק
הטמעה
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"}

תהליך

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: rect, label: "This is a process" }

אירוע

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: rounded, label: "This is an event" }

תת-תהליך

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: subproc, label: "This is a subprocess" }

מסד נתונים (גליל)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: cyl, label: "Database" }

התחלה (עיגול)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: circle, label: "Start" }

צורה לא סדירה

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: odd, label: "Odd shape" }

החלטה (מעוין)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: diamond, label: "Decision" }

תנאי הכנה (משושה)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: hex, label: "Prepare conditional" }

קלט/פלט נתונים (מוטה ימינה)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: lean-r, label: "Input/Output" }

קלט/פלט נתונים (מוטה שמאלה)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: lean-l, label: "Input/Output" }

פעולה בעדיפות (טרפז)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: trap-b, label: "Priority action" }

פעולה ידנית (טרפז הפוך)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: trap-t, label: "Manual operation" }

עצירה (עיגול כפול)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: dbl-circ, label: "Stop" }

בלוק טקסט

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: text, label: "This is a text block" }

כרטיס (מלבן עם חריץ)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: notch-rect, label: "Card" }

תהליך עם קו/צל

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: lin-rect, label: "Lined process" }

התחלה (עיגול קטן)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: sm-circ, label: "Small start" }

עצירה (עיגול עם מסגרת)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: framed-circle, label: "Stop" }

פיצול/מיזוג (מלבן ארוך)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: fork, label: "Fork or Join" }

סידור (שעון חול)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: hourglass, label: "Collate" }

הערה (סוגריים מסולסלים)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: comment, label: "Comment" }

הערה בצד ימין (סוגריים מסולסלים ימניים)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: brace-r, label: "Comment" }

הערה (עם סוגריים משני הצדדים)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: braces, label: "Comment" }

קישור תקשורת (ברק)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: bolt, label: "Communication link" }

מסמך

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: doc, label: "Document" }

השהיה (מלבן בעל פינות מעוגלות למחצה)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: delay, label: "Delay" }

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

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: das, label: "Direct access to storage" }

אחסון בדיסק (גליל עם חריץ)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: lin-cyl, label: "Disk storage" }

תצוגה (צורת תצוגה)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: curv-trap, label: "Display" }

עיבוד מפוצל (מלבן מפוצל)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: div-rect, label: "Divided process" }

חילוץ (משולש קטן)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: tri, label: "Extract" }

אחסון פנימי (פאנל חלון)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: win-pane, label: "Internal storage" }

נקודת חיבור (עיגול מלא)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: f-circ, label: "Connect" }

מסמך עם קו

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: lin-doc, label: "Lined document" }

הגבלת לולאה (מחומש עם חריץ)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: notch-pent, label: "Loop limit" }

קובץ ידני (משולש הפוך)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: flip-tri, label: "Manual file" }

קלט ידני (טרפז ישר-זווית)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: sl-rect, label: "Manual input" }

ריבוי מסמכים (מסמכים מוערמים)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: docs, label: "Multi-document" }

ריבוי תהליכים (מלבנים מוערמים)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: processes, label: "Multiple processes" }

סרט נייר (דגל)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: flag, label: "Paper tape" }

אחסון נתונים (מלבן צורת פפיון)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: bow-rect, label: "Data stored" }

תקציר (עיגול עם צלב)

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: cross-circ, label: "Summary" }

מסמך מתויג

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: tag-doc, label: "Tagged document" }

תהליך מסומן

קוד
                            
העתק
הטמעה
flowchart TD A@{ shape: tag-rect, label: "Tagged process" }

צורות מיוחדות בתרשים זרימה של Mermaid

Mermaid הציגה גם תמונות כדי לשפר את תרשים הזרימה שלך, ומאפשרת לך לכלול תמונות ישירות בתרשים הזרימה, ובכך לספק רקע חזותי ובהירות נוספים.

צורת תמונה

ניתן להשתמש ב-image כדי להוסיף תמונה לתרשים הזרימה; התחביר להגדרת תמונה הוא כדלקמן:

                            
העתק
הטמעה
flowchart TD A@{ img: "https://www.processon.com/image.png", label: "Image Label", pos: "t", w: 60, h: 60, constraint: "off" }

פרמטר

  • img: כתובת ה-URL של התמונה להצגה.
  • label: תווית טקסט המשויכת לתמונה, שיכולה להיות כל מחרוזת. אם לא הוגדרה, לא תוצג תווית.
  • pos: מיקום התווית. אם לא הוגדר, התווית תוצג כברירת מחדל בתחתית התמונה.
  • w: רוחב התמונה. אם לא הוגדר, ייעשה שימוש כברירת מחדל ברוחב הטבעי של התמונה.
  • h: גובה התמונה. אם לא הוגדר, ייעשה שימוש כברירת מחדל בגובה הטבעי של התמונה.
  • constraint: קובע אם התמונה מגבילה את גודל הצומת. הגדרה זו גם מבטיחה שהתמונה תשמור על יחס הגובה-רוחב המקורי שלה, ותתאים את הגובה בהתאם לרוחב. אם לא הוגדר, ברירת המחדל היא off.

תמונות מספקות לתרשים הזרימה שלך גמישות ואטרקטיביות חזותית נוספות, והופכות אותו לעשיר יותר במידע ולמושך יותר.

חיבורים בין צמתים

ניתן לחבר צמתים באמצעות קווי חיבור וחצים. קיימים סוגים שונים של קישורים, וניתן גם לצרף מחרוזות טקסט לקישורים.

קישור עם חץ

קוד
                            
העתק
הטמעה
flowchart LR A-->B

קישור פתוח

קוד
                            
העתק
הטמעה
flowchart LR A --- B

קישור עם טקסט

קוד
                            
העתק
הטמעה
flowchart LR A-- This is the text! ---B

או

קוד
                            
העתק
הטמעה
flowchart LR A --- | This is the text| B

קישור עם חץ וטקסט

קוד
                            
העתק
הטמעה
flowchart LR A-->|text|B

או

קוד
                            
העתק
הטמעה
flowchart LR A-- text -->B

קישור מקווקו

קוד
                            
העתק
הטמעה
flowchart LR A-.->B;

קישור מקווקו עם טקסט

קוד
                            
העתק
הטמעה
flowchart LR A-. text .->B;

קישור עבה

קוד
                            
העתק
הטמעה
flowchart LR A ==> B

קישור עבה עם טקסט

קוד
                            
העתק
הטמעה
flowchart LR A == |text| ==> B

קישור בלתי נראה

קוד
                            
העתק
הטמעה
flowchart LR A ~~~ B

שרשור קישורים

קוד
                            
העתק
הטמעה
flowchart LR A -- text --> B -- text2 --> C

ניתן גם להצהיר על מספר קישורי צמתים באותה שורה, כפי שמוצג להלן:

קוד
                            
העתק
הטמעה
flowchart LR a --> b & c--> d

ניתן גם לתאר תלות, כמו בקוד שלהלן:

קוד
                            
העתק
הטמעה
flowchart LR a --> b & c--> d & e--> f

אם מתארים את אותו גרף באמצעות התחביר הבסיסי, נדרשות 8 שורות. יש לזכור ששימוש יתר בשיטה זו עלול להקשות על קריאת תרשים זרימה בפורמט Markdown.

קוד
                            
העתק
הטמעה
flowchart TB a --> b a --> c b --> d b --> e c --> d c --> e d --> f e --> f

הוספת ID לקו חיבור

Mermaid תומכת כעת בהוספת ID לקווי חיבור, בדומה לצירוף ID ומטא-נתונים לצמתים. תכונה זו מניחה את הבסיס לאפשרויות עיצוב, מחלקות ואנימציה מתקדמות יותר על קווי חיבור.

תחביר:

כדי להוסיף ID לקו חיבור, יש להוסיף ID לפני תחביר קו החיבור, ומיד אחריו את התו @. לדוגמה:

קוד
                            
העתק
הטמעה
flowchart LR A e1@--> B

בדוגמה זו, e1 הוא ה-ID של קו החיבור המחבר בין A ל-B. ניתן להשתמש ב-ID זה בהגדרות או בהצהרות עיצוב עוקבות, ממש כמו בצומת.

הפעלת אנימציה

לאחר הוספת ID לקו חיבור, ניתן להפעיל אנימציה של קו החיבור על ידי הגדרת מאפיינים של קו החיבור:

קוד
                            
העתק
הטמעה
flowchart LR A e1@==> B e1@{ animate: true }

הדבר אומר ל-Mermaid שקו החיבור e1 הוא אנימציה.

בחירת סוג אנימציה

בגרסה הראשונית נתמכות שתי מהירויות אנימציה: fast ו-slow. בחירת סוג אנימציה מסוים היא דרך נוחה להפעיל אנימציה ולקבוע את מהירותה בבת אחת.

קוד
                            
העתק
הטמעה
flowchart LR A e1@--> B e1@{ animation: fast }

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

אנימציה באמצעות הצהרת classDef

ניתן גם להוסיף אנימציה לקו חיבור על ידי הקצאת מחלקה לקו החיבור, ואחר כך הגדרת מאפייני האנימציה בהצהרת classDef. לדוגמה:

קוד
                            
העתק
הטמעה
flowchart LR A e1@--> B classDef animate stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite; class e1 animate

בקוד זה:

  • e1@--> 创建了一个 ID 为 e1 的连接线
  • classDef animate מגדיר מחלקה בשם animate, בעלת מאפייני סגנון ואנימציה.
  • class e1 animate מחיל את מחלקת animate על קו החיבור e1.

הערה לגבי החלפת פסיקים: בעת הגדרת מאפיין stroke-dasharray, זכור להחליף את הפסיק ב-, מכיוון שפסיק משמש כמפריד בהגדרות הסגנון של Mermaid.

סוג חץ חדש

תמיכה בסוגי חצים חדשים

  • קו חיבור עם עיגול מלא
  • קו חיבור עם סימן הצלבה

קו חיבור עם עיגול מלא

קוד
                            
העתק
הטמעה
flowchart LR A --o B

קו חיבור עם סימן הצלבה

קוד
                            
העתק
הטמעה
flowchart LR A --x B

חץ רב-כיווני

ניתן להשתמש בחצים רב-כיווניים, לדוגמה:

קוד
                            
העתק
הטמעה
flowchart LR A o--o B B <--> C C x--x D

אורך קו חיבור

כל צומת בתרשים הזרימה מקבל, בהתאם לצמתים שאליהם הוא מחובר, דרגה בגרף המרונדר, כלומר רמה אנכית או אופקית (בהתאם לכיוון תרשים הזרימה). כברירת מחדל, קישור יכול לפרוס כל מספר של דרגות, אך ניתן לדרוש שקישור מסוים יהיה ארוך יותר מקישורים אחרים על ידי הוספת קווי מקף נוספים בהגדרת החיבור.

בדוגמה זו, בחיבור מהצומת B לצומת E נוספו שני קווי מקף נוספים, כך שהוא פורס שתי דרגות יותר מקישור רגיל:

קוד
                            
העתק
הטמעה
flowchart TD A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B ---->|No| E[End]
הערה: חיבור עשוי להיות ארוך יותר ממספר הדרגות שהתבקש ממנוע הרינדור, כדי להתאים לבקשות אחרות.

כאשר תווית החיבור נכתבת באמצע החיבור, יש להוסיף קווי מקף נוספים בצד ימין של החיבור. דוגמה זו שקולה לדוגמה הקודמת:

קוד
                            
העתק
הטמעה
flowchart TD A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B -- No ----> E[End]

עבור קווים מנוקדים או קישורים עבים, התווים שיש להוסיף הם סימני שוויון או נקודות, כפי שמוצג בטבלה שלהלן:

אורך 1 2 3
חיבור רגיל --- ---- -----
חיבור רגיל עם חץ --> ---> ---->
חיבור עבה === ==== =====
חיבור עבה עם חץ ==> ===> ====>
קו מנוקד -.- -..- -...-
קו מנוקד עם חץ -.- -..-> -...->

תווים מיוחדים

ניתן לשים טקסט בתוך מרכאות כדי לרנדר תווים בעייתיים יותר. כפי שמוצג בדוגמה שלהלן:

קוד
                            
העתק
הטמעה
flowchart LR id1["This is the (text) in the box"]

קידוד ישויות להחלפת תווים

ניתן להחליף תווים באמצעות התחביר שבדוגמה.

קוד
                            
העתק
הטמעה
flowchart LR A["A double quote:#quot;"] --> B["A dec char:#9829;"]

המספרים הנתונים הם עשרוניים, לכן # יכול להיות מקודד כ-#35. נתמך גם שימוש בשמות תווי HTML.

תת-גרף

                            
העתק
הטמעה
subgraph title graph definition end

להלן דוגמה:

קוד
                            
העתק
הטמעה
flowchart TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end

ניתן גם להגדיר id עבור תת-גרף.

קוד
                            
העתק
הטמעה
flowchart TB c1-->a2 subgraph ide1 [one] a1-->a2 end

תרשים זרימה

באמצעות תרשים מסוג תרשים זרימה, ניתן גם להגדיר קווי חיבור אל תת-הגרף וממנו, כפי שמוצג בתרשים הזרימה שלהלן.

קוד
                            
העתק
הטמעה
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

כיוון תת-גרף

כאשר משתמשים בסוג תרשים זרימה, ניתן להשתמש בהצהרת כיוון כדי לקבוע את כיוון הרינדור של תת-הגרף, כפי שמוצג להלן:

קוד
                            
העתק
הטמעה
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

מגבלות

אם צומת כלשהו בתת-הגרף מחובר לחוץ, כיוון תת-הגרף ייתעלם. אחרת, תת-הגרף יירש את כיוון הגרף הראשי:

קוד
                            
העתק
הטמעה
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

מחרוזת Markdown

מחרוזות Markdown משפרות תרשימי זרימה ומפות חשיבה בכך שהן מספקות סוג מחרוזת גמיש יותר, תומכות באפשרויות עיצוב טקסט כגון מודגש ונטוי, ומאפשרות גלישת טקסט אוטומטית בתוך תוויות.

קוד
                            
העתק
הטמעה
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
  • כדי להדגיש טקסט, השתמש בשני כוכביות (**) לפני ואחרי הטקסט.
  • נטוי משתמש בכוכבית בודדת (*) לפני ואחרי הטקסט.
  • עבור מחרוזות מסורתיות, יש להוסיף תג <br> כדי לגרום לטקסט לגלוש בתוך צומת. לעומת זאת, מחרוזות Markdown גולשות אוטומטית כשהטקסט ארוך מדי, ומספיק להשתמש בתו מעבר שורה במקום בתג <br> כדי להתחיל שורה חדשה.

תכונה זו חלה על תוויות צמתים, תוויות קווי חיבור ותוויות תת-גרפים

ניתן להשבית את גלישת השורות האוטומטית באמצעות תחביר מסוים

קוד
                            
העתק
הטמעה
--- config: markdownAutoWrap: false --- graph LR

הערה

ניתן להזין הערות בתרשים הזרימה, והעורך יתעלם מהן. ההערה חייבת לתפוס שורה נפרדת, וחייבת להתחיל בשני סימני אחוז (%%). כל טקסט מההערה ועד השורה הבאה ייחשב כהערה, כולל כל תחביר תרשים.

קוד
                            
העתק
הטמעה
flowchart LR %% this is a comment A -- text --> B{node} A -- text --> B -- text2 --> C

סגנון ומחלקות

סגנון קישור

ניתן להגדיר סגנון קישור. לדוגמה, ייתכן שתרצה לעצב קישור שנע אחורה בתהליך; מכיוון שלקישורים אין ID כמו שלצמתים, יש לקבוע בדרך אחרת את הסגנון שבו אמור להשתמש הקישור. השתמש במספר הסידורי בעת הגדרת הקישור, או השתמש בברירת מחדל שתחול על כל הקישורים.

                            
העתק
הטמעה
linkStyle 3 stroke:#ff3,stroke-width:4px,color:red;

ניתן גם להוסיף סגנון למספר קישורים על ידי הפרדת מספרי הקישורים בפסיקים בהצהרה אחת:

                            
העתק
הטמעה
linkStyle 1,2,7 color:blue;

הגדרת סגנון עקומה לקו חיבור

אם שיטת ברירת המחדל אינה עונה על צרכיך, ניתן להגדיר סגנון עקומה לקווי החיבור בין הפריטים. סגנונות העקומה הזמינים כוללים basis, bumpX, bumpY, cardinal, catmullRom, linear, monotoneX, monotoneY, natural, step, stepAfter ו-stepBefore.

בדוגמה שלהלן, תרשים משמאל לימין משתמש בסגנון העקומה stepBefore.

                            
העתק
הטמעה
%%{ init: { 'flowchart': { 'curve': 'stepBefore' } } }%% graph LR

הגדרת סגנון צומת

ניתן להגדיר סגנון מסוים לצומת, כגון מסגרת עבה יותר או צבע רקע שונה.

קוד
                            
העתק
הטמעה
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

מחלקה

נוח יותר מלהגדיר סגנון בכל פעם הוא להגדיר מחלקת סגנון ולצרף אותה לצמתים הזקוקים למראה שונה.

הגדרת מחלקה היא כדלקמן:

                            
העתק
הטמעה
classDef className fill:pink,stroke:#333,stroke-width:4px;

בנוסף, ניתן להגדיר סגנון למספר מחלקות בהצהרה אחת:

                            
העתק
הטמעה
classDef firstClassName,secondClassName font-size:12pt;

צירוף מחלקה לצומת מתבצע כדלקמן:

                            
העתק
הטמעה
class nodeId1 className;

ניתן גם לצרף מחלקה לרשימת צמתים בהצהרה אחת:

                            
העתק
הטמעה
class nodeId1,nodeId2 className;

הוספת מחלקה יכולה להשתמש באופרטור ::: כדי לצרף שם מחלקה לצומת, כפי שמוצג להלן:

קוד
                            
העתק
הטמעה
flowchart LR A:::someclass --> B classDef someclass fill:#f96

ניתן להשתמש בצורה זו בעת הצהרה על מספר קישורים בין צמתים:

קוד
                            
העתק
הטמעה
flowchart LR A:::foo & B:::bar --> C:::foobar classDef foo stroke:#f00 classDef bar stroke:#0f0 classDef foobar stroke:#00f

  • בהצהרת גרף, הצהרות יכולות כעת גם לא להסתיים בנקודה-פסיק. החל מגרסה 0.2.16, סיום הצהרת גרף בנקודה-פסיק הוא אופציונלי בלבד. לכן, הצהרת הגרף שלהלן תקפה בדיוק כמו הצהרת הגרף הישנה.
  • בין קודקודים וקישורים מותר רווח אחד. עם זאת, בין קודקוד לטקסט שלו ובין קישור לטקסט שלו לא אמור להיות רווח כלשהו. הצהרת הגרף הישנה גם היא עדיין תקפה, לכן תכונה חדשה זו היא אופציונלית ומטרתה לשפר את הקריאות.

להלן הצהרת קו חיבור חדשה, שתקפה בדיוק כמו הצהרת קו החיבור הישנה.

קוד
                            
העתק
הטמעה
flowchart LR A[Hard edge] -->|Link text| B(Round edge) B --> C{Decision} C -->|One| D[Result one] C -->|Two| E[Result two]