概述
Mermaid 是一个基于 JavaScript 的图表和作图工具,它使用类似 Markdown 的文本定义和渲染器来创建和修改复杂的图表。支持十多种图表。重点是免费!!!
Mermaid 可以被看作一种领域特定语言(DSL,Domain-Specific Language)。
Mermaid 的核心是一种声明式的、基于文本的标记语法,专门用来定义和生成图表。就像 Markdown 是用于格式化文本的轻量级标记语言一样,Mermaid 是用于绘制图表的轻量级声明式语言。
背景
技术文档几乎离不开图:接口调用需要时序图,状态流转需要状态图,架构梳理需要流程图。但在长期维护中,这些图几乎都会出问题:
- 截图或二进制图片难以修改,每次调整都需要重绘,导致图形逐渐滞后于代码;
- 不同维护者使用的绘图工具不同,风格杂乱,没有统一的“图表语言”;
- 图表无法被 diff 审查,代码评审中看不出“从 A 到 B 的箭头为什么被删除了”。
现有常见方案各有不足:Confluence/Notion 内置绘图虽可协作,但强依赖平台,迁移成本高;通用绘图软件(draw.io、Visio)产出的图片文件与文档分离,难以通过 Git 追溯变更。这些问题本质上是因为图表被当作静态资源而非可编译的源码对待。
Mermaid 的诞生完美解决了上述缺点。Mermaid 核心特点如下:
- 纯文本描述:在代码块里用特定语法写图表,不用手动拖拽画图
- 自动渲染:支持 Mermaid 的平台(如 GitHub、Notion、Obsidian、Typora)会自动将代码转换成可视化图表
- 易于版本控制:文本形式的图表可以直接用 Git 追踪修改历
- 免费开源:无需付费或注册

880

被折叠的 条评论
为什么被折叠?



