mermaid工具

Mermaid是一款开源工具,支持流程图、甘特图与时序图绘制,采用类似Markdown的语法,便于快速创建各种图表。本文介绍Mermaid的在线编辑器使用方法,包括流程图、时序图及甘特图的画法,并演示如何通过命令行生成PNG和SVG格式的图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mermaid是一款开源的画流程图、甘特图、时序图工具,她提供了一种类似markdown的语法来创建各种图。

官网:https://mermaidjs.github.io/

在线编辑器:here

1、入门

我们先试用mermaid提供的在线编辑器,来熟悉一下mermaid的各种画图语法;

1)流程图

2)时序图:

sequenceDiagram
A->> B: Query
B->> C: Forward query
Note right of C: Thinking...
C->> B: Response
B->> A: Forward response

效果如下:

3)甘特:

gantt
dateFormat  YYYY-MM-DD
title Shop项目交付计划

section 里程碑 0.1 
数据库设计          :active,    p1, 2016-08-15, 3d
详细设计            :           p2, after p1, 2d

section 里程碑 0.2
后端开发            :           p3, 2016-08-22, 20d
前端开发            :           p4, 2016-08-22, 15d

section 里程碑 0.3
功能测试            :       p6, after p3, 5d
上线               :       p7, after p6, 2d
交付               :       p8, afterp7, 2d

效果如下

2、使用:

1)mermaid提供了nodejs方式,在命令行上使用:

由于 mermaid 使用 nodejs 写的,所以需要 node 环境,这个不多说,根据自己的平台安装好 node 即可。安装 mermaid :

npm install -g phantomjs && npm install -g mermaid

完成之后,就可以使用命令行了。先新建一个文本文件,我们这里就来展示一个甘特图,命名 demo.ganttdemo.gantt 文件内容就用上面的甘特图的例子,然后使用命令:

mermaid demo.gantt -w 1920 -s -p -o images

就可以在 images 目录下生成两个文件,一个是 PNG 图片,另一个是 SVG 矢量图。

可以用 mermaid -h 命令查看帮助,这里我贴上刚刚那条命令里用到的参数:

-s --svg       输出 SVG 替代 PNG(试验性的功能)。
-p --png       如果选择保存 SVG,那么加上这个选项可以同时保存 PNG。
-o --outputDir 保存文件的目录(如果不存在会自动创建),默认 `cwd`。
-w --width     生成的 PNG 图片宽度。

2)整合进 Markdown:

忽略

3)在html中使用:

官网上有很多例子可以参考https://unpkg.com/mermaid/ ,这里简单写一个

<!DOCTYPE html>
<html>
<head>
<script src="./mermaid.js"></script>
</head>
<body>


<div class="firstTest">
   graph LR;
    A--合并-->B;
    A-->C;
    B-->D;
    C-->D;
</div>
<script>     
 mermaid.init({noteMargin: 10}, ".firstTest");
</script>


</body>
</html>

效果:

### Mermaid 工具使用指南 #### 介绍 Mermaid 是一种用于生成图表的标记语言,旨在简化创建和维护图表的过程。作为一种基于文本的语言,Mermaid 提供了一种直观的方法来定义图形结构,这不仅减少了绘制图表所需的时间,还增强了文档的可读性和易维护性[^2]。 #### 基础语法 为了开始使用 Mermaid,理解其基本语法规则是必要的。以下是几个常见的图表类型的例子: ##### 流程图 流程图是最常用的图表之一,适用于描述过程或算法的工作流。 ```mermaid graph TD; A[Christmas] -->|Get money| B(Go shopping); B --> C{Let me think}; C -->|One| D[yellow]; C -->|Two| E[green]; C -->|Three| F[red]; ``` ##### 序列图 序列图非常适合展示对象之间的交互顺序。 ```mermaid 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! ``` ##### 类图 类图有助于表示面向对象设计中的关系。 ```mermaid classDiagram Class01 <|-- AveryLongClass : CoolMethod() Class03 *-- "4" Class07 Class09 -- Class11 Class09 -- C2 : SomeMethod().. Class09 -- C3:: AnotherMethod() Class09 .--> C4: DependencyOfSomeKind ``` #### 集成方式 为了让更多的开发者能够方便地利用这项技术,Mermaid 可以被集成到多种平台和服务中。无论是静态网站还是动态应用,只要支持 HTML 和 JavaScript 的环境都可以引入 Mermaid.js 来渲染这些图表。 #### 实践建议 对于初次尝试 Mermaid 的用户来说,推荐先从简单的案例入手,在熟悉了基础概念后再逐步探索更复杂的场景。此外,官方提供的在线编辑器——Live Editor 是一个非常好的起点,允许任何人无需安装任何软件就能即时预览所编写的代码效果。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值