คู่มือฉบับสมบูรณ์สำหรับไดอะแกรม Mermaid.js
เรียนรู้การสร้างไดอะแกรมมืออาชีพด้วยไวยากรณ์แบบข้อความที่เรียบง่าย
Mermaid.js คืออะไร?
Mermaid เป็นเครื่องมือสร้างไดอะแกรมและกราฟบน JavaScript ที่ใช้คำจำกัดความแบบข้อความซึ่งได้รับแรงบันดาลใจจาก Markdown เพื่อสร้างและแก้ไขไดอะแกรมแบบไดนามิก เป็นโครงการโอเพนซอร์สที่ให้คุณสร้างไดอะแกรมจากคำอธิบายข้อความอย่างง่าย
แทนที่จะใช้เครื่องมือวาดภาพที่ซับซ้อน คุณเขียนไวยากรณ์คล้ายโค้ดเพื่ออธิบายไดอะแกรม และ Mermaid จะเรนเดอร์เป็นไดอะแกรมแบบภาพ วิธีนี้ทำให้ไดอะแกรมจัดการเวอร์ชันได้ง่าย อัปเดตสะดวก และเหมาะกับงานเอกสาร
Mermaid ทำงานร่วมกับแพลตฟอร์มเอกสาร วิกิ และไฟล์ Markdown ได้อย่างราบรื่น จึงเป็นเครื่องมือโปรดของนักพัฒนาและนักเขียนเชิงเทคนิค
ทำไมต้องใช้ Mermaid.js?
- การควบคุมเวอร์ชัน: ไดอะแกรมเป็นไฟล์ข้อความ จึงสามารถติดตามใน Git ควบคู่กับโค้ดได้
- อัปเดตได้รวดเร็ว: เปลี่ยนเพียงไม่กี่บรรทัดแทนการวาดใหม่ทั้งหมด
- ความสม่ำเสมอ: Mermaid จัดการเลย์เอาต์และสไตล์อัตโนมัติ เพื่อให้ไดอะแกรมมีความสม่ำเสมอ
- ไม่ต้องใช้เครื่องมือออกแบบ: ไม่จำเป็นต้องใช้ Visio, Lucidchart หรือเครื่องมือราคาแพงอื่นๆ
- เอกสารเป็นโค้ด: เก็บไดอะแกรมไว้ในรีโปเดียวกับเอกสารของคุณ
- ข้ามแพลตฟอร์ม: ทำงานได้ทั้งในเบราว์เซอร์และ Node.js และเชื่อมต่อได้กับหลายแพลตฟอร์ม
- ฟรีและโอเพนซอร์ส: ไม่มีค่าไลเซนส์ ชุมชนแอคทีฟ
- รองรับไดอะแกรมหลายประเภท: รองรับผังงาน ไดอะแกรมลำดับ ไดอะแกรมคลาส และอื่นๆ
ประเภทไดอะแกรมที่รองรับ
Mermaid รองรับไดอะแกรมหลากหลายประเภทเพื่อตอบโจทย์งานเอกสารที่แตกต่างกัน:
ผังงาน
แสดงเวิร์กโฟลว์ กระบวนการ และต้นไม้การตัดสินใจด้วยโหนดและเส้นเชื่อม
flowchart TD
A[Start] --> B{Decision}
B -->|Yes| C[Process]
B -->|No| D[Alternative]
C --> E[End]
D --> Eกรณีการใช้งาน: กระบวนการทำงาน อัลกอริทึม ตรรกะการตัดสินใจ
ไดอะแกรมลำดับ
แสดงปฏิสัมพันธ์ระหว่างผู้มีบทบาทหรือระบบต่างๆ ตามเวลา
sequenceDiagram
participant User
participant API
participant DB
User->>API: Request data
API->>DB: Query
DB-->>API: Results
API-->>User: Responseกรณีการใช้งาน: การโต้ตอบ API การสื่อสารระบบ เวิร์กโฟลว์ผู้ใช้
ไดอะแกรมคลาส
จำลองระบบเชิงวัตถุด้วยคลาส แอตทริบิวต์ และความสัมพันธ์
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+bark()
}
Animal <|-- Dogกรณีการใช้งาน: สถาปัตยกรรมซอฟต์แวร์ การออกแบบ OOP สคีมาฐานข้อมูล
ไดอะแกรมสถานะ
แสดงสถานะและการเปลี่ยนผ่านในระบบหรือกระบวนการ
stateDiagram-v2
[*] --> Idle
Idle --> Loading: Start
Loading --> Success: Complete
Loading --> Error: Fail
Success --> [*]
Error --> Idle: Retryกรณีการใช้งาน: สเตตแมชชีน การจัดการวงจรชีวิต สถานะ UI
ไดอะแกรม ER
จำลองโครงสร้างฐานข้อมูลและความสัมพันธ์ระหว่างเอนทิตี
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
int id
string name
string email
}กรณีการใช้งาน: การออกแบบฐานข้อมูล การทำโมเดลข้อมูล สถาปัตยกรรมระบบ
แผนภูมิแกนต์
วางแผนและแสดงตารางเวลาและไทม์ไลน์ของโครงการ
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Phase 1
Design :a1, 2024-01-01, 30d
Development :a2, after a1, 45dกรณีการใช้งาน: การวางแผนโครงการ ไทม์ไลน์สปรินต์ โรดแมป
แผนภูมิวงกลม
แสดงข้อมูลเชิงสัดส่วนและเปอร์เซ็นต์แบบภาพ
pie title Distribution
"Category A" : 42
"Category B" : 30
"Category C" : 28กรณีการใช้งาน: ผลสำรวจ ส่วนแบ่งตลาด การจัดสรรทรัพยากร
กราฟ Git
แสดงกลยุทธ์การแตกกิ่งของ Git และประวัติการคอมมิต
gitGraph
commit
branch develop
checkout develop
commit
checkout main
merge developกรณีการใช้งาน: เอกสารเวิร์กโฟลว์ Git กลยุทธ์การแตกกิ่ง
เริ่มต้นใช้งาน Mermaid
1. เลือกประเภทไดอะแกรม
เริ่มจากการตัดสินใจว่าประเภทไดอะแกรมใดเหมาะที่สุดสำหรับสิ่งที่ต้องการสื่อ แต่ละประเภทจะเริ่มด้วยคีย์เวิร์ดเฉพาะ เช่น 'flowchart', 'sequenceDiagram' หรือ 'classDiagram'.
2. เขียนไวยากรณ์ข้อความ
ใช้ไวยากรณ์ที่เรียบง่ายของ Mermaid เพื่ออธิบายไดอะแกรมของคุณ ไวยากรณ์เข้าใจง่ายและอ่านได้คล้ายภาษาธรรมชาติ เช่น 'A --> B' จะสร้างลูกศรจาก A ไป B.
3. ดูตัวอย่างไดอะแกรม
ใช้ตัวแสดงผลออนไลน์ของเรา หรือเครื่องมือที่รองรับ Mermaid เพื่อดูไดอะแกรมแบบเรียลไทม์ ปรับแต่งตามต้องการจนพอใจ.
4. ส่งออกและแชร์
ส่งออกไดอะแกรมเป็น SVG หรือ PNG สำหรับการนำเสนอ หรือแชร์ URL กับทีมของคุณ คุณยังสามารถฝัง Mermaid ลงในไฟล์ Markdown ได้โดยตรง.
แนวปฏิบัติที่ดีที่สุด
- ให้ไดอะแกรมโฟกัสที่แนวคิดหรือเวิร์กโฟลว์เดียว
- ใช้ป้ายกำกับที่มีความหมายและอธิบายตรรกะธุรกิจจริง
- แยกไดอะแกรมที่ซับซ้อนเป็นไดอะแกรมย่อยที่เชื่อมโยงกัน
- เพิ่มความคิดเห็นด้วย %% เพื่ออธิบายส่วนที่ซับซ้อน
- ใช้รูปแบบการตั้งชื่อที่สอดคล้องกันทั่วทั้งไดอะแกรม
- ทดสอบไดอะแกรมในสภาพแวดล้อมเป้าหมายก่อนสรุป
- ใส่คำใบ้ทิศทาง (TD, LR) เพื่อควบคุมเลย์เอาต์เมื่อจำเป็น
- ใช้ subgraph เพื่อจัดกลุ่มโหนดที่เกี่ยวข้องในผังงาน
- ใช้ตัวเลือกสไตล์อย่างพอเหมาะเพื่อรักษาความอ่านง่าย
- จัดการเวอร์ชันไฟล์ซอร์สของไดอะแกรมร่วมกับโค้ดของคุณ
กรณีใช้งานที่พบบ่อย
เอกสารซอฟต์แวร์
จัดทำเอกสารสถาปัตยกรรมระบบ กระแส API และการโต้ตอบของคอมโพเนนต์ควบคู่กับโค้ดของคุณ
การวางแผนโครงการ
สร้างแผนภูมิแกนต์สำหรับการวางแผนสปรินต์ ไทม์ไลน์โครงการ และการจัดสรรทรัพยากร
ข้อเสนอเชิงเทคนิค
แสดงภาพโซลูชันที่เสนอ การออกแบบระบบ และการตัดสินใจเชิงสถาปัตยกรรม
เส้นทางผู้ใช้
ทำแผนที่การไหลของผู้ใช้ ประสบการณ์ลูกค้า และรูปแบบการโต้ตอบ
การออกแบบฐานข้อมูล
จำลองความสัมพันธ์ของเอนทิตี โครงสร้างสคีมา และการพึ่งพาข้อมูล
เอกสารกระบวนการ
จัดทำเอกสารกระบวนการทางธุรกิจ เวิร์กโฟลว์ และขั้นตอนปฏิบัติงานมาตรฐาน
สื่อการศึกษา
สร้างไดอะแกรมที่ชัดเจนและควบคุมเวอร์ชันได้สำหรับบทเรียนและคอร์สเทคนิค
เอกสาร API
อธิบายโฟลว์คำขอ/การตอบกลับ ลำดับการยืนยันตัวตน และการโต้ตอบกับเอ็นด์พอยต์
แหล่งข้อมูลเพิ่มเติม
คำถามที่พบบ่อย
คำถามทั่วไปเกี่ยวกับการใช้งาน Mermaid Viewer และการสร้างไดอะแกรม
พร้อมสร้างไดอะแกรมแรกของคุณหรือยัง?
ลองใช้ตัวแสดงผล Mermaid ออนไลน์ฟรีของเรา แล้วเริ่มสร้างไดอะแกรมมืออาชีพภายในไม่กี่นาที
เปิด Mermaid Viewer