Pretty Mermaid 是一个基于 beautiful-mermaid 库的图表渲染技能,用于将 Mermaid 代码渲染为美观的 SVG 或 ASCII 艺术图。它提供命令行脚本,支持单图渲染、批量渲染、主题切换和多种输出格式。
用途
该技能主要用于将 Mermaid 图表代码转换为视觉上专业的输出,适用于网页、文档、演示文稿或终端环境。它支持 5 种图表类型:流程图(flowchart)、序列图(sequence)、状态图(state)、类图(class)和 ER 图(er)。
主要能力
- 输出格式:SVG(适合网页、文档、演示,支持全彩、透明、可缩放)和 ASCII(适合终端、纯文本日志、README,无依赖)。
- 主题支持:内置 15 种主题,包括 zinc-light、zinc-dark、tokyo-night、tokyo-night-storm、tokyo-night-light、catppuccin-mocha、catppuccin-latte、nord、nord-light、dracula、github-dark、github-light、solarized-dark、solarized-light、one-dark。
- 高级选项:可自定义背景色、前景色、强调色,支持透明背景和自定义字体。
- 批量渲染:通过 batch.mjs 脚本并行处理多个图表,支持 --workers 参数控制并发数(默认 4)。
- 模板:assets/example_diagrams/ 目录下提供 flowchart.mmd、sequence.mmd、state.mmd、class.mmd、er.mmd 模板。
使用方式
渲染单个图表:
node scripts/render.mjs
--input diagram.mmd
--output diagram.svg
--format svg
--theme tokyo-night
ASCII 输出:
node scripts/render.mjs
--input diagram.mmd
--format ascii
--use-ascii
批量渲染:
node scripts/batch.mjs
--input-dir ./diagrams
--output-dir ./output
--format svg
--theme dracula
--workers 4
列出所有主题:
node scripts/themes.mjs
自定义颜色:
node scripts/render.mjs
--input diagram.mmd
--bg "#1a1b26"
--fg "#a9b1d6"
--accent "#7aa2f7"
--output custom.svg
透明背景:
node scripts/render.mjs
--input diagram.mmd
--transparent
--output transparent.svg
自定义字体:
node scripts/render.mjs
--input diagram.mmd
--font "JetBrains Mono"
--output custom-font.svg
适用场景
- 为技术文档生成架构图、流程图。
- 为 API 文档生成序列图。
- 为数据库文档生成 ER 图。
- 为 README 或终端生成 ASCII 图表。
- 为演示文稿生成高对比度图表。
限制
- 依赖 Node.js 环境,需安装 beautiful-mermaid 库(首次运行应自动安装,若失败需手动执行 npm install)。
- 图表语法需符合 Mermaid 规范,错误语法会导致解析失败。
- 建议图表节点数不超过 50 个以保证渲染速度。
- 主题和图表类型的具体细节可参考 THEMES.md 和 DIAGRAM_TYPES.md。
- 其他未在资料中提及的功能、收费、平台或效果暂未提供。