คู่มือฉบับสมบูรณ์สำหรับไดอะแกรม 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