คู่มือฉบับสมบูรณ์สำหรับไดอะแกรม Mermaid

เรียนรู้การสร้างไดอะแกรมมืออาชีพด้วยไวยากรณ์แบบข้อความที่เรียบง่าย

โฆษณา

Mermaid คืออะไร?

Mermaid เป็นเครื่องมือสร้างไดอะแกรมและกราฟบน JavaScript ที่ใช้คำจำกัดความแบบข้อความซึ่งได้รับแรงบันดาลใจจาก Markdown เพื่อสร้างและแก้ไขไดอะแกรมแบบไดนามิก เป็นโครงการโอเพนซอร์สที่ให้คุณสร้างไดอะแกรมจากคำอธิบายข้อความอย่างง่าย

แทนที่จะใช้เครื่องมือวาดภาพที่ซับซ้อน คุณเขียนไวยากรณ์คล้ายโค้ดเพื่ออธิบายไดอะแกรม และ Mermaid จะเรนเดอร์เป็นไดอะแกรมแบบภาพ วิธีนี้ทำให้ไดอะแกรมจัดการเวอร์ชันได้ง่าย อัปเดตสะดวก และเหมาะกับงานเอกสาร

Mermaid ทำงานร่วมกับแพลตฟอร์มเอกสาร วิกิ และไฟล์ Markdown ได้อย่างราบรื่น จึงเป็นเครื่องมือโปรดของนักพัฒนาและนักเขียนเชิงเทคนิค

ทำไมต้องใช้ Mermaid?

  • การควบคุมเวอร์ชัน: ไดอะแกรมเป็นไฟล์ข้อความ จึงสามารถติดตามใน 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 นี้ฟรีจริงไหม?
ใช่ ฟรีทั้งหมด คุณสามารถสร้างไดอะแกรมได้ไม่จำกัด ส่งออกเป็น SVG/PNG แชร์ผ่าน URL และใช้ทุกฟีเจอร์ได้โดยไม่ต้องสมัครหรือจ่ายเงิน เครื่องมือนี้รองรับด้วยโฆษณาที่ไม่รบกวนการใช้งาน.
ต้องติดตั้งอะไรไหม?
ไม่ต้องติดตั้งอะไรเลย เครื่องมือนี้ทำงานบนเบราว์เซอร์ทั้งหมด เพียงเปิดเว็บไซต์ก็เริ่มสร้างไดอะแกรมได้ทันที ทั้งบนเดสก์ท็อป แท็บเล็ต และมือถือ.
บันทึกไดอะแกรมอย่างไร?
คุณบันทึกงานได้หลายวิธี: 1) ส่งออกเป็น SVG หรือ PNG 2) แชร์ผ่าน URL (โค้ดไดอะแกรมจะถูกเข้ารหัสใน URL) 3) คัดลอกโค้ด Mermaid ไปเก็บในไฟล์ของคุณ 4) อัปโหลด/ดาวน์โหลดไฟล์ .mmd หรือ .mermaid.
ใช้ไดอะแกรมในเอกสารได้ไหม?
ได้แน่นอน ส่งออกไดอะแกรมเป็น SVG (ย่อ-ขยายได้) หรือ PNG แล้วนำไปใช้ในเอกสาร งานนำเสนอ หรือเว็บไซต์ได้ และยังสามารถฝังโค้ด Mermaid โดยตรงในแพลตฟอร์มอย่าง GitHub, GitLab หรือ Notion.
SVG กับ PNG ต่างกันอย่างไร?
SVG เป็นไฟล์เวกเตอร์ จึงคมชัดทุกขนาดและเหมาะกับงานเอกสาร/เว็บ ส่วน PNG เป็นภาพราสเตอร์ เหมาะกับการแชร์เร็ว แต่คุณภาพจะลดลงเมื่อปรับขนาด.
ทำไมไดอะแกรมไม่แสดงผล?
ตรวจสอบข้อผิดพลาดไวยากรณ์ในโค้ด Mermaid ของคุณ ปัญหาที่พบบ่อยคือเครื่องหมายคำพูดไม่ปิด ขาดเครื่องหมายโคลอน/อัฒภาค ID โหนดไม่ถูกต้อง หรือใช้ไวยากรณ์ที่ไม่รองรับ ลองลดความซับซ้อนของไดอะแกรมเพื่อหาจุดผิด.
ทำงานร่วมกับคนอื่นได้ไหม?
ยังไม่มีการทำงานร่วมกันแบบเรียลไทม์ในตัว แต่คุณสามารถแชร์ไดอะแกรมผ่าน URL ได้ง่าย ผู้รับสามารถเปิด แก้ไข และแชร์เวอร์ชันของตนกลับมาได้ และเพราะ Mermaid เป็นข้อความ จึงทำงานร่วมกับ Git ได้ดีมาก.
ใช้งานออฟไลน์ได้ไหม?
การโหลดครั้งแรกต้องใช้อินเทอร์เน็ต หลังจากโหลดแล้ว ฟีเจอร์แก้ไขพื้นฐานมักใช้งานออฟไลน์ได้ แต่บางฟีเจอร์ เช่น การส่งออก อาจยังต้องใช้การเชื่อมต่อ.
เรียนรู้ไวยากรณ์ Mermaid ได้อย่างไร?
เริ่มจากคู่มือ Mermaid แบบครบถ้วนของเรา ซึ่งมีตัวอย่างทุกประเภทไดอะแกรม ใช้เทมเพลตเพื่อเริ่มได้เร็วขึ้น และดูเอกสารทางการเพิ่มเติมที่ mermaid.js.org.
ปรับแต่งหน้าตาไดอะแกรมได้ไหม?
ได้ แผนภาพจะใช้ธีมตามเว็บไซต์: สลับระหว่างโหมดสว่างและมืดด้วยปุ่มธีมบนแถบด้านบน แล้วแผนภาพจะถูกเรนเดอร์ใหม่ด้วยธีม Mermaid ที่สอดคล้องกัน หากต้องการปรับแต่งขั้นสูง ให้ใช้คำสั่ง %%{init:...}%% เพื่อกำหนดสี ฟอนต์ และคุณสมบัติการแสดงผลอื่น ๆ
รองรับไดอะแกรมประเภทใดบ้าง?
ตัวแก้ไขนี้รองรับไดอะแกรม Mermaid หลักทั้งหมด เช่น Flowchart, Sequence Diagram, Class Diagram, State Diagram, ER Diagram, Gantt Chart, Pie Chart, Git Graph, User Journey และอื่น ๆ.
ข้อมูลไดอะแกรมเป็นส่วนตัวไหม?
โค้ดไดอะแกรมของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา การเรนเดอร์ทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ เมื่อแชร์ผ่าน URL โค้ดจะอยู่ใน URL เอง เราไม่เก็บหรือติดตามเนื้อหาไดอะแกรมของคุณ.
ทำไมควรใช้ไดอะแกรมแบบข้อความ?
ไดอะแกรมแบบข้อความมีข้อดีหลายอย่าง: ควบคุมเวอร์ชันได้ดี (เหมาะกับ Git), อัปเดตเร็ว, สไตล์สม่ำเสมอ, ค้นหาได้ง่าย, ขนาดเบา และสร้างแบบอัตโนมัติได้ อีกทั้งยังรีวิวใน pull request ได้ง่ายกว่า.
ฝัง Mermaid ในเว็บไซต์ได้ไหม?
ได้ คุณสามารถเพิ่มไลบรารี JavaScript ของ Mermaid ในเว็บไซต์ แล้วใส่บล็อกโค้ด Mermaid ได้ หลายแพลตฟอร์มรองรับ Mermaid แบบเนทีฟอยู่แล้ว เช่น GitHub, GitLab, Notion และ Obsidian.
ขนาดไดอะแกรมสูงสุดที่แนะนำคือเท่าไร?
ไม่มีขีดจำกัดตายตัว แต่ไดอะแกรมที่ใหญ่มาก (มากกว่า ~100 โหนด) อาจเรนเดอร์ช้าตามประสิทธิภาพอุปกรณ์ สำหรับระบบซับซ้อน แนะนำให้แยกเป็นหลายไดอะแกรมขนาดเล็กที่โฟกัสมากกว่า.

พร้อมสร้างไดอะแกรมแรกของคุณหรือยัง?

ลองใช้ตัวแสดงผล Mermaid ออนไลน์ฟรีของเรา แล้วเริ่มสร้างไดอะแกรมมืออาชีพภายในไม่กี่นาที

เปิด Mermaid Viewer