banner
Leo

Leo的恒河沙

一个活跃于在珠三角和长三角的商业顾问/跨境电商专家/投资人/技术宅/骑行爱好者/两条边牧及一堆小野猫的王/已婚;欢迎订阅,日常更新经过我筛选的适合精读的文章,横跨商业经济情感技术等板块,总之就是我感兴趣的一切

2023-09-18-使用Typora工具绘制流程图_participant as 使用 typro_时了了的博客-CSDN博客

使用 Typora 工具绘制流程图_participant as 使用 typro_时了了的博客 - CSDN 博客#

#Omnivore

使用 Typora 工具绘制流程图#

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

使用 Typora 工具绘制流程图#

Typora 编辑器简介#

Typora 编辑器让人们能更简单地用 Markdown 语言书写文字,解决了使用传统的 Markdown 编辑器写文的痛点,并且界面简洁优美,实现了实时预览等功能。
Typora 官网: https://typora.io/.
windos 版本下载地址:https://typora.io/#windows.

使用 Mermaid 语法绘制流程图#

Mermaid 可让您使用文本和代码创建图表和可视化。它是一种基于 Javascript 的图表和图表工具,可呈现受 Markdown 启发的文本定义以动态创建和修改图表。
官网: https://mermaidjs.github.io/.
Github 项目地址: https://github.com/knsv/mermaid.

1. 流程图方向#

2. 节点形状#

矩形节点圆角矩形节点圆形节点右向旗帜状节点 / 非对称节点 (asymetric shape)菱形节点(rhombus)
A [描述]B (描述)C ((描述))D > 描述]E {描述}

* 描述可以使用引号抑制一些特殊字符的使用。eg[“box”]

3. 节点间的连线#

单线单线加文字粗线粗线加文字虚线虚线加文字
—(3 个 -) 或 -->(2 个–)–text—(前 2 - 后 3-) 或 --text–>(前 2 - 后 2-)=== 或 ==>==text=== 或 ==text==>-.- 或 -.->-.text.- 或 -.text.->

4. 子图表(subgraph)#

subgraph 子图表名称 子图表中的描述语句... end

  • 1
  • 2
  • 3

举个栗子:

  • 代码

graph TB id1(圆角矩形)--普通线-->id2[矩形] subgraph 子图表名称 id2==粗线==>id3{菱形} id3-.虚线.->id4>右向旗帜] id3--无箭头---id5((圆形)) end

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 代码结果显示

子图表名称

单线加文字

粗线加文字

虚线加文字

无箭头

菱形

矩形

右向旗帜

圆形

圆角矩形

5. 序列图(sequenceDiagram)#

sequenceDiagram [参与者1][消息线][参与者2]:消息体 ...

  • 1
  • 2
  • 3

举个栗子:

  • 代码

sequenceDiagram 敢敢->>+憨憨: 在吗? 憨憨->>-敢敢: 在的

  • 1

  • 2

  • 3

  • 代码结果显示

敢敢 憨憨 在吗? 在的 敢敢 憨憨

* 代码中的 + - 对用来表示时序块。

6. 参与者(participant)#

上例中的敢敢、憨憨都是参与者,上例中的语法是最简单的,也可以明显表明参与者有哪些

sequenceDiagram participant 参与者 1 participant 参与者 2 ... participant 简称 as 参与者 3 #该语法可以在接下来的描述中使用简称来代替参与者 3

  • 1
  • 2
  • 3
  • 4
  • 5

举个栗子:

  • 代码

sequenceDiagram participant 敢敢 as A participant 憨憨 as B A->>B: 在吗? B->>A: 在的

  • 1

  • 2

  • 3

  • 4

  • 5

  • 代码结果显示

敢敢 憨憨 干嘛呢? 在听音乐 敢敢 憨憨

7. 消息线#

类型描述
->无箭头的实线
–>(2 个 -)无箭头的虚线
->>有箭头的实线
–>>(2 个 -)有箭头的虚线
-x末端为叉的实线(表示异步)
–x (2 个 -)末端为叉的虚线(表示异步)

8. 处理中(activate)#

在消息线末尾增加 + ,则消息接收者进入当前消息的 “处理中” 状态;
在消息线末尾增加 - ,则消息接收者离开当前消息的 “处理中” 状态。
或者使用以下语法直接说明某个参与者进入 “处理中” 状态

activate 参与者

  • 1

9. 标注(Note)#

Note 位置表述 参与者: 标注文字

  • 1

  • 位置表述

右侧左侧居中(可以横跨多个参与者)
right ofleft ofover

10. 循环(loop)#

loop 循环的条件 循环体描述语句 end

  • 1
  • 2
  • 3

11. 判断(alt/opt)#

alt 条件 1 描述 分支 1 描述语句 else 条件 2 描述 # else 分支可选 分支 2 描述语句 else ... ... end

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

opt 条件描述 分支描述语句 end

  • 1
  • 2
  • 3

举个例子

  • 代码

sequenceDiagramDiagram participant gg as 敢敢 participant hh as 憨憨 loop 每日问候 gg->>hh: 工作做完了吗? hh-->>gg: 做完了,你呢? activate gg Note left of gg: 思考一下 alt 没做完 gg-xhh: 没做完,加班ing else 做完了 gg-xhh: 做完了,一起打王者吧! end opt 节日愉快 hh-->gg: 生日快乐~ hh-->gg: 劳动节快乐~ hh-->gg: 儿童节快乐~ end end

image

  • 代码结果显示

敢敢 憨憨 工作做完了吗? 做完了,你呢? 思考一下 没做完,加班 ing 做完了,一起打王者吧! alt [没做完] [做完了] 生日快乐~劳动节快乐~儿童节快乐~opt [节日愉快] loop [每日问候] 敢敢 憨憨

使用 flow 语法绘制标准流程图#

1. 标准流程图#

举个例子

  • 代码

flowchat st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st->op->cond cond(yes)->io->e cond(no)->sub1(right)->op

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

*Typora 编辑时输入 flow 即可,CSDN 在编辑时关键字 flow 会被自动转换成 mermaid 语法 flowchat,所以代码首行会显示 flowchat。

  • 代码结果显示

Created with Raphaël 2.2.0 开始框 处理框 判断框 (是或否?) 输入输出框 结束框 子流程 yes no

2. 标准流程图(横向)#

举个例子

  • 代码

flowchatchat st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st(right)->op(right)->cond cond(yes)->io(bottom)->e cond(no)->sub1(right)->op

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 代码结果显示

Created with Raphaël 2.2.0 开始框 处理框 判断框 (是或否?) 输入输出框 结束框 子流程 yes no

文章知识点与官方知识档案匹配,可进一步学习相关知识

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。