Markdown中的Mermaid语法

1 流程图

graph LR;  
A[开始] --> B{判断};  
B --第一种情况--> C[第一种方案];  
B --第二种情况--> D[第二种方案];  
B --第三种情况--> F{第三种方案};  
F-.-> J((测试圆形));  
F-.第2个.-> H>右向旗帜形];  
H --> I[测试完毕];  
C -->|票数100| I;  
D --> I;  
J --> I;
第一种情况
第二种情况
第三种情况
第2个
票数100
开始
判断
第一种方案
第二种方案
第三种方案
测试圆形
右向旗帜形
测试完毕
flowchart LR

A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
Text
One
Two
Hard
Round
Decision
Result 1
Result 2

2 时序图

sequenceDiagram  
    participant Alice  
    participant Bob  
    Alice->>Bob: Hello Bob, how are you?  
    loop Healthcheck
    John->>John: Fight against hypochondria
	end
	Note right of John: Rational thoughts!
    Bob-->>John: How about you John?  
    John-->>Alice: I am good, thanks!
AliceBobJohnHello Bob, how are you?Fight against hypochondrialoop[Healthcheck]Rational thoughts!How about you John?I am good, thanks!AliceBobJohn

3 类图

classDiagram
      Animal <|-- Duck
      Animal <|-- Fish
      Animal <|-- Zebra
      Animal : +int age
      Animal : +String gender
      Animal: +isMammal()
      Animal: +mate()
      class Duck{
          +String beakColor
          +swim()
          +quack()
      }
      class Fish{
          -int sizeInFeet
          -canEat()
      }
      class Zebra{
          +bool is_wild
          +run()
      }
Animal
+int age
+String gender
+isMammal()
+mate()
Duck
+String beakColor
+swim()
+quack()
Fish
-int sizeInFeet
-canEat()
Zebra
+bool is_wild
+run()
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}

Cool
Where am I?
«Interface»
Class01
int chimp
int gorilla
size()
AveryLongClass
Class09
C2
C3
Class07
Object[] elementData
equals()
«service»
Class10
int id
size()

4 状态图

stateDiagram-v2  
    [*] --> Still  
    Still --> [*]  
    Still --> Moving  
    Moving --> Still  
    Moving --> Crash  
    Crash --> [*]
Still
Moving
Crash

5 实体关系图

erDiagram  
        CUSTOMER ||--o{ ORDER : places  
        ORDER ||--|{ LINE-ITEM : contains  
        CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
CUSTOMERORDERLINE-ITEMDELIVERY-ADDRESSplacescontainsuses

6 甘特图

gantt
    section Section
    Completed :done,    des1, 2014-01-06,2014-01-08
    Active        :active,  des2, 2014-01-07, 3d
    Parallel 1   :         des3, after des1, 1d
    Parallel 2   :         des4, after des1, 1d
    Parallel 3   :         des5, after des3, 1d
    Parallel 4   :         des6, after des4, 1d
2014-01-062014-01-062014-01-072014-01-072014-01-082014-01-082014-01-092014-01-092014-01-10Completed Active Parallel 1 Parallel 2 Parallel 3 Parallel 4 Section

7 饼图

pie
"Dogs" : 386
"Cats" : 85.9
"Rats" : 15
79%18%3%DogsCatsRats

8 条形图

gantt
    title Git Issues - days since last update
    dateFormat  X
    axisFormat %s

    section Issue19062
    71   : 0, 71
    section Issue19401
    36   : 0, 36
    section Issue193
    34   : 0, 34
    section Issue7441
    9    : 0, 9
    section Issue1300
    5    : 0, 5
051015202530354045505560657071 36 34 9 5 Issue19062Issue19401Issue193Issue7441Issue1300Git Issues - days since last update

9 用户旅行图

  journey
    title My working day
    section Go to work
      Make tea: 5: Me
      Go upstairs: 3: Me
      Do work: 1: Me, Cat
    section Go home
      Go downstairs: 5: Me
      Sit down: 3: Me
CatMe
Go to work
Go to work
Me
Make tea
Make tea
Me
Go upstairs
Go upstairs
MeCat
Do work
Do work
Go home
Go home
Me
Go downstairs
Go downstairs
Me
Sit down
Sit down
My working day
### 配置Mermaid语法以避免报错 为了在Markdown文档中正确使用Mermaid语法并避免常见的报错问题,可以从以下几个方面入手: #### 1. 替代特殊字符 当在Mermaid图表中的`text`部分遇到不被支持的特殊字符(如`@`),可以通过替换的方式解决问题。例如,可以用HTML实体编码来替代这些特殊字符。具体来说,对于`@`符号,可以将其替换成`@`[^1]。 以下是修正后的示例代码: ```mermaid graph LR A[[email protected]] ``` 这样可以在大多数Markdown渲染器中正常显示而不会引发错误。 --- #### 2. 安装VSCode扩展 在本地编辑环境中配置Mermaid的支持非常重要。通过安装合适的VSCode扩展,能够确保开发过程中Mermaid图表得以正确预览和调试。推荐安装名为 **Markdown Preview Mermaid Support** 的扩展[^2]。该工具提供了实时预览功能,帮助开发者快速定位潜在问题。 完成安装后,重启VSCode使更改生效,并尝试重新加载包含Mermaid图表的Markdown文件以验证效果。 --- #### 3. 调整GitLab兼容性设置 尽管某些特性可能在VSCode环境下运行良好,但在其他平台(如GitLab)上可能会因解析差异而导致失败。因此需要注意以下几点调整策略[^3]: - 使用`graph`而非`flowchart`作为主要绘图方式,因为后者可能存在更多跨平台兼容性问题。 - 如果需要定义子图结构,则应谨慎处理方向声明语句以及连线样式。例如,避免使用带有三个短横线的形式(即 `- - ->`),而是采用标准形式 `--->` 或者更简单的 `-->` 来表示箭头连接关系。 下面给出一段经过优化适用于多环境下的例子: ```mermaid graph TB subgraph Group_A A[A] B[B] end subgraph Group_B C[C] D[D] end A --> C B --> D ``` 此外还需注意一些细节事项比如路径分隔符统一为正斜杠(`/`)而不是反斜杠(`\`);另外确认图片链接地址完全匹配实际存储位置以免发生找不到资源的情况。 --- #### 总结说明 综上所述,要成功应用Mermaid语法Markdown文档之中需兼顾三个方面的工作:一是妥善处置那些不受支持或者容易引起误解冲突的关键字项;二是借助专门设计用于增强体验感的功能插件提升工作效率;最后还要充分考虑到目标发布场所的具体需求从而做出相应修改直至满足其全部技术指标为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值