核心用法
Mermaid Image Generator 是一个轻量级 Node.js 脚本,利用 mermaid.ink 在线 API 将 Mermaid 图表语法转换为高质量 PNG 或 SVG 图片。无需安装 Chrome、Puppeteer 等重型依赖,仅需 Node.js 内置模块和 curl 即可运行。
基础命令:
node scripts/mermaid-to-image.js <input> <output>— 从.mmd文件生成图片echo "flowchart LR; A --> B" | node scripts/mermaid-to-image.js - output.png— 从标准输入管道生成- 输出格式由文件扩展名自动决定(
.png或.svg)
支持全部 Mermaid 图表类型:流程图(flowchart)、时序图(sequenceDiagram)、类图(classDiagram)、ER 图、状态图、甘特图、饼图、Git 分支图等。
显著优点
1. 真正零依赖:不依赖本地浏览器引擎,解决 mmdc 常见的 Chromium 安装失败问题
2. 跨平台兼容:纯 Node.js + curl,Windows/macOS/Linux 均可运行
3. 轻量化快速:API 响应迅速,适合 CI/CD 和 headless 环境
4. 格式灵活:一键切换位图(PPT 演示)与矢量图(文档嵌入)
5. 管道友好:支持 stdin 输入,便于 Shell 脚本集成和自动化工作流
潜在缺点与局限性
- 网络依赖:必须连接互联网,离线环境无法使用
- 隐私风险:图表代码经 Base64 编码后发送至第三方服务(mermaid.ink),敏感数据可能泄露
- 功能边界:不支持自定义主题、CSS 注入等高级渲染选项
- 速率限制:免费公共服务可能存在未明确声明的调用频率限制
- 单点故障:依赖 mermaid.ink 可用性,服务宕机则完全不可用
适合人群
- 需要快速生成图表图片用于演示文稿、技术文档或博客的技术人员
- 受限于环境无法安装 Puppeteer/Chromium 的 CI/CD 流水线
- 临时性图表需求,不愿配置完整本地 Mermaid 生态的用户
- 熟悉 Shell/Node.js 命令行操作的开发者
不适合:处理含敏感信息的内部架构图,或需要离线/高隐私合规的场景。
常规风险
1. 数据外泄:图表内容发送至外部 API,可能违反企业数据安全政策
2. 注入风险:若未过滤用户输入的 Mermaid 代码,理论上存在通过恶意语法利用 API 的可能(尽管 mermaid.ink 为只读渲染服务,风险较低)
3. 服务可用性:第三方 SaaS 服务无 SLA 保障,生产关键路径建议本地备选方案