什么是 Mermaid?以及“中文”的含义

Mermaid 是一种基于文本的图表绘制工具。它使用一种简单、类似 Markdown 的语法,让用户能够通过编写代码来生成流程图、时序图、类图、状态图、甘特图等各种类型的图表。与传统的图形界面图表工具不同,Mermaid 的最大特点是其纯文本的输入方式,这使得图表可以像代码一样进行版本控制、 diff 比较,并且易于嵌入到文档和网页中。

那么,这里的“【mermaid中文】”意味着什么呢?它主要包含两个层面的含义:

  • 使用中文: 指的是在 Mermaid 图表中,节点、连接线上的文本描述等元素中直接使用中文字符。例如,在绘制一个流程图时,你可以写 A[开始] --> B[处理中]; 来创建带有中文标签的节点和连接线。现代的 Mermaid 版本以及大多数支持 Mermaid 的平台都能够很好地支持 UTF-8 编码,因此直接使用中文通常没有问题。
  • 中文资源: 指的是关于 Mermaid 的中文文档、教程、社区讨论等学习和获取帮助的资源。对于中文使用者来说,能够找到用母语解释的资料,无疑会大大降低学习和使用的门槛。

为什么选择 Mermaid 来绘制图表?

选择 Mermaid 而非传统的图形化图表工具,有很多 compelling 的理由,尤其是在技术文档、协作和自动化场景下:

  • 高效便捷: 对于熟悉文本编辑的人来说,编写几行简单的代码通常比拖动、连接、调整图形元素要快得多,特别是在需要修改或更新图表时。你可以快速复制、粘贴、修改代码片段来复用或调整图表结构。
  • 版本控制友好: 由于输入是纯文本,Mermaid 图表的代码可以方便地集成到 Git 等版本控制系统中。你可以清晰地看到图表的每次修改,进行分支管理、合并操作,这对于团队协作尤为重要。图形文件(如 Visio, Draw.io 的二进制文件)在版本控制中很难进行有效的 diff。
  • 易于集成与自动化: Mermaid 可以轻松嵌入到各种支持 Markdown 或具有自定义插件的平台中,例如 GitHub、GitLab、Jira、Confluence、各类静态网站生成器(如 VuePress, VitePress, MkDocs, Jekyll)、Markdown 编辑器(如 Typora, Obsidian, VS Code)以及自定义的网页应用中。通过简单的代码块,就能在文档中直接展示图表,无需单独管理图表文件。结合自动化脚本,甚至可以根据数据自动生成图表代码。

  • 跨平台: 作为基于文本和前端技术(JavaScript)的工具,Mermaid 不依赖于特定的操作系统或软件安装,只要有支持它的平台或一个现代浏览器,就可以渲染图表。
  • 图文一体: 在使用 Markdown 等格式编写文档时,可以直接将 Mermaid 代码嵌入到文本中,使得图表成为文档内容的一部分,阅读时无需跳转或查找独立的图片文件,提升了文档的可读性和连贯性。

在哪里可以使用 Mermaid?

Mermaid 的应用场景非常广泛,得益于其文本化的特性和良好的集成性: