Simon Willison 发布了一款名为「Mermaid 转 ASCII 艺术」(mermaid-ascii) 的新型在线工具,该工具能够将 Mermaid 图表语法转换为 ASCII 或 Unicode 方框绘制图形,所有处理均在浏览器本地完成,无需服务器端参与。此前,Willison 曾基于 Grok Build 的 Rust 代码构建过一个类似的 Mermaid 转 ASCII 工具,但在随后的探索中,他发现了一个更早且功能更全面的 Go 语言库——AlexanderGrooff/mermaid-ascii。为了对比两者的效果,他使用 Claude Fable 5 将这一 Go 库编译为 WebAssembly,从而在浏览器中实现了相同的功能。
新工具的一大亮点在于对颜色的全面支持。用户可以通过 classDef 语句为节点定义不同的颜色,例如使用绿色表示构建成功和测试通过,黄色表示部署警告,红色表示回滚失败。这种颜色编码使得图表的状态一目了然,大大增强了可读性。工具界面设计直观,提供了丰富的控制选项:顶部一排选项卡涵盖了流程图、多链接、子图、多行标签、颜色、序列图、交替片段、循环+笔记以及并行等多种图表类型。用户可以通过滑块或输入框调整填充(Padding X 和 Padding Y)以及框内间距(Box padding),从而精细控制输出图形的外观。生成的 ASCII 艺术图可以通过「复制为文本」按钮一键复制,或者通过「复制链接到此图」按钮生成可分享的链接,方便与他人协作。
该工具的核心技术是基于 WebAssembly 的 Go 库编译,因此所有计算都在用户的浏览器内完成,无需向服务器发送任何数据。这不仅保护了用户隐私,还带来了极快的响应速度。此外,界面上还提供了一个「仅 ASCII」复选框,用户可以选择仅使用 ASCII 字符(而非 Unicode 方框绘制字符)来生成图形,这在某些终端或纯文本环境中非常实用。总的来说,mermaid-ascii 工具为开发者和技术写作者提供了一种将 Mermaid 图表转换为文本形式的高效途径,尤其适合在文档、代码注释或终端输出中嵌入图表。