用 WebAssembly 在浏览器中渲染 Mermaid 终端图

Simon Willison11 天前

一位开发者在研究新近开源的 Grok CLI 编码代理代码库时,发现其中包含一个用 Rust 编写的 Mermaid 图表终端渲染器。该模块的定位是“自包含的 Mermaid 图表终端渲染器”,可以把 Mermaid 图形表示转换成适合终端显示的 Unicode 方框字符图。

出于实验目的,开发者尝试通过 WebAssembly 将这个 Rust 渲染能力搬到浏览器中运行,并制作了一个小工具:用户可以输入 Mermaid 图表代码,在页面中查看对应的 Unicode 文本图形输出。

示例流程图包含如下逻辑:

  • 请求进入系统;
  • 判断是否已认证;
  • 未认证则返回 401 Unauthorized
  • 已认证则继续检查限流;
  • 限流通过后处理请求;
  • 限流未通过则返回 429 Too Many Requests
  • 请求处理后记录审计日志,并返回 200 OK

这个实验展示了一个有趣的方向:原本用于终端环境的图表渲染能力,可以通过 WebAssembly 复用到浏览器中,让 Mermaid 图不仅能生成 SVG 或图片,也能输出便于复制、粘贴和在纯文本环境中展示的字符画版本。

对于经常在终端、Markdown、代码评审或文本日志中展示架构图和流程图的开发者来说,这类工具可能会很实用。

评论

请登录后发表观点

暂无数据