mermaid 语法

a:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
a:hover {
outline: 0;
}
a:active {
outline: 0;
}
a:hover {
color: #005580 !important;
text-decoration: underline !important;
}
blockquote small:before {
content: ‘\2014 \00A0‘;
}
q:before {
content: "";
}
q:after {
content: "";
}
blockquote:before {
content: "";
}
blockquote:after {
content: "";
}

mermaid 语法

mermaid

usage

官网地址:http://knsv.github.io/mermaid/index.html

例如从左到右的一个有向图

graph LR;
A[aa bb]-->B(wo);
A-->C((我是C));
B-->D>我是D];
C-->D;
D-->E{我是E};
C-->E;
2-->E;
_-->E;

  1. 第一行的graph LRgraph指定是一个图,第二个LR指定图的方向,所有的方向关键词为:

    • TB - top bottom
    • BT - bottom top
    • RL - right left
    • LR - left right
    • TD - same as TB
  2. 之后的A,B,C等都是节点的标识(标识中不能使用空格)
  3. 节点默认只显示标识,但也可以通过如下方法控制其显示
    • A[aa bb] 显示字符串aa bb的方框
    • B(wo) 显示字符串wo的圆角框
    • C((我是C)) 显示我是C字符串的圆圈
    • D>我是D] 显示我是D的半方框
    • E{我是E} 显示我是E的正方形框
  4. 连线可以选择如下形式:
    • A-->B 箭头
    • A--B 无箭头线
    • A--hh dd--B或者A--|hh dd|B 线之间可以添加注释
    • A-.->B 虚线箭头
    • A-. hh .->B 添加了注释的虚线箭头
    • A==>B 加粗的箭头
    • A== hh ==>B 加注释加粗的箭头
  5. 子图可以使用subgraph id定义
graph TB
         subgraph one
         a1-->a2
         end
         subgraph two
         b1-->b2
         end
         subgraph three
         c1-->c2
         end
         c1-->a2

  1. 使用如下语法给节点添加点击行为
click nodeId callback

callbackjavascript回调函数

  1. 修改节点的显示样式
graph LR
    id1(Start)-->id2(Stop)
    style id1 fill:#f9f,stroke:#333,stroke-width:4px;
    style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5;

或者使用如下方式修改class

class nodeId1 className;
class nodeId1,nodeId2 className;
classDef default fill:#f9f,stroke:#333,stroke-width:4px;

时序图

如下是一个基本的时序图

sequenceDiagram
    participant Alice
    participant Bob
    Alice->John: Hello John, how are you?
    loop Healthcheck
        John->John: Fight against hypochondria
    end
    Note right of John: Rational thoughts <br/>prevail...
    John-->Alice: Great!
    John->Bob: How about you?
    Bob-->>John: Jolly good!

  1. 时序图使用sequenceDiagram关键词声明
  2. 参与者使用participant声明
  3. 消息声明是使用[参与者][发送方式][参与者]:消息内容形式声明

    发送方式有如下几种:

    • -> 无箭头的线
    • --> 无箭头的虚线
    • ->> 有箭头的实线
    • -->> 有箭头虚线
    • -x 有十字叉的实线
    • --x 有十字叉的虚线
  4. 可以通过ote right of [参与者]: 信息的方式添加备注(多行信息请使用<br/>)
  5. 添加循环
loop Loop text
... statements ...
end
  1. 添加判断使用如下语法

    有选择的:

alt Describing text
... statements ...
else
... statements ...
end

确定的:

opt Describing text
... statements ...
end

示例:

    sequenceDiagram
        Alice->>Bob: Hello Bob, how are you?
        alt is sick
            Bob->>Alice: Not so good :(
        else is well
            Bob->>Alice: Feeling fresh like a daisy
        end
        opt Extra response
            Bob->>Alice: Thanks for asking
        end

甘特图

示例:

gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality to mermaid

        section A section
        Completed task            :done,    des1, 2014-01-06,2014-01-08
        Active task               :active,  des2, 2014-01-09, 3d
        Future task               :         des3, after des2, 5d
        Future task2               :         des4, after des3, 5d

        section Critical tasks
        Completed task in the critical line :crit, done, 2014-01-06,24h
        Implement parser and jison          :crit, done, after des1, 2d
        Create tests for parser             :crit, active, 3d
        Future task in critical line        :crit, 5d
        Create tests for renderer           :2d
        Add to mermaid                      :1d

        section Documentation
        Describe gantt syntax               :active, a1, after des1, 3d
        Add gantt diagram to demo page      :after a1  , 20h
        Add another diagram to demo page    :doc1, after a1  , 48h

        section Last section
        Describe gantt syntax               :after doc1, 3d
        Add gantt diagram to demo page      : 20h
        Add another diagram to demo page    : 48h

  1. 使用关键词gantt声明甘特图
  2. 使用关键词title声明标题
  3. 使用关键词section声明板块
  4. 板块后是任务的名称,任务类型,开始时间,持续时间等

时间参数

参数 示例 含义
YYYY 2014 4 digit year
YY 14 2 digit year
Q 1..4 Quarter of year. Sets month to first month in quarter.
M MM 1..12 Month number
MMM MMMM January..Dec Month name in locale set by moment.locale()
D DD 1..31 Day of month
Do 1st..31st Day of month with ordinal
DDD DDDD 1..365 Day of year
X 1410715640.579 Unix timestamp
x 1410715640579 Unix ms timestamp
H HH 0..23 24 hour time
h hh 1..12 12 hour time used with a A.
a A am pm Post or ante meridiem
m mm 0..59 Minutes
s ss 0..59 Seconds
S 0..9 Tenths of a second
SS 0..99 Hundreds of a second
SSS 0..999 Thousandths of a second
Z ZZ +12:00 Offset from UTC as +-HH:mm, +-HHmm, or Z
时间: 2024-09-15 14:50:12

mermaid 语法的相关文章

小书匠语法使用手册

小书匠语法使用手册 小书匠 语法 MARKDOWN 帮助 常用语法 标题 1这是 H1 一级标题 2------ 3这是 H2 二级标题 4====== 5# 这是 H1 一级标题 6## 这是 H2 二级标题 7### 这是 H3 三级标题 8#### 这是 H4 四级标题 9##### 这是 H5 五级标题 10###### 这是 H6 六级标题 11 快捷键: [ctrl + h] 列表 无序列表 1* 项目1 2 * 子项目1.1 3 * 子项目1.2 4 * 子项目1.2.1 5* 项

MarkDown语法-示例2

@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验: 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行

使用Mermaid画图

流程图的示例 时序图的示例 甘特图的示例 FAQ 很多时候,你想解释自己的想法/代码,但是用语言来表达会很啰嗦,并且读者也不易理解.一般这种情况下,我们都会想使用图解来解释.但是,我们也不会想下载那些繁重的工具,比如Visio. Mermaid 是一个用来画流程图,甘特图等图形的工具.它是一个Javascript库,但是它也是一种语言,一种类似markdown的语言. 任何时候,你想要测试Mermaid语法,都可以使用这个在线编辑器. 流程图的示例 graph TD A --> B A -->

Hexo引入Mermaid流程图和MathJax数学公式

近来用Markdown写文章,越来越不喜欢插入图片了,一切能用语法解决的问题坚决不放图,原因有二: 如果把流程图和数学公式都以图片方式放到文章内,当部署到Github上后,访问博客时图片加载实在太慢,有时一篇文章需要画10来个流程图,那你就得截图10来多次,还得给这些图片想一个合适的名字,同时插入图片的时候还要注意图片的插入位置和顺序: 如果你要把文章发布到其他博客平台,如CSDN.博客园,在每一个平台上你都要插入10来多次图片,作为程序员,这种笨拙又耗时的方法,我实在不能忍. 于是愤而搜索,M

CSDN、博客园等6大技术博客平台的写作体验测评

目录 功能对比 markdown编辑器写作体验比较 1. segmentfault.com 体验5星,极好 2. CSDN 体验5星,极好 3. 开源中国 OSChina.net 体验3星,一般 4. 博客园 cnblogs.com 体验1星,极差 5. 知乎 无markdown编辑器,富文本编辑器体验5星,极好 6. 简书 评价5星,极好 功能对比 csdn 博客园 知乎 简书 segmentfault 开源中国 markdown编辑器 √ √ x √ √ √ 富文本编辑器 √ √ √ √ x

Markdown的使用方法(来自CSDN)

@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验: 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行

xxzx

@TOC 红色背景 红色背景 红色背景 # 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验: 在创作中心设置你喜爱的代码高亮样式,Markdown

csdn博客整理

@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识. 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验: 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行

MarkDown的高级用法

1.横向流程图源码格式: ```mermaid graph LR A[方形] -->B(圆角) B --> C{条件a} C -->|a=1| D[结果1] C -->|a=2| E[结果2] F[横向流程图] ``` 2.竖向流程图源码格式: ```mermaid graph TD A[方形] --> B(圆角) B --> C{条件a} C --> |a=1| D[结果1] C --> |a=2| E[结果2] F[竖向流程图] ``` 3.标准流程图源