Mermaid 转 ASCII 艺术工具:Go 版支持彩色,已编译为 WebAssembly 在线可用
Simon Willison 将 Go 语言实现的 mermaid-ascii 库编译为 WebAssembly,推出在线工具,支持将 Mermaid 流程图转为彩色 ASCII 艺术。本文介绍该工具的功能、与 Rust 版的对比,以及对中文用户的使用价值。
一句话看懂
Simon Willison 将 Go 版 mermaid-ascii 库编译为 WebAssembly,推出在线工具,支持将 Mermaid 流程图转为彩色 ASCII 艺术,无需安装即可在浏览器中使用。
详细发生了什么
Simon Willison 此前基于 Grok Build 的 Rust 代码构建了一个 Mermaid 转 ASCII 工具。随后他发现了一个更成熟的 Go 语言库 AlexanderGrooff/mermaid-ascii,该库功能更全面,并且支持颜色输出。于是他用 Claude Fable 5 将该 Go 库编译为 WebAssembly,并部署为在线工具 mermaid-ascii,以便与之前的 Rust 版本进行对比。
新工具的核心优势在于支持颜色:用户可以在 Mermaid 语法中使用 classDef 定义颜色(如 classDef good color:#3fb950),生成的 ASCII 流程图会以彩色文本显示。工具提供了多个示例模板,包括流程图、多链接、子图、多行标签、颜色、序列图、可选片段、循环+注释、并行等。用户还可以调整 Padding X/Y、Box padding 等参数,并支持“ASCII only”模式(仅输出纯 ASCII 字符)。
中文圈视角
对中文用户来说,这个工具最大的价值在于无需安装任何软件:Mermaid 是文档和笔记中常用的图表语法,但很多在线渲染器需要 JavaScript 或外部服务。而 mermaid-ascii 完全在浏览器本地运行,通过 WebAssembly 执行,不依赖网络,适合在离线环境或对隐私敏感的场景下使用。
与国内类似工具的对比:国内如 ProcessOn、Draw.io 等在线绘图工具虽然功能强大,但通常需要注册账号,且不支持直接粘贴 Mermaid 代码生成 ASCII 图。而 mermaid-ascii 轻量、免费、无广告,特别适合开发者嵌入到 Markdown 文档、GitHub README 或技术博客中。不过,它目前只支持流程图和序列图等基本类型,复杂图表(如甘特图、类图)尚未支持。
中文用户的一个盲点:很多人在写技术文档时仍使用截图展示流程图,但截图不易维护且无法搜索。使用 ASCII 艺术图可以直接嵌入文本,方便版本控制和全文检索。这个工具恰好填补了“从 Mermaid 到纯文本图表”的空白。
几条值得记住的细节
- 工具基于 Go 库 AlexanderGrooff/mermaid-ascii,通过 WebAssembly 在浏览器中运行。
- 支持颜色输出,使用 Mermaid 的
classDef语法定义颜色代码。 - 提供“ASCII only”选项,可生成纯 ASCII 字符图(不含 Unicode 边框)。
- 可调整 Padding X/Y 和 Box padding 参数,控制图表间距。
- 支持复制为纯文本或生成带参数的链接,方便分享。
一句话总结
如果你经常用 Mermaid 画流程图并需要嵌入纯文本文档,这个在线工具是免费、离线可用且支持彩色的好选择。