新闻详情

新闻详情

首页 / 资讯中心 / 详情

Mermaid源码排版规则

发布时间:2026/11/16 2:58:11来源:尧图网络
Mermaid源码排版规则
适配 flowchart / sequenceDiagram / classDiagram / erDiagram优先流程图最常用1. 行预处理每一行先trimEnd()移除行尾空格跳过空行压缩连续多个空行 → 只保留最多1个空行识别行类型图表声明行flowchart TD/graph LR/sequenceDiagram→直接顶格输出重置缩进块开始subgraph xxx/alt/loop/par→ 当前缩进输出本行缩进1块结束end→缩进-1再输出本行end和块关键字同级注释行%% xxx→ 跟随当前缩进原样保留注释内容连线/语句A--B、style A fill:#ccc、classDef→ 当前缩进输出并且自动给连线两侧补空格A--B→A -- B2. 连线空白规则重点美化匹配正则/(\s*)([A-Za-z0-9_\-])(\s*)(--[-]|-.-|)(\s*)([^;])/箭头运算符--,-.-,,---两侧强制加单个空格❗ 标签内字符串[hello -- world]内部不替换需要跳过引号包裹区域难点3. 缩进规则分图表类型✅ flowchart / graphflowchart TD A -- B subgraph Group B -- C C -- D end D -- Esubgraph本行按当前缩进之后层级1end层级先-1再打印 end节点连线、style、classDef使用当前层级缩进✅ sequenceDiagramsequenceDiagram participant U as User participant S as Server loop 循环 U-S: 请求 S--U: 返回 endparticipant/actor永远顶格不受缩进影响loop/alt/opt/par块开启缩进1end 回退缩进✅ classDiagramclassDiagram class User { String name login() }class X {当前缩进遇到{缩进1}缩进-1输出}4. 注释处理非常影响可读性%%单行注释跟随当前缩进原样保留内容不移动注释位置注释属于当前行不会漂移到别的节点旁边限制不支持多行注释%% ... \n ... %%Mermaid原生也很少用边界 case必须做判断否则会破坏图表引号内文本跳过A[Hello -- World]里面的--不要替换空格实现小技巧Lexer 扫描时维护inQuote标记碰到切换开关引号内部不做箭头正则替换。多行标签A[line1\nline2]内部换行保持原样。单行多连线A--B B--C可选配置项「是否强制拆分成多行」建议默认不拆分避免破坏用户意图。非法语法容错遇到无法识别的行原样输出不报错不要直接中断格式化。特殊字符# , : |在标签内不做任何修改。极简可运行 JS Demo流程图格式化核心可嵌入编辑器按钮点击事件仅演示 flowChart可扩展其他图表functionformatMermaid(source){constlinessource.split(/\r?\n/);letindentLevel0;constindent ;constresult[];letinQuotefalse;functionformatArrow(line){// 简单替换箭头跳过引号内部letout;for(leti0;iline.length;i){constcline[i];if(c)inQuote!inQuote;outc;if(!inQuote){outout.replace(/(--|-.-||---)/g, $1 );}}// 清理多余连续空格outout.replace(/\s/g, ).trim();returnout;}for(constrawLineoflines){constlinerawLine.trim();if(line){result.push();continue;}// 图表声明行if(/^(flowchart|graph|sequenceDiagram|classDiagram|erDiagram)/.test(line)){indentLevel0;result.push(line);continue;}// end 块结束先减缩进if(/^end\b/.test(line)){indentLevelMath.max(0,indentLevel-1);result.push(indent.repeat(indentLevel)line);continue;}// subgraph / loop / alt 块开始if(/^(subgraph|loop|alt|opt|par)\b/.test(line)){constformattedformatArrow(line);result.push(indent.repeat(indentLevel)formatted);indentLevel;continue;}// 注释行if(/^%%/.test(line)){result.push(indent.repeat(indentLevel)line);continue;}// 普通连线、style、classDefconstformattedformatArrow(line);result.push(indent.repeat(indentLevel)formatted);}// 合并空行连续空行只保留1个returnresult.join(\n).replace(/\n\s*\n/g,\n\n);}
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉