Expand description
merman 输出 SVG 的后处理:子图重叠检测与子图标题置顶。
Constants§
- CLUSTERS 🔒
- SELF_
LABEL_ 🔒LIFT - 时序图自调用消息标签的上移量(px)。
Functions§
- attr_
value 🔒 - 取开标签里
name="…"的值(属性名前须为空格)。 - balanced_
g_ 🔒end - 返回从
start(指向某个<g开标签)起、与之配对的</g>结束位置(不含)。 - cluster_
rects 🔒 - 取
<g class="cluster" ...><rect ... x= y= width= height=>的矩形,按 clusters 组分组。 - finish 🔒
- 最终修正:去掉末尾换行(
strip_dark_variants依赖</svg></div></figure>紧邻); 子图标题置顶;时序图自调用标签让开序号;HTML 标签的 foreignObject 允许溢出可见 (字体实际宽度略超测量值时不裁掉文字,与 Mermaid 前端渲染时的修正一致);extra_css追加到 SVG 自带的第一个<style>末尾。 - has_
cluster_ 🔒overlap - 同一 clusters 组内两个子图框相交超过 0.5px 且互不包含(不是嵌套关系)即视为重叠。
- lift_
cluster_ 🔒labels - 在每个
<g class="clusters">内,把所有子图标题移到全部子图底框之后绘制,标题总在最上层。 - lift_
labels_ 🔒in_ group - 处理一个完整的 clusters 组;解析失败时原样输出该组。
- lift_
self_ 🔒message_ labels - 时序图自调用消息的标签上移
SELF_LABEL_LIFT。