当前支持
| 能力 | 当前行为 |
|---|---|
| 语言 | Mermaid、PlantUML、DOT;围栏别名 puml、graphviz |
| 渲染 | 浏览器本地;PlantUML 官方 JS 核心、Graphviz WASM |
| 编辑 | 共用 CodeMirror 6 vendor,词法着色、查找替换、缩进、撤销 |
| 输出 | 净化的静态 SVG、白底 PNG、完整源码对象、标准 Markdown 围栏 |
| UI | 中文 / 英文、明暗主题、窄屏纵向排列 |
| 模板 | 25 个双语模板;不代表完整 DSL 功能清单 |
与官方工具的差别
PlantUML 使用官方 JavaScript 核心,不是一个调用完整 Java 服务端的客户端。JS 构建的语法、字体测量、留白和可选库支持可能与 Java 发行版不同。需要精确外观时使用同一引擎版本、相同源码和相同字体做比较。
Mermaid 使用严格安全模式、经典外观和固定布局设置;禁止源码初始化指令和 HTML 标签。DOT 使用 dot 布局引擎,不提供布局算法选择。宿主 UI 的深色主题不会改写已保存的图形颜色,PNG 使用白底便于文档输出。
外部 include、网络图片、链接交互、SVG 动画、PlantUML 可选主题/图库和 D2 当前不开放。SVG 会去掉链接、图片、foreignObject 和动画,并拒绝外部样式资源。
大小预算
| 内容 | 限制 |
|---|---|
| 源码 | 30,000 个 UTF-16 单元;编辑器整体拒绝超限修改 |
| 标题 | 200 个 UTF-16 单元 |
| Mermaid | 最多 500 条边,渲染请求串行 |
| SVG | 不超过 4,000,000 字符;单轴不超过 30,000 CSS px |
| PNG | 单轴不超过 4096 px、总像素不超过 8,000,000 |
| 持久化 PNG data URL | 最多 12 × 1024 × 1024 字符 |
| PlantUML / DOT 请求 | 20 秒超时 |
常见故障
| 现象 | 检查与恢复 |
|---|---|
| 语法着色正常但没有预览 | 着色不是 DSL 验证;检查引擎错误,先试同语言模板 |
| Mermaid 正常,PlantUML / DOT 超时 | 检查引擎静态资源、sandbox 和 CSP;不要重复提交相同请求 |
| 预览正常但无法保存 | 等待最新预览;确认未处于中文组合输入,检查目标/权限/存储失败 |
| 切换语言后草稿不同 | 每种语言保留独立草稿;选模板后需要“应用模板”才替换 |
| 导出的 PNG 无法重新编辑 | PNG 不携带可恢复源码;保存完整对象或 Markdown 围栏 |
引擎出错后原文仍保留。应用应允许修正、重试或下载有效结果,不用新模板自动覆盖失败草稿。资源接入见部署与资源。