目录
Mermaid由Knut Sveidqvist于2014年创建,初衷是为了解决传统文档中图表难以维护和版本管理的问题。它的核心思想是“文档即代码”,让你在编写Markdown文档时,用几行简单的文本描述就能生成专业图表。这种方式彻底改变了图表的创建和维护流程——修改图表不再需要打开绘图软件重新画,只需在文本中改动几个字符即可。目前,Mermaid已获得超过74000个GitHub星标,并被GitHub、GitLab、Notion、Typora、Obsidian等众多主流平台原生支持。核心库采用MIT开源许可证,对商业使用非常友好。
官网入口地址
官方项目与文档网站:https://mermaid.js.org/
官方在线实时编辑器:https://mermaid.live/
GitHub开源项目仓库:https://github.com/mermaid-js/mermaid
下载地址
Mermaid本身是一个JavaScript库,无需传统意义上的“下载安装”。你可以通过以下方式使用它:
通过CDN方式在网页中引用:https://cdnjs.com/libraries/mermaid
在Node.js项目中通过npm安装:npm install mermaid
使用在线编辑器时无需任何安装。
功能介绍
Mermaid的功能围绕“用文本生成图表”这一核心理念展开,非常纯粹和高效。
-
支持的图表类型丰富:包括但不限于流程图、时序图、甘特图、类图、状态图、实体关系图、用户旅程图、饼图、象限图、Git分支图等。基本覆盖了软件研发、项目管理和数据展示的主流需求。
-
极简的类Markdown语法:语法学习成本很低,熟悉Markdown的人几乎可以无缝上手。,用
graph TD; A-->B;就能画出一个从A指向B的流程图。 -
实时预览与多格式导出:通过官方提供的Mermaid Live Editor,你可以一边写代码一边实时看到图表效果,并导出为PNG、SVG等格式,便于嵌入文档或演示。
-
版本控制友好:因为图表是用纯文本定义的,你可以像管理代码一样管理图表。在Git中,对图表的每次修改都有清晰的历史记录,方便团队进行代码审查和协作。
-
高度可集成:可以在支持Mermaid的Markdown编辑器中直接使用代码块生成图表,也能通过命令行工具(CLI)或API调用将集成到自己的应用或自动化流程中。
-
AI生成支持:由于图表由代码定义,你可以很方便地让AI助手根据你的文字描述直接生成Mermaid代码,进一步降低使用门槛。
应用场景
-
技术文档编写:在软件架构文档、接口文档、系统设计说明中,用Mermaid绘制架构图、类图、时序图,让文档更直观且易于维护。
-
代码注释与解释:在代码仓库的README或注释中嵌入Mermaid流程图,帮助他开发者快速理解复杂的业务逻辑或模块调用关系。
-
项目管理:利用甘特图展示项目里程碑和任务排期,用状态图跟踪工作流进展,所有信息都和代码一起存放在Git仓库中。
-
敏捷开发与协作:在用户故事、会议记录或设计文档中嵌入图表,团队成员可以在同一个Markdown文件中协作,避免了图表文件来回传输的麻烦。
-
教育与培训:教师或培训师可以用简洁的语法快速生成示例图表,学生也能轻松上手,用于梳理知识点或做课程设计。
定价信息
Mermaid是一个免费且开源的项目。核心库采用MIT许可证,这意味着个人和企业都可以免费、修改、分发,甚至用于商业项目。
Mermaid的创始人后来成立了一家名为Mermaid Chart Inc.的商业公司,提供基于Mermaid的付费企业级托管服务和高级编辑功能。但这部分商业化产品属于开源项目之上的增值服务,不影响核心开源库的免费。
| 源码反馈/咨询 (共有 条反馈) |
Mermaid常见问题
不是一个公司开发的,而是一个由Knut Sveidqvist在2014年发起并主导的开源项目。目前由的开发者社区共同维护,商业化探索由Mermaid Chart Inc.公司负责,但核心项目始终保持开源。
是一个“用代码画图”的工具。你不需要用鼠标拖拽画框和连线,只需要写几行类似于Markdown的简单文本,它就能自动生成流程图、时序图、架构图等各种图表。它特别适合开发者和技术作者,方便把图表和代码、文档放在一起进行版本管理。
直接的方法有两种。一是打开官方的Mermaid Live Editor在线编辑器,在左边写代码,右边立刻就能看到生成的图表,还可以导出成图片。二是如果你在用Typora、Obsidian、Notion这些支持Mermaid的Markdown编辑器,或者直接在GitHub上写Markdown文档,只需要在代码块里用mermaid标记,然后写上你的图表代码就行。
它对于所有个人和企业用户都是免费的。因为它是一个开源项目,使用的是非常宽松的MIT许可证,你可以免费所有核心功能,没有任何功能限制。它不像很多软件那样有付费会员,唯一的付费点是它的商业化公司提供的企业级托管服务,但绝大多数用户不需要。
从软件本身来说很可靠。它已经是一个发展了多年、拥有庞大社区和超过7万GitHub星标的成熟项目,被全世界无数公司和开发者使用。从代码安全性说,它的开源许可证允许你审查和修改代码。如果你的数据安全要求极高,你可以选择本地部署使用,而不必依赖在线服务。
核心的技巧就是把它和AI结合起来。你不需要记住所有语法,可以先用中文描述你想画的图,让AI帮你生成Mermaid代码,再粘贴到编辑器里微调。熟练掌握它最常用的几种图表类型(如流程图、时序图)的基本语法就足以应对大部分场景,遇到复杂的可以随时去查阅官方文档,里面的示例非常丰富。
特色就是纯文本定义图表,这使得图表可以像代码一样进行版本控制、代码审查和协作。在团队合作中,你可以清楚地看到谁因为什么原因修改了图表。它的另一个独特用途是,可以很方便地嵌入到技术文档、代码注释或自动化脚本中,实现文档与代码的同步更新,解决了传统文档图表容易过时的问题。
数据是否安全取决于你使用的场景。如果你用官方在线编辑器,你的数据会经过他们的服务器。如果你对隐私和数据存放位置有顾虑,可以选择本地化使用方式:比如在支持Mermaid的本地Markdown编辑器(如Typora、Obsidian)中使用,或者自己搭建一个简单的网页版Mermaid环境,这样你的图表代码和数据就保存在你自己的电脑或服务器上了。
对于习惯写Markdown的技术人员、开发者或产品经理来说,它非常好用,学习曲线很平缓。的方便之处在于,你可以在写文档的同时,不用切换软件就把图画了。而且,以后修改起来太方便了,改几个字就行,再也不用担心改一个框要调半天格式。对于不熟悉代码的新手,需要简单了解下基本语法,但上手也非常快。
Mermaid本身是一个JavaScript库,它只在需要渲染图表时才工作。无论是你使用在线编辑器、还是在本地的Markdown编辑器中预览,它都只在浏览器或编辑器进程内运行。渲染单个图表时占用的资源微乎微,只有在同时渲染大量复杂图表时,才短暂地占用稍多资源,总的来说非常轻量,不用担心拖慢电脑。
它和你的电脑操作系统关系不大,是一个跨平台工具。严格来说,它运行在任何能运行现代浏览器的平台(Windows、macOS、Linux)上,也支持在Node.js等服务器端环境运行。你可以在任何支持Markdown和Mermaid插件的编辑器和平台上使用它。
优势在于和开发工作流的无缝融合。和ProcessOn、Draw.io这类需要手动拖拽的图形化工具不同,Mermaid是“代码驱动”的。这意味着你用Git管理代码的同时,也管理了图表。修改图表和修改代码一样,改动清晰可查,非常符合程序员和DevOps团队的工作习惯,尤适合把图表作为技术文档一部分来维护的场景。