[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3ioty2f29avj5":3},{"code":4,"message":5,"data":6,"timestamp":26},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":22,"homepage":23,"updated_at":24,"history":25},"wevm\u002Fondine",15,"Fast and simple diagrams.","Rust",409,19,58,7,[],"把 Mermaid 图表在构建时编译成 SVG，页面只需挂载，不再在浏览器里加载完整渲染器。","如果你的文档页为了画几张 Mermaid 图而在浏览器里加载解析和布局代码，Ondine 把这一步挪到构建阶段，最终输出静态 SVG。对在意页面体积的静态站点和文档作者值得一看，但它还是个很年轻的项目，支持范围也有限。\n\n## 解决什么问题\n\n文档作者在 Markdown 里写一段 Mermaid 时序图或流程图，站点在每次访问时用浏览器端渲染器解析、布局并绘出 SVG。这样能用，但渲染器体积不小，还要在客户端执行，图表出现前可能造成布局跳动。Ondine 把这一步换掉：图表由 Rust 工具链提前编译，页面只用一个很小的运行时挂载已经生成的 SVG。结果就是浏览器拿到的是成品图表，而不是“请先画一张图”的指令。\n\n## 有什么不同\n\nOndine 的核心选择是“先编译、后展示”。Vite 插件把 `.mmd` 导入编译成构建期 SVG，CLI 可以从文件或标准输入编译，Node 编译器把同一条渲染路径提供给脚本和服务端。主题使用 `--ondine-*` CSS 自定义属性，已经编译好的图表可以在不重新编译的情况下切换明暗配色。README 还列出了 Markdown\u002FMDX 的 remark 集成、可选的浏览器端 WASM 编译，以及一个把 URL 中编码的图表渲染成图片的 GitHub Worker。\n\n主要取舍在于，Ondine 不是通用图表引擎。它主张输入与 Mermaid 兼容，而可用模块按“每种图表类型一个或 `all` 打包”来描述，这意味着支持的图表类型是有限集合，而不是全部 Mermaid 语法。如果你的图表用到集合之外的写法，问题会在编译阶段暴露。构建期模型还意味着图表被打进产物，改外观需要重新构建站点，而不能让客户端重新渲染。\n\n## 谁值得试\n\n适合已经在用 Vite 或 Node 构建的文档站和博客：Mermaid 图较多，目标是不再向客户端下发体积较大的渲染器。`.mmd` 导入和 remark 集成让团队不必重写内容就能接入，前提是图表落在已支持的 Mermaid 子集内。GitHub 图片 Worker 是另一条无需构建的路径，适合在 README 里放图。\n\n不适合需要用户在浏览器里交互编辑图表并即时看到结果的场景，也不适合依赖 Ondine 支持范围之外的 Mermaid 特性的团队。README 没有提供兼容性对照表，大规模迁移文档前应先确认图表类型覆盖情况。\n\n## 使用条件与边界\n\n明显的条件是编译需要 Rust 工具链，以及与 JavaScript 生态的集成点：Vite 插件、Node 编译器、remark 插件和 WASM 模块。README 列出了 Vite 插件、CLI、Node 和浏览器端编译的接入指南，但链接是仓库内的相对路径，建议从[项目文档](https:\u002F\u002Fondine.sh)和[仓库](https:\u002F\u002Fgithub.com\u002Fwevm\u002Fondine)入手。日常维护包括让编译产物与源文件改动保持同步，并让主题变量和站点 CSS 对齐。\n\n最关键的两条边界：一是兼容性，README 声称输入兼容 Mermaid，但没有列出覆盖的图表类型，只能拿真实图表去验证；二是预编译 SVG 让页面变小，也让图表变成静态内容，交互频繁或经常变化的图表拿不到同样的好处。\n\n## HotRepo 点评\n\n截至 2026-10-25 的快照，这个仓库创建仅 6 天，总星数 399，在 Rust 新项目榜（不是总榜）上位列第 15，观测日期为 2026-10-25。这只是年轻项目的一个快照，不是单日增长数据。HotRepo 的存储覆盖里没有可比的每日榜单历史，因此目前无法判断热度能否持续。真要迁移前，先确认 Ondine 支持的图表类型覆盖你文档里已有的 Mermaid 图。",{"slug":19,"name":20},"media","多媒体与设计",[],"NOASSERTION","https:\u002F\u002Fondine.sh","2026-10-25T02:57:50Z",[],1792918678]