Typora 原生流程图语法完全指南(Flowchart.js)

Typora 原生流程图语法完全指南(Flowchart.js)

Typora 通过集成 flowchart.js 原生支持流程图渲染。

使用 ```````mermaid flowchat```` 代码块触发,无需安装任何插件。

### 文章目录

  • [Typora 原生流程图语法完全指南(Flowchart.js)](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [@[toc]](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [一、基本结构](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [二、节点语法](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [2.1 节点定义格式](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [2.2 节点类型一览](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [2.3 节点定义示例](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [三、连接语法](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [3.1 基本连接](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [3.2 条件节点的连接](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [3.3 指定连接方向](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [3.4 并行节点的连接](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [四、完整示例](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.1 最简示例](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.2 带判断的流程](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.3 带循环的流程(回路)](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.4 带 IO 和子程序的流程](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.5 带并行路径的流程](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.6 控制箭头方向的流程](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [4.7 带超链接的节点](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [五、Flowstate 节点样式](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [5.1 给节点打标签](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [5.2 Flowstate 的限制(Typora 中)](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [六、注意事项与常见问题](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [✅ 正确写法](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [❌ 常见错误](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [关于中文](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [关于多行文字](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)
  • [七、语法速查卡](#文章目录 Typora 原生流程图语法完全指南(Flowchart.js) @[toc] 一、基本结构 二、节点语法 2.1 节点定义格式 2.2 节点类型一览 2.3 节点定义示例 三、连接语法 3.1 基本连接 3.2 条件节点的连接 3.3 指定连接方向 3.4 并行节点的连接 四、完整示例 4.1 最简示例 4.2 带判断的流程 4.3 带循环的流程(回路) 4.4 带 IO 和子程序的流程 4.5 带并行路径的流程 4.6 控制箭头方向的流程 4.7 带超链接的节点 五、Flowstate 节点样式 5.1 给节点打标签 5.2 Flowstate 的限制(Typora 中) 六、注意事项与常见问题 ✅ 正确写法 ❌ 常见错误 关于中文 关于多行文字 七、语法速查卡)

一、基本结构

一个 flowchart.js 流程图由两部分组成:

复制代码
节点定义区(Node Definitions)
(空行分隔)
连接定义区(Connection Definitions)

在 Typora 中的写法:

markdown 复制代码
```mermaid
flowchat
节点变量名=>节点类型: 显示文字

节点变量名->节点变量名
```

二、节点语法

2.1 节点定义格式

复制代码
nodeName=>nodeType: 节点文字[|flowstate][:>urlLink]
部分 说明 是否必填
nodeName 节点变量名,用于连接引用,只能用字母、数字、下划线 必填
=> 固定分隔符 必填
nodeType 节点类型(见下表) 必填
: 节点文字 节点内显示的文本,冒号后有一个空格 必填
` flowstate` 自定义样式标签(可选)
:>urlLink 点击跳转的链接(可选) 可选

2.2 节点类型一览

节点类型 关键字 形状 说明
开始 start 圆角矩形(椭圆) 流程的起点,默认文字 "Start"
结束 end 圆角矩形(椭圆) 流程的终点,默认文字 "End"
操作步骤 operation 矩形 表示一个具体操作
输入/输出 inputoutput 平行四边形 表示 IO 操作(输入或输出)
纯输入 input 平行四边形 仅表示输入
纯输出 output 平行四边形 仅表示输出
子程序 subroutine 双竖线矩形 表示调用一个子流程
判断/条件 condition 菱形 表示一个判断,分出 yes/no 两路
并行 parallel 双横线矩形 表示多条路径同时进行

2.3 节点定义示例

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
e=>end: 结束
op=>operation: 处理数据
io=>inputoutput: 读写文件
inp=>input: 用户输入
out=>output: 打印结果
sub=>subroutine: 调用子程序
cond=>condition: 是否继续?
para=>parallel: 并行处理

st->op
```

Created with Raphaël 2.3.0 开始 处理数据

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
io=>inputoutput: 输入密码
cond=>condition: 密码是否正确?
op_success=>operation: 登录成功
op_fail=>operation: 提示错误并锁定
e=>end: 结束

st->io->cond
cond(yes)->op_success->e
cond(no, right)->op_fail(bottom)->io
```

Created with Raphaël 2.3.0 开始 输入密码 密码是否正确? 登录成功 结束 提示错误并锁定 yes no


三、连接语法

3.1 基本连接

使用 -> 连接节点,可以链式写多个:

复制代码
节点A->节点B->节点C

3.2 条件节点的连接

condition 类型节点需要指定 yesno 两个出口:

复制代码
cond(yes)->节点A
cond(no)->节点B

3.3 指定连接方向

在节点名后括号内加方向,控制箭头从哪个方向伸出:

复制代码
节点名(方向)->下一节点

可用方向:rightlefttopbottom(默认从底部向下)

条件节点指定方向:

复制代码
cond(yes, right)->节点A
cond(no, bottom)->节点B

普通节点指定方向:

复制代码
op1(right)->op2

3.4 并行节点的连接

parallel 类型使用 path1path2path3... 分支:

复制代码
para(path1, bottom)->节点A
para(path2, right)->节点B
para(path3, left)->节点C

四、完整示例

4.1 最简示例

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
e=>end: 结束
op=>operation: 执行操作

st->op->e
```

Created with Raphaël 2.3.0 开始 执行操作 结束


4.2 带判断的流程

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
cond=>condition: 用户已登录?
login=>operation: 跳转登录页
home=>operation: 进入主页
e=>end: 结束

st->cond
cond(yes)->home->e
cond(no)->login->e
```

Created with Raphaël 2.3.0 开始 用户已登录? 进入主页 结束 跳转登录页 yes no


4.3 带循环的流程(回路)

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
op=>operation: 处理数据
cond=>condition: 处理完成?
e=>end: 结束

st->op->cond
cond(yes)->e
cond(no)->op
```

Created with Raphaël 2.3.0 开始 处理数据 处理完成? 结束 yes no


4.4 带 IO 和子程序的流程

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
inp=>operation: 读取配置文件
op=>operation: 初始化系统
sub=>operation: 调用认证模块
out=>operation: 输出日志
e=>end: 结束

st->inp->op->sub->out->e
```

Created with Raphaël 2.3.0 开始 读取配置文件 初始化系统 调用认证模块 输出日志 结束


4.5 带并行路径的流程

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
op=>operation: 拆分任务
para=>parallel: 并行执行
task1=>operation: 任务 A
task2=>operation: 任务 B
merge=>operation: 合并结果
e=>end: 结束

st->op->para
para(path1, bottom)->task1->merge
para(path2, right)->task2->merge
merge->e
```

Created with Raphaël 2.3.0 开始 拆分任务 并行执行 任务 A 合并结果 结束 任务 B


4.6 控制箭头方向的流程

markdown 复制代码
```mermaid
flowchat
st=>start: 开始
op1=>operation: 步骤一
op2=>operation: 步骤二
cond=>condition: 审核通过?
reject=>operation: 打回修改
e=>end: 结束

st->op1(right)->op2->cond
cond(yes, right)->e
cond(no, bottom)->reject(right)->op1
```

Created with Raphaël 2.3.0 开始 步骤一 步骤二 审核通过? 结束 打回修改 yes no


4.7 带超链接的节点

节点可以绑定 URL,点击后跳转(在 Typora 导出 HTML 时有效):

markdown 复制代码
```mermaid
flowchat
st=>start: 开始:>https://example.com[blank]
op=>operation: 查看文档:>https://docs.example.com
e=>end: 结束

st->op->e
```

[blank] 表示在新标签页打开,省略则在当前页打开。
Created with Raphaël 2.3.0 开始 查看文档 结束


五、Flowstate 节点样式

flowstate 允许给节点打上自定义样式标签,通过 | 符号附加在节点定义末尾。

5.1 给节点打标签

复制代码
nodeName=>nodeType: 节点文字|标签名

示例:

复制代码
op1=>operation: 已完成步骤|past
op2=>operation: 当前步骤|current
op3=>operation: 待办步骤|future

5.2 Flowstate 的限制(Typora 中)

Typora 渲染时,flowstate 的外观样式(颜色、字体等)由底层 JS 选项控制,在纯 Markdown 文件中无法直接通过代码块内的语法修改颜色。flowstate 标签本身是标识符,样式需通过 JavaScript API 配置(Typora 不暴露此配置入口)。

因此在 Typora 的 flow 代码块中,|flowstate 标签可以写,但视觉效果不变,主要用于逻辑标注或未来导出到 HTML 后配合自定义脚本使用。


六、注意事项与常见问题

✅ 正确写法

复制代码
op=>operation: 文字内容

节点类型后的冒号 : 与文字之间必须有一个空格

❌ 常见错误

错误写法 问题 正确写法
op=>operation:文字 冒号后无空格 op=>operation: 文字
op=>operation : 文字 => 后有空格 op=>operation: 文字
节点名 -> 变量名含空格 nodeName->
cond->yes->op 条件出口写法错误 cond(yes)->op
end=>end: end 变量名用了保留字 e=>end: 结束

关于中文

节点变量名 不支持中文,只能用英文字母、数字和下划线。

节点显示文字(冒号后面的部分)完全支持中文。

markdown 复制代码
```mermaid
flowchat
st=>start: 开始        ✅ 变量名 st,显示"开始"
结束=>end: 开始       ❌ 变量名不能用中文
st->结束
```

Created with Raphaël 2.3.0 开始 ✅ 变量名 st,显示"开始" 开始 ❌ 变量名不能用中文

markdown 复制代码
```mermaid
flowchat
st=>start: 开始        ✅ 变量名 st,显示"开始"
end=>end: 结束       ✅ 变量名 end,显示"结束"
st->end
```

Created with Raphaël 2.3.0 开始 ✅ 变量名 st,显示"开始" 结束 ✅ 变量名 end,显示"结束"

关于多行文字

节点文字支持换行,使用 \n

复制代码
op=>operation: 第一行\n第二行

七、语法速查卡

复制代码
# ── 节点定义 ──────────────────────────────────────
st   =>start:       开始/结束节点(圆角矩形)
e    =>end:         结束节点
op   =>operation:   操作节点(矩形)
io   =>inputoutput: 输入/输出节点(平行四边形)
inp  =>input:       输入节点
out  =>output:      输出节点
sub  =>subroutine:  子程序节点(双竖线矩形)
cond =>condition:   判断节点(菱形)
para =>parallel:    并行节点

# ── 可选附加 ──────────────────────────────────────
op=>operation: 文字|样式标签          # flowstate 样式标签
st=>start: 文字:>https://url.com      # 绑定超链接
st=>start: 文字:>https://url[blank]   # 新标签页打开

# ── 连接定义 ──────────────────────────────────────
A->B->C                        # 基本链式连接
cond(yes)->A                   # 条件 yes 出口
cond(no)->B                    # 条件 no 出口
cond(yes, right)->A            # 条件出口 + 方向
op(right)->next                # 普通节点指定方向
para(path1, bottom)->A         # 并行路径 1
para(path2, right)->B          # 并行路径 2

# ── 可用方向 ──────────────────────────────────────
right  /  left  /  top  /  bottom

参考资料:Typora 官方文档 · flowchart.js 官方仓库

相关推荐
scan72411 小时前
langgraphy条件边
前端·javascript·html
冰小忆12 小时前
类变量在继承场景下的初始化规则是怎样的?
java·前端·数据库
用户9385156350712 小时前
《JS 对象知识地图:10 个小节,从字面量到原型链全覆盖》
javascript
YAwu1112 小时前
JavaScript this 底层机制剖析
前端·javascript
tedcloud12312 小时前
wifi-densepose部署教程:构建无线人体感知系统
服务器·javascript·网络·typescript·ocr
用户8524950718412 小时前
帮你搞清楚对付js里对象的小妙招^_^
javascript
你好潘先生13 小时前
让 AI 任务不丢进度:YeeroAI 后台续跑与全局快捷操作实践
前端·人工智能·后端
不好听61313 小时前
javascript中对象的简单了解
javascript