运行时 API
运行时层负责把 wrapper HTML 升级成可交互的图表壳层
入口函数
initMermaidIt(root?)
查找尚未挂载的 wrapper,并完成首次挂载
ts
import { initMermaidIt } from 'markdown-it-mermaid-enhanced/runtime'
await initMermaidIt(document.querySelector('#app')!)rerenderMermaidIt(root?)
重新读取现有 wrapper 的配置与源码,然后原地刷新
ts
import { rerenderMermaidIt } from 'markdown-it-mermaid-enhanced/runtime'
await rerenderMermaidIt(document.querySelector('#app')!)initWrapper(wrapper)
直接挂载或刷新单个 wrapper,适合自定义宿主里的局部生命周期控制
导出辅助函数
运行时模块还会导出几组更底层的 helper
| 函数 | 作用 |
|---|---|
downloadSvg | 保存当前 SVG |
downloadPng | 光栅化并保存 PNG |
copyToClipboard | 复制图表源码 |
toggleFullscreen | 调用浏览器全屏 API |
convertMermaidToExcalidraw | 单独执行 Mermaid 转 Excalidraw |
createPanZoom | 创建缩放与拖拽控制器 |
运行时行为备注
- 已挂载 wrapper 会进入缓存并复用
- 已脱离文档流的 wrapper 会自动清理
- 纯配置刷新会原地重渲染,并保留当前 SVG 节点
- 当前运行时模型下,纯配置刷新也会保留缩放状态