首页 > 其他分享 >Typora流程图--Mermaid语法

Typora流程图--Mermaid语法

时间:2024-05-28 16:00:07浏览次数:20  
标签:2024 流程图 -- 步骤 Typora 语法 Mermaid

在Typora中生成流程图(Flowchart)可以使用Markdown的扩展语法,特别是支持Mermaid语法来绘制流程图。以下是具体步骤:

步骤 1:安装Typora

首先,请确保你已经安装了Typora。

步骤 2:开启Mermaid支持

Typora支持多种图表绘制,包括Mermaid。你需要确保Mermaid支持已经启用。

  1. 打开Typora。
  2. 进入文件 -> 偏好设置(Preferences)。
  3. 在偏好设置中,找到Markdown,确保勾选了Mermaid选项。

步骤 3:使用Mermaid语法绘制流程图

在Typora中,你可以使用以下Mermaid语法来创建流程图。

起点 步骤1 步骤2 步骤3 终点
```mermaid
graph TD
    A[起点] --> B[步骤1]
    B --> C[步骤2]
    C --> D[步骤3]
    D --> E[终点]
上述代码将生成一个简单的流程图,表示从起点到终点的过程。以下是每个部分的解释:

- `graph TD`:定义流程图的方向。`TD`表示从上到下(Top to Down),其他方向还包括`LR`(从左到右)、`RL`(从右到左)和`BT`(从下到上)。
- `A[起点]`:定义一个节点,标签为`A`,显示文本为`起点`。
- `A --> B`:定义一个箭头,从节点`A`指向节点`B`。

### 更多Mermaid语法
你可以使用更多的Mermaid语法来创建复杂的流程图。例如,下面是一个包含条件分支的流程图:

```markdown

起点 是否满足条件? 步骤1 步骤2 终点
在这个示例中:

- `B{是否满足条件?}`:定义一个带有条件判断的节点。
- `B -->|是| C`:定义条件为“是”时的箭头,指向`C`。
- `B -->|否| D`:定义条件为“否”时的箭头,指向`D`。

### 步骤 4:预览和导出
输入完Mermaid代码后,Typora会自动渲染并显示流程图。你可以通过Typora的导出功能将文档保存为PDF、HTML等格式,包含渲染后的流程图。

通过上述步骤,你可以在Typora中轻松创建和管理流程图。如果你有更多需求,比如自定义样式和复杂图表,Mermaid官方文档提供了详细的语法和示例。

基本语法

1. 流程图(Flowchart)

流程图是Mermaid中最常用的图表之一,可以用来表示流程和步骤。

基本流程图语法:

```mermaid
graph TD
    A[起点] --> B[步骤1]
    B --> C[步骤2]
    C --> D[步骤3]
    D --> E[终点]
**方向选项:**
- `TD`:从上到下(Top to Down)
- `LR`:从左到右(Left to Right)
- `RL`:从右到左(Right to Left)
- `BT`:从下到上(Bottom to Top)

**条件分支:**
```markdown
```mermaid
graph TD
    A[起点] --> B{是否满足条件?}
    B -->|是| C[步骤1]
    B -->|否| D[步骤2]
    C --> E[终点]
    D --> E[终点]
起点 是否满足条件? 步骤1 步骤2 终点
#### 2. 序列图(Sequence Diagram)
用于表示对象之间的交互和消息传递。

**基本序列图语法:**
```markdown
```mermaid
sequenceDiagram
    participant Alice
    participant Bob
    Alice->>Bob: 你好,Bob,你好吗?
    Bob-->>Alice: 我很好,谢谢!
Alice Bob 你好,Bob,你好吗? 我很好,谢谢! Alice Bob
#### 3. 类图(Class Diagram)
用于表示类及其关系。

**基本类图语法:**
```markdown
```mermaid
classDiagram
    class Animal {
      +String name
      +int age
      +makeSound()
    }
    class Dog {
      +String breed
      +bark()
    }
    Animal <|-- Dog
Animal +String name +int age +makeSound() Dog +String breed +bark()
#### 4. 甘特图(Gantt Chart)
用于表示项目的任务和时间进度。

**基本甘特图语法:**
```markdown
```mermaid
gantt
    title 项目计划
    dateFormat  YYYY-MM-DD
    section 计划
    任务1           :a1, 2024-06-01, 30d
    任务2           :a2, after a1  , 20d
    任务3           :a3, after a2  , 10d
2024-06-02 2024-06-09 2024-06-16 2024-06-23 2024-06-30 2024-07-07 2024-07-14 2024-07-21 2024-07-28 任务1 任务2 任务3 计划 项目计划
#### 5. 状态图(State Diagram)
用于表示状态及其转移。

**基本状态图语法:**
```markdown
```mermaid
stateDiagram
    [*] --> 关闭
    关闭 --> 打开 : 开关打开
    打开 --> 关闭 : 开关关闭
    打开 --> 故障 : 故障发生
    故障 --> 关闭 : 修复
开关打开 开关关闭 故障发生 修复 关闭 打开 故障
#### 6. 饼图(Pie Chart)
用于表示数据的分布情况。

**基本饼图语法:**
```markdown
```mermaid
pie
    title 饼图示例
    "苹果" : 40
    "香蕉" : 30
    "樱桃" : 20
    "葡萄" : 10
40% 30% 20% 10% 饼图示例 苹果 香蕉 樱桃 葡萄
### 常见节点和连线样式
**节点样式:**
```markdown
graph TD
    A[矩形节点]
    B((圆形节点))
    C{菱形节点}
    D>尖头节点]
    E)圆角节点(

连线样式:

graph TD
    A --> B
    A -- 使用虚线 --> C
    A -. 使用点线 .-> D
    A == 使用双实线 ==> E
    A ==> 使用箭头实线 ==> F

标签:2024,流程图,--,步骤,Typora,语法,Mermaid
From: https://blog.csdn.net/xuxinan88888/article/details/139269244

相关文章

  • 《C++primer》第八章课后习题
    练习8.1istream&abc(istream&is){ strings; is>>s; cout<<s; s.clear(); returnis;}练习8.2abc(cin);练习8.3答:输入类型与i不符,或者输入结束标识练习8.4vector<string>s;voidabc(strings1){ strings2; ifstreamin(s1); while(getline(......
  • Android Studio(纯小白的第一次)创建安卓并且运行
    书接上回,要是小伙伴不能成功安装AndroidStudio,可以参考下面的方法androidstudio2024最新详解(完全小白)安装-运行第一个程序-CSDN博客先声明,我不是什么大学生,纯是喜欢编程,对着它我有无限的热情,所以一直在自学准备自主研发一款app。    回到正题,上面的课程如果看完了......
  • 《C++primer》读书笔记---第八章:IO库
    8.1IO类下表列出的是一些IO类型:  为了支持使用宽字符的语言,标准库定义了一组类型和对象来操纵wchar_t类型的数据。宽字符版本的类型和函数的名字以一个w开始,例如,wcin、wcout、wcerr是分别对应cin、cout、cerr的宽字符类型。注:IO对象无拷贝或赋值ofstreamout1,out2;......
  • ctfshow web 月饼杯II
    web签到<?php//Author:H3h3QAQinclude"flag.php";highlight_file(__FILE__);error_reporting(0);if(isset($_GET["YBB"])){if(hash("md5",$_GET["YBB"])==$_GET["YBB"]){echo"小伙子不错嘛!!......
  • python+threading,实现简单的接口并发测试
    #-*-coding:utf-8-*-importthreadingfromutilsimporthttpUtilbody={"claimId":10179599,"protocols":[{"protocolUrl":None,"protocolContent":"<spanclass='c_......
  • 【go从入门到精通】精通并发编程-使用atomic管理状态和同步的无锁技术
    了解原子计数器        在Go中,原子计数器是多个goroutine可以同时访问的共享变量。术语“原子”是指在计数器上执行的操作的不可分割的性质。在Go中,原子计数器允许多个goroutine安全地更改共享变量,而无需使用锁或任何其他显式同步,这可确保数据完整性并避免竞......
  • 基于 HTML5 和腾讯云播放 SDK 开发的 M3U8 在线播放器
    在当前的网络视频领域,M3U8文件格式是一种广泛应用的流媒体播放格式,具有广泛的兼容性和稳定性。为了在网页上实现M3U8格式的在线播放,我们可以结合HTML5技术和腾讯云播放SDK,快速开发一个功能强大的M3U8在线播放器。体验地址:https://m3u8player.org1.HTML5和M3U......
  • 微服务实践k8s&dapr开发部署实验(3)订阅发布
    自托管模式运行dapr新建订阅webapi项目,取名为backend项目增加docker支持,取消https支持修改Program.csvarbuilder=WebApplication.CreateBuilder(args);builder.Services.AddControllers();builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen......
  • 9. 子查询练习题
    1.查询和Zlotkey相同部门的员工姓名和工资selectfirst_name,last_name,salaryfromemployeesewheredepartment_id=(selectdepartment_id fromemployeese2 wherelast_name='Zlotkey' );2.查询工资比公司平均工资高的员工的员工号,姓名和工......
  • npm发包失败的原因
    可能的原因:当前的账号没有发包权限。(比如没有某个包或者某个scope的权限)当前的包名不符合规范。(需要URL-safecharacters)当前的包名是屏蔽词。(例如download[[npm发包失败的原因#npm包名屏蔽词]])其他(后续遇到了再补充)//吐槽一下,npm的cli给的信息很多都是无效信息,有时候很......