纪念一下, AI+rust 搓了个 headless 版 mermaid 库 200 star 了!

查看 17|回复 1
作者:frankmdong   
一开始只是想给我的参考 zed 编辑器的 ui 框架 gpui 来写一个新的 Rust 自绘 UI 框架,还有配套的一些渲染方面的库。这其中包括一个重写 mermaid.js 的 rust 库。
库目标是不依赖浏览器的能力下渲染 mermaid 图为 svg 、png 等格式,是一个 headless 的渲染器。最近几个月一直让 codex 对着 mermaid.js 转换出来的 svg 来作为测试来不断补全逻辑。
就这么一直跑了三四个月,三千多个提交,一直没推广,就 10 个 star 。某天一看多了 3 个 star ,一搜原来 zed 编辑器仓库有个 pr markdown: Merman 用了我的库来替换另一个 mermaid 渲染库,来方便编辑器更准确的渲染 mermaid 图图表 (例如 markdown 预览)。然后我赶紧又开始修 bug ,也惊讶于 zed 编辑器居然能找到我这个不知名的库。


最近发了一个大版本之后,reddit 发了帖。没想到还挺火,仓库 star 今天也刚过 200 ,这还是我第一个过百 star 的项目!很开心,因此来和大家分享下!
自己感觉 ai 还挺适合这种累活的,可以强验证结果的前提下不断暴力的去拟合,自己对比输出来找 bug 。当然也要人为的和 AI 讨论移植方案和进行一些架构的拆分(例如布局库也要移植,图表才准确)。
  • rust 移植所有依赖的布局库:Dagre + Graphlib, Cytoscape/FCoSE/COSE-style compound.
  • 用大量 test case 和 golden fixture 来限制验证 svg 输出准确性
  • 在保证输出正确的同时不断无畏重构优化性能

    项目: https://github.com/Latias94/merman
    Playground: https://frankorz.com/merman
    适合一些只是需要 mermaid 图表的渲染但是不得不引入浏览器和 js 运行时的场景,例如编辑器、静态文档生成、ci 等。

    mermaid, Rust, 渲染

  • getadoggie   
    支持一个!
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部