十分钟画出第一张流程图?Mermaid 文本生成图表完整指南
【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid
更新 README 时想给读者展示一条调用链或状态流转,多数人的做法是用设计工具画一张图,再贴成截图。但图片是死的:逻辑一改就得重画,仓库里堆着大 PNG,搜索也命不中图里的内容。Mermaid 改变的就是这一点——你写几行纯文本语法,它渲染出可以直接嵌进 Markdown 的 SVG 图表,从此图表像代码一样走版本管理和评审。
📌 快速上手:三步渲染出第一张流程图
第一步装依赖:npm install mermaid。第二步,写下这段代码:
graph TD A[Start] --> B{Is data ready?} B -->|Yes| C[Generate report] B -->|No| D[Wait] C --> E[Done]第三步,把代码贴进官方在线编辑器,右侧预览区立刻出现一张自上而下的决策流程图;在原生支持 Mermaid 的平台里,同样的文本放进 Markdown 的 mermaid 代码块也能自动渲染。输出是 SVG 矢量图,放大不糊,还能换主题。
原理速览:文本进,SVG 出
整条链路只有三步。解析器先逐行读文本:首行声明图表类型,比如graph TD(流程图、自上而下)或sequenceDiagram(序列图),后续行全是节点和连线的定义;解析结果是一棵中间数据结构,也就是包含节点、边和标签的图。渲染引擎再对这份结构做两件事:计算节点坐标与连线走向(布局),然后输出 SVG。说白了就是"文本→图数据→布局→图片"。因为产物是纯矢量,同一份文本在 Web 和 Node.js 环境里都能渲染。
🧩 三个实战场景:序列图、类图与甘特图
在接口文档里画序列图。后端开发者最烦的不是画图,而是图和代码对不上。写成文本后,接口变更只要改序列图代码里的一行,评审时别人还能直接看 diff:
sequenceDiagram Client->>API: GET /orders API->>DB: query orders DB-->>API: return data API-->>Client: 200 OK渲染出来就是一张带泳道感的时序图,参与者、消息线、返回线自动排齐,不用拖拽任何箭头。
把 UML 类图和代码一起维护。类图是 UML 里最常见的图,Mermaid 的类图语法接近 Java 声明,继承关系、属性、方法可见性一次写清:
一段文本就能精确表达整棵继承树;新增子类时,追加一小段文本即可,不用重新截图。
用甘特图盯项目节点。项目周会上不需要打开排期工具就能标记关键路径:
gantt title Q3 迭代计划 section 后端 订单模块 :a1, 2026-07-01, 2w 支付联调 :a2, after a1, 1w输出是一张横向时间轴图,日期字段一改,图就跟着变,贴进文档或报告都不需要重绘。
选型建议:谁适合、谁该缓一缓
文档作者和后端开发者:适合。流程图、序列图、类图、状态图覆盖日常绝大多数需求,且图表随代码进仓库。数据分析师:谨慎。Mermaid 不接受表格数据输入,不是 BI 工具,饼图和坐标图展示简单分布够用,交互下钻需求应选专用图表库。学生:适合用来学 UML,画类图和状态机与软件工程课的作业要求一致,语法一下午能背下来。
下一步
用npm install mermaid装上依赖,把上文的流程图代码写进一个 HTML 页面并刷新浏览器,第一张 Mermaid 图表就渲染出来了;全部语法与配置项参考 官方文档。
【免费下载链接】mermaidGeneration of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown项目地址: https://gitcode.com/GitHub_Trending/me/mermaid
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考