Skip to main content

Module svg

Module svg 

Source
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。