.## 1. Mermaid là gì?
Tổng quan và các tính năng chính của Mermaid
Mermaid là một thư viện JavaScript cho phép bạn tạo các sơ đồ và biểu đồ bằng các định nghĩa dựa trên văn bản. Với công cụ này, bạn có thể tạo ra các sơ đồ trực quan một cách dễ dàng chỉ bằng cách viết mã. Vì nó cho phép bạn nhanh chóng tạo lưu đồ, sơ đồ tuần tự, biểu đồ Gantt và nhiều loại khác, nên Mermaid được sử dụng rộng rãi bởi các nhà phát triển phần mềm, quản lý dự án và nhiều người khác.
Một trong những điểm mạnh lớn nhất của Mermaid là bạn có thể định nghĩa các sơ đồ chỉ bằng mã. Điều này giúp việc chỉnh sửa và quản lý sơ đồ trở nên dễ dàng mà không cần dựa vào giao diện đồ họa. Mermaid cũng được tích hợp vào các nền tảng như GitHub và Notion, mang lại tính linh hoạt để sử dụng trong nhiều tình huống khác nhau.
Các trường hợp sử dụng chính và lợi ích của Mermaid
Trường hợp sử dụng
- Tạo lưu đồ và sơ đồ tuần tự cho phát triển phần mềm.
- Tạo biểu đồ Gantt cho việc lập kế hoạch dự án.
- Thêm các biểu diễn trực quan vào tệp Markdown và tài liệu Wiki.
Lợi ích
- Cú pháp đơn giản: Bạn có thể viết nó giống như mã lập trình, vì vậy ngay cả người mới bắt đầu cũng có thể sử dụng dễ dàng.
- Quản lý dựa trên mã: Bạn có thể quản lý phiên bản bằng các công cụ kiểm soát nguồn (ví dụ: Git).
- Tạo và cập nhật nhanh: Các thay đổi trong sơ đồ được phản ánh ngay lập tức chỉ bằng cách chỉnh sửa mã.
- Mở rộng và tùy chỉnh: Bạn có thể tùy chỉnh thiết kế bằng CSS và mở rộng chức năng bằng JavaScript.
2. Cách sử dụng cơ bản của Mermaid
Cách cài đặt
Mermaid.js có thể được cài đặt theo hai cách: sử dụng liên kết CDN hoặc sử dụng npm.
1. Sử dụng liên kết CDN
Thêm thẻ script sau vào tệp HTML của bạn.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</head>
<body>
<div class="mermaid">
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
</div>
</body>
</html>
2. Sử dụng npm
Nếu bạn đã có môi trường Node.js sẵn sàng, có thể cài đặt nó bằng lệnh sau.
npm install mermaid
Với cách này, bạn có thể tích hợp Mermaid như một phần của dự án JavaScript.
Cú pháp và ngữ pháp cơ bản
Với Mermaid.js, bạn có thể tạo các sơ đồ bằng cú pháp dựa trên văn bản trực quan. Dưới đây là một số ví dụ phổ biến.
1. Lưu đồ
Dưới đây là một ví dụ về định nghĩa lưu đồ.
graph TD;
A[Start] --> B[Process 1]
B --> C[Process 2]
C --> D[End]
2. Sơ đồ tuần tự
Một sơ đồ tuần tự mô tả quy trình làm việc của hệ thống có thể được viết như sau.
sequenceDiagram
participant A as User
participant B as Server
A->>B: Send request
B-->>A: Return response
3. Biểu đồ Gantt
Một biểu đồ Gantt hữu ích cho việc quản lý dự án có thể được viết như sau.
gantt
title Project Plan
dateFormat YYYY-MM-DD
section Planning
Task A :a1, 2024-01-01, 10d
Task B :a2, after a1, 7d
Task C :a3, after a2, 5d
Các loại biểu đồ được hỗ trợ
Mermaid.js hỗ trợ các loại sơ đồ và biểu đồ sau đây.
- Lưu đồ : Hiển thị luồng của một quy trình.
- Sơ đồ tuần tự : Trực quan hoá các giao thức và quy trình giao tiếp.
- Biểu đồ Gantt : Dùng cho quản lý dự án và lập lịch.
- Sơ đồ lớp : Dùng cho thiết kế hướng đối tượng.
- Sơ đồ trạng thái : Đại diện cho các chuyển đổi trạng thái.
- Biểu đồ tròn : Trực quan hoá tỷ lệ phần dữ liệu.

3. Tạo biểu đồ với Mermaid.js
Cách nhúng Mermaid vào HTML
Mermaid.js có thể dễ dàng nhúng vào HTML. Thực hiện các bước dưới đây để tạo sơ đồ.
1. Cấu trúc HTML cơ bản
Mã sau đây cho thấy một ví dụ tối thiểu về việc sử dụng Mermaid.js trong một tệp HTML.
.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Mermaid Diagram</title>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</head>
<body>
<h1>Flowchart Example</h1>
<div class="mermaid">
graph TD;
A[Start] --> B[Process 1]
B --> C[Process 2]
C --> D[End]
</div>
</body>
</html>
2. Hiển thị Nhiều biểu đồ
Nếu bạn muốn hiển thị nhiều biểu đồ, hãy thêm nhiều thẻ div vào HTML của bạn như sau.
<div class="mermaid">
graph TD;
A --> B;
B --> C;
</div>
<div class="mermaid">
sequenceDiagram
participant A as User
participant B as Server
A->>B: Send request
B-->>A: Return response
</div>
Khởi tạo và Cấu hình với JavaScript
1. Cài đặt Khởi tạo
Đoạn mã sau khởi tạo Mermaid.js một cách lập trình.
mermaid.initialize({
startOnLoad: true,
theme: 'forest',
flowchart: { curve: 'basis' },
});
Với cấu hình này, giao diện được đổi thành forest, và các đường trong lưu đồ được tùy chỉnh để sử dụng các cạnh cong.
2. Thêm Biểu đồ một cách Động
Ví dụ sau cho thấy cách tạo một biểu đồ một cách động bằng JavaScript.
const code = `
graph LR;
X[Start] --> Y[Next step];
Y --> Z[End];
`;
const element = document.querySelector('#dynamicChart');
element.innerHTML = code;
mermaid.init(undefined, element);
Các ví dụ mã thực tế và Giải thích
Ví dụ 1: Tạo Biểu đồ Trình tự
<div class="mermaid">
sequenceDiagram
participant User as User
participant Server as Server
User->>Server: Data request
Server-->>User: Data response
</div>
Ví dụ 2: Tạo Biểu đồ Gantt
<div class="mermaid">
gantt
title Project Schedule
dateFormat YYYY-MM-DD
section Development Phase
Design :done, 2024-01-01, 2024-01-07
Implementation :active, 2024-01-08, 2024-01-20
Testing :2024-01-21, 2024-01-30
</div>
4. Cách sử dụng Mermaid trong WordPress
Giới thiệu và Cài đặt Plugin
Nếu bạn muốn sử dụng Mermaid.js trong WordPress, cách dễ nhất là cài đặt một plugin chuyên dụng. Dưới đây là một số tùy chọn phổ biến.
1. Plugin Mermaid – “Mermaid Markdown Syntax Highlighting”
Plugin này cho phép bạn sử dụng cú pháp Mermaid trực tiếp trong các bài viết.
Các bước Cài đặt
- Đăng nhập vào bảng điều khiển quản trị WordPress.
- Từ menu, nhấp vào Plugins → Add New.
- Trong ô tìm kiếm, nhập Mermaid Markdown Syntax Highlighting.
- Cài đặt plugin và kích hoạt nó.
Các bước Cấu hình
- Sau khi kích hoạt, bạn có thể điều chỉnh các tùy chọn cơ bản từ màn hình cài đặt.
- Tùy chỉnh các cài đặt như theme và auto-load on start.
Cách hiển thị Biểu đồ trong Bài viết
Sau khi cài đặt plugin, bạn có thể hiển thị biểu đồ trong bài viết của mình bằng các shortcode như sau.
Ví dụ: Chèn một Lưu đồ
[mermaid]
graph TD;
A[Start] --> B[Process 1]
B --> C[Process 2]
C --> D[End]
[/mermaid]
Ví dụ: Chèn một Biểu đồ Trình tự
[mermaid]
sequenceDiagram
participant User
participant Server
User->>Server: Send request
Server-->>User: Return response
[/mermaid]
Ví dụ: Chèn một Biểu đồ Gantt
[mermaid]
gantt
title Project Plan
dateFormat YYYY-MM-DD
section Development
Design :done, 2024-01-01, 2024-01-07
Implementation :active, 2024-01-08, 2024-01-20
Testing :2024-01-21, 2024-01-30
[/mermaid]
Ghi chú và Khắc phục sự cố
1. Cách xử lý khi Biểu đồ không hiển thị
- Nguyên nhân 1: Plugin chưa được kích hoạt đúng cách. → Kiểm tra lại cài đặt plugin và đảm bảo nó đã được bật.
- Nguyên nhân 2: Script Mermaid.js không được tải. → Có thể xung đột với giao diện hoặc các plugin khác, vì vậy hãy tắt từng plugin một để xác định xung đột.
2. Cài đặt Thủ công mà không cần Plugin
Nếu bạn không muốn sử dụng plugin, bạn cũng có thể nhúng Mermaid.js một cách thủ công bằng cách thêm đoạn mã sau vào file functions.php của giao diện.
function add_mermaid_script() {
echo '<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs";
mermaid.initialize({ startOnLoad: true });
</script>';
}
add_action('wp_footer', 'add_mermaid_script');

5. Thực Hành Tốt Nhất Khi Sử Dụng Mermaid
Cách Quản Lý Các Sơ Đồ Phức Tạp
1. Tách và Tổ Chức Mã Của Bạn
Khi tạo các sơ đồ phức tạp, hãy giữ mã của bạn được tổ chức bằng cách tuân theo các mẹo sau.
- Thêm chú thích cho mỗi phần
%% Start of the flowchart graph TD; A[Start] --> B[Process 1] %% Branching logic B --> C[Process 2] B --> D[Process 3]
- Tạo mẫu và tái sử dụng chúng Đối với các dự án lớn, việc chuẩn bị các mẫu và duy trì tính nhất quán trên nhiều sơ đồ là quan trọng.
2. Quản Lý Các Sơ Đồ Trong Các Tệp Ngoài
Thay vì nhúng mã Mermaid trực tiếp vào tệp HTML hoặc Markdown, bạn có thể lưu nó trong các tệp bên ngoài. Điều này cải thiện khả năng bảo trì.
Ví dụ: Lưu mã Mermaid vào một tệp có tên diagram.mmd và tải nó từ HTML.
<div id="diagram-container"></div>
<script>
fetch('diagram.mmd')
.then(response => response.text())
.then((text) => {
const container = document.getElementById('diagram-container');
container.innerHTML = text;
mermaid.init(undefined, container);
});
</script>
Tùy Chỉnh và Cài Đặt Giao Diện
1. Áp Dụng Giao Diện
Mermaid.js bao gồm nhiều giao diện tích hợp sẵn, cho phép bạn chuyển sang một phong cách hấp dẫn về mặt thị giác một cách dễ dàng.
Danh Sách Giao Diện
- Mặc định
- Tối
- Rừng
- Neon
Ví Dụ Cấu Hình
mermaid.initialize({
theme: 'dark',
});
2. Áp Dụng CSS Tùy Chỉnh
Nếu bạn muốn điều chỉnh thiết kế chi tiết hơn, bạn có thể định nghĩa các kiểu bằng CSS.
.mermaid text {
font-family: Arial, sans-serif;
fill: #333;
}
Các Xem Xét Về Hiệu Suất
1. Điều Chỉnh Thời Gian Khởi Tạo
Thay vì khởi tạo các sơ đồ khi tải trang, bạn có thể khởi tạo Mermaid chỉ khi người dùng cần. Điều này giảm tải xử lý.
const config = {
startOnLoad: false,
};
mermaid.initialize(config);
// Render only when needed
document.getElementById('render-btn').addEventListener('click', () => {
mermaid.init();
});
2. Chuyển Đổi Thành Hình Ảnh Tĩnh
Nếu hiệu suất đặc biệt quan trọng, bạn có thể xuất các sơ đồ được tạo bởi Mermaid dưới dạng tệp hình ảnh và sử dụng chúng như hình ảnh tĩnh. Điều này giảm thiểu tải cho trình duyệt.
6. Tóm Tắt
Giá Trị và Tiện Lợi của Mermaid.js
Mermaid.js là một thư viện JavaScript mạnh mẽ cho phép bạn tạo các sơ đồ bằng các định nghĩa dựa trên mã. Vì nó có thể dễ dàng hiển thị nhiều loại sơ đồ—như lưu đồ, sơ đồ tuần tự và biểu đồ Gantt—nó là một công cụ vô cùng hữu ích cho các nhà phát triển và quản lý dự án.
Một trong những lợi thế lớn nhất của thư viện này là cú pháp đơn giản cho phép bạn tạo các sơ đồ phức tạp một cách hiệu quả. Nó cũng có thể tích hợp với các nền tảng CMS như WordPress, trở thành một cách tuyệt vời để trình bày thông tin trực quan trong các bài viết blog và tài liệu kỹ thuật.
Đánh Giá Mỗi Phần
- Mermaid là gì Chúng tôi đã giải thích tổng quan cơ bản về Mermaid.js, các trường hợp sử dụng và lợi ích của việc áp dụng nó.
- Cách sử dụng cơ bản của Mermaid Chúng tôi đã giới thiệu các nền tảng cơ bản để sử dụng thực tế, từ các phương pháp cài đặt đến cú pháp cơ bản.
- Tạo sơ đồ với Mermaid.js Chúng tôi đã cung cấp hướng dẫn chi tiết về cách tạo sơ đồ bằng HTML và JavaScript.
- Cách sử dụng Mermaid trong WordPress Chúng tôi đã đề cập cách tích hợp Mermaid với WordPress, bao gồm việc sử dụng plugin và các ví dụ thực tế trong bài viết.
- Thực hành tốt nhất khi sử dụng Mermaid Chúng tôi đã đưa ra lời khuyên thực tế về quản lý mã, tối ưu hiệu suất và tùy chỉnh thiết kế.
Những Khả Năng Tương Lai cho Mermaid.js
Mermaid.js là một dự án mã nguồn mở, và nó có thể tiếp tục thêm các tính năng mới cùng định dạng được hỗ trợ trong tương lai. Nó cũng ngày càng được hỗ trợ trên nhiều nền tảng như GitHub, Notion và WordPress, vì vậy các trường hợp sử dụng tiềm năng của nó được dự đoán sẽ mở rộng hơn nữa.
Vì nó có thể được áp dụng cho nhiều mục đích—như tài liệu kinh doanh, bài thuyết trình, và nâng cao các công cụ quản lý dự án—việc tiếp tục học và thực hành Mermaid.js sẽ giúp bạn sử dụng nó hiệu quả hơn.
Ghi Chú Cuối Cùng
Trong bài viết này, chúng tôi đã giới thiệu Mermaid.js từ cơ bản đến sử dụng thực tế. Vì nó thân thiện với người mới bắt đầu và cũng hữu ích cho tài liệu chuyên nghiệp, hãy thử sử dụng nó.
Khi cần, hãy tham khảo lại hướng dẫn này và bắt đầu tích hợp Mermaid.js vào các dự án thực tế cùng viết kỹ thuật của bạn.


