Hướng dẫn đầy đủ về sơ đồ Mermaid.js
Học cách tạo sơ đồ chuyên nghiệp với cú pháp văn bản đơn giản
Mermaid.js là gì?
Mermaid là công cụ vẽ sơ đồ và biểu đồ dựa trên JavaScript, sử dụng các định nghĩa văn bản lấy cảm hứng từ Markdown để tạo và chỉnh sửa sơ đồ một cách động. Đây là một dự án mã nguồn mở cho phép bạn tạo sơ đồ từ các mô tả văn bản đơn giản.
Thay vì dùng công cụ vẽ phức tạp, bạn viết cú pháp giống mã để mô tả sơ đồ, và Mermaid sẽ kết xuất nó thành sơ đồ trực quan. Cách tiếp cận này giúp sơ đồ có thể quản lý phiên bản, dễ cập nhật và rất phù hợp cho tài liệu.
Mermaid tích hợp liền mạch với các nền tảng tài liệu, wiki và tệp Markdown, nên được các nhà phát triển và người viết kỹ thuật ưa chuộng.
Vì sao nên dùng Mermaid.js?
- Kiểm soát phiên bản: sơ đồ là tệp văn bản nên có thể theo dõi trong Git cùng với mã
- Cập nhật nhanh: thay đổi vài dòng văn bản thay vì vẽ lại toàn bộ sơ đồ
- Tính nhất quán: Mermaid tự động xử lý bố cục và kiểu dáng để đảm bảo sơ đồ nhất quán
- Không cần công cụ thiết kế: không cần Visio, Lucidchart hay các công cụ đắt tiền khác
- Tài liệu như mã: giữ sơ đồ trong cùng kho với tài liệu của bạn
- Đa nền tảng: chạy trên trình duyệt và Node.js, tích hợp với nhiều nền tảng
- Miễn phí và mã nguồn mở: không chi phí giấy phép, cộng đồng năng động
- Nhiều loại sơ đồ: hỗ trợ lưu đồ, sơ đồ tuần tự, sơ đồ lớp và hơn nữa
Các loại sơ đồ được hỗ trợ
Mermaid hỗ trợ nhiều loại sơ đồ để đáp ứng các nhu cầu tài liệu khác nhau:
Lưu đồ
Trực quan hóa quy trình làm việc, quy trình và cây quyết định bằng các nút và cạnh.
flowchart TD
A[Start] --> B{Decision}
B -->|Yes| C[Process]
B -->|No| D[Alternative]
C --> E[End]
D --> ETrường hợp sử dụng: Luồng quy trình, thuật toán, logic quyết định
Sơ đồ tuần tự
Thể hiện tương tác giữa các tác nhân hoặc hệ thống theo thời gian.
sequenceDiagram
participant User
participant API
participant DB
User->>API: Request data
API->>DB: Query
DB-->>API: Results
API-->>User: ResponseTrường hợp sử dụng: Tương tác API, giao tiếp hệ thống, luồng người dùng
Sơ đồ lớp
Mô hình hóa hệ thống hướng đối tượng với lớp, thuộc tính và quan hệ.
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+bark()
}
Animal <|-- DogTrường hợp sử dụng: Kiến trúc phần mềm, thiết kế OOP, lược đồ cơ sở dữ liệu
Sơ đồ trạng thái
Biểu diễn các trạng thái và chuyển tiếp trong một hệ thống hoặc quy trình.
stateDiagram-v2
[*] --> Idle
Idle --> Loading: Start
Loading --> Success: Complete
Loading --> Error: Fail
Success --> [*]
Error --> Idle: RetryTrường hợp sử dụng: Máy trạng thái, quản lý vòng đời, trạng thái UI
Sơ đồ ER
Mô hình hóa cấu trúc cơ sở dữ liệu và quan hệ giữa các thực thể.
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
int id
string name
string email
}Trường hợp sử dụng: Thiết kế cơ sở dữ liệu, mô hình dữ liệu, kiến trúc hệ thống
Biểu đồ Gantt
Lập kế hoạch và trực quan hóa lịch trình và dòng thời gian dự án.
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Phase 1
Design :a1, 2024-01-01, 30d
Development :a2, after a1, 45dTrường hợp sử dụng: Lập kế hoạch dự án, timeline sprint, roadmap
Biểu đồ tròn
Hiển thị dữ liệu tỷ lệ và phần trăm một cách trực quan.
pie title Distribution
"Category A" : 42
"Category B" : 30
"Category C" : 28Trường hợp sử dụng: Kết quả khảo sát, thị phần, phân bổ nguồn lực
Đồ thị Git
Trực quan hóa chiến lược nhánh Git và lịch sử commit.
gitGraph
commit
branch develop
checkout develop
commit
checkout main
merge developTrường hợp sử dụng: Tài liệu quy trình Git, chiến lược nhánh
Bắt đầu với Mermaid
1. Chọn loại sơ đồ
Bắt đầu bằng việc quyết định loại sơ đồ nào phù hợp nhất với điều bạn muốn thể hiện. Mỗi loại bắt đầu bằng một từ khóa cụ thể như 'flowchart', 'sequenceDiagram' hoặc 'classDiagram'.
2. Viết cú pháp văn bản
Sử dụng cú pháp đơn giản của Mermaid để mô tả sơ đồ. Cú pháp trực quan và gần như đọc như ngôn ngữ tự nhiên. Ví dụ, 'A --> B' tạo một mũi tên từ A đến B.
3. Xem trước sơ đồ
Dùng trình xem online của chúng tôi hoặc bất kỳ công cụ tương thích Mermaid nào để xem sơ đồ được kết xuất theo thời gian thực. Điều chỉnh khi cần cho đến khi bạn hài lòng.
4. Xuất và chia sẻ
Xuất sơ đồ của bạn dưới dạng SVG hoặc PNG để dùng trong thuyết trình, hoặc chia sẻ URL với đội của bạn. Bạn cũng có thể nhúng Mermaid trực tiếp vào tệp Markdown.
Thực hành tốt nhất
- Giữ sơ đồ tập trung vào một khái niệm hoặc quy trình duy nhất
- Sử dụng nhãn có ý nghĩa phản ánh logic nghiệp vụ thực tế
- Chia sơ đồ phức tạp thành các sơ đồ nhỏ hơn, liên kết với nhau
- Thêm chú thích bằng %% để giải thích các phần phức tạp
- Sử dụng quy ước đặt tên nhất quán trong sơ đồ
- Kiểm thử sơ đồ trong môi trường mục tiêu trước khi hoàn thiện
- Thêm gợi ý hướng (TD, LR) để kiểm soát bố cục khi cần
- Dùng subgraph để nhóm các nút liên quan trong lưu đồ
- Sử dụng tùy chọn tạo kiểu một cách tiết chế để giữ khả năng đọc
- Quản lý phiên bản các tệp nguồn sơ đồ cùng với mã
Các trường hợp sử dụng phổ biến
Tài liệu phần mềm
Tài liệu hóa kiến trúc hệ thống, luồng API và tương tác thành phần cùng với mã.
Lập kế hoạch dự án
Tạo biểu đồ Gantt cho lập kế hoạch sprint, timeline dự án và phân bổ nguồn lực.
Đề xuất kỹ thuật
Trực quan hóa các giải pháp đề xuất, thiết kế hệ thống và quyết định kiến trúc.
Hành trình người dùng
Lập bản đồ luồng người dùng, trải nghiệm khách hàng và mẫu tương tác.
Thiết kế cơ sở dữ liệu
Mô hình hóa quan hệ thực thể, cấu trúc schema và phụ thuộc dữ liệu.
Tài liệu quy trình
Tài liệu hóa quy trình kinh doanh, workflow và quy trình vận hành tiêu chuẩn.
Tài liệu giáo dục
Tạo sơ đồ rõ ràng, có kiểm soát phiên bản cho hướng dẫn và khóa học kỹ thuật.
Tài liệu API
Minh họa luồng yêu cầu/phản hồi, chuỗi xác thực và tương tác endpoint.
Tài nguyên bổ sung
Câu hỏi thường gặp
Các câu hỏi phổ biến về cách sử dụng Mermaid Viewer và tạo sơ đồ
Sẵn sàng tạo sơ đồ đầu tiên của bạn?
Hãy thử trình xem Mermaid trực tuyến miễn phí của chúng tôi và bắt đầu tạo sơ đồ chuyên nghiệp trong vài phút.
Mở Mermaid Viewer