Skip to main content

Module mermaid

Module mermaid 

Source
Expand description

Mermaid 服务端渲染(merman,Mermaid 12.1 的 Rust 实现)。

每个 ```mermaid 块渲染成浅色、深色两份内联 SVG: <div class="mermaid-light">…</div><div class="mermaid-dark">…</div>,由 CSS 按 html.dark 显示其一(styles/components/mermaid.css)。HTML 标签模式,字宽见 metrics。 渲染失败时降级为 <pre class="mermaid-error"> 显示源码,文章照常保存。

SVG 含 <style>、foreignObject 等 sanitizer 不放行的内容,所以 Markdown 管线先输出 占位符、sanitize 之后再换成 SVG(Diagrams);SVG 由 merman 生成,作者文本已被其转义。

Modules§

config 🔒
Mermaid 站点配置与配色。
metrics 🔒
Mermaid 排版用的字宽回调。
svg 🔒
merman 输出 SVG 的后处理:子图重叠检测与子图标题置顶。

Structs§

Diagrams 🔒
一次 Markdown 渲染中的全部图表:先写占位符,sanitize 之后再换成 SVG。

Constants§

MAX_SPACING_STEPS 🔒
子图框重叠时 nodeSpacing 的最大加宽档数(每档 10px,起点 50)。

Functions§

render_diagram 🔒
渲染一张图的浅色与深色两份 SVG,返回两个 div。
render_one 🔒
strip_dark_variants 🔒
删掉深色版本,只留浅色 SVG(Feed 阅读器没有站点 CSS,不处理会同时显示两份)。