如何使用 Mermaid、GitHub 和 VSCode 用代码创建关系图二

news2024/11/15 11:41:12

Mermaid 系列

  • 如何使用 Mermaid、GitHub 和 VSCode 用代码创建关系图一
    在这里插入图片描述

1. 如何使用 Mermaid 生成图表

Mermaid 是一个基于 JavaScript 的工具,可将 Markdown 样式的文本转换为动态图表,让您可以毫不费力地创建和修改它们。

Mermaid 使使用简单的文本和代码轻松生成图表和视觉效果变得容易。

它遵循一个简单的语法:

在这里插入图片描述
使用 Mermaid,您可以生成以下图表类型:

  • Flowchart 流程图
  • Sequence Diagram 序列图
  • Class Diagram 类图
  • Gantt 甘特
  • Pie Chart 饼图

让我们一一探讨它们。

2. 如何创建流程图 flowchart

流程图是一张使用符号显示过程步骤的图片,有助于以清晰有条理的方式解释过程。流程图由通过箭头连接的节点组成。

您可以使用以下示例在 mermaid 中渲染流程图:
在这里插入图片描述

Start
Process 1
Process 2
End

语法细分:

  • flowchart:此关键字表示我们正在创建流程图。
  • TD: 这是流程图的方向,代表自上而下。其他流程图方向包括:
  • TB - 从上到下,与TD相同。
  • BT - 从下到上
  • LR - 从左到右
  • RL - 从右到左
  • -->:连接节点的箭头方向。

3. 如何创建序列图 sequenceDiagram

序列图是流程之间交互的说明性表示,展示了它们的操作流程和执行顺序。

您可以使用以下语法在 mermaid 中渲染序列图:
在这里插入图片描述

Client Server Register user User already exists. Client Server

语法细分:

  • sequenceDiagram:此关键字指定我们正在制作序列图。
  • participant:这些是序列图中的参与者或actor。
  • activate/ deactivate:可以激活和停用 actor。激活在交互之间显示为一个小矩形。
  • -->>:连接线(虚线)。
  • ->:连接线(实心)。

4. 如何创建类图 classDiagram

类图用于可视化类、接口的结构和关系,以及它们在面向对象编程 (OOP) 中的交互。您可以使用以下语法在 Mermaid 中渲染类图:
在这里插入图片描述

Animal
+name: string
+age: int
+makeSound()
Dog
+breed: string
+bark()
Cat
+color: string
+meow()

语法细分:

  • 定义类class:使用 class 关键字后跟类名定义单个类。
  • 添加类属性:类属性添加时带有 + 号。在上面的示例中,+breed 是一个属性。
  • 添加方法:mermaid使用圆括号()识别方法。请注意,所有属性和方法都使用大括号{}分组到同一类下。
  • 定义返回类型:返回类型在方法名称/类名之后定义。stringvoid 是上述代码中的返回类型。
  • 定义关系:在 OOP 中,关系是在类图和对象图上找到的特定类型的逻辑连接。mermaid支持以下关系类型:
TYPE类型DESCRIPTION描述
<!-- 注意把!换成中划线Inheritance 继承
*--Composition 组合
o----Aggregation 聚合
-->Association 协作
--Link (Solid)链接(实心)
..>Dependency 依赖
..!> 注意把!换成中划线Realization实现
..Link (Dashed)链接(虚线)

下面是继承的快速实现:
在这里插入图片描述

A
B
C
D
E
F
G
H
I
J
K
L
M
N
P

代码

https://github.com/zgpeace/pets-name-langchain/tree/develop

参考

https://www.freecodecamp.org/news/diagrams-as-code-with-mermaid-github-and-vs-code/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫学习笔记-scrapy安装及第一个项目创建问题及解决措施

1.安装scrapy pycharm终端运行 pip install scrapy -i https://pypi.douban.com/simple 2.终端运行scrapy startproject scrapy_baidu,创建项目 问题1:lxml版本低导致无法找到 解决措施:更新或者重新安装lxml 3.项目创建成功 4.终端cd到项目的spiders文件夹下,cd scra…

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏5(附项目源码)

本节最终效果演示 文章目录 本节最终效果演示系列目录前言修改鼠标光标和中心提示图鼠标光标素材修改默认鼠标光标修改中心提示图 拾取提示弹窗简单绘制UI拾取弹窗功能 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使…

关于JVM常见的十道面试题

方法区、永久代和元空间有什么区别&#xff1f; 方法区、永久区和元空间是Java虚拟机用于存储类信息的区域&#xff0c;它们在不同的Java虚拟机版本有所不同&#xff1a; 方法区&#xff1a;方法去是一块用于存储类的结构信息、常量、静态变量、即时编译器编译后的代码等数据…

R语言基础学习-02 (此语言用途小众 用于数学 生物领域 基因分析)

变量 R 语言的有效的变量名称由字母&#xff0c;数字以及点号 . 或下划线 _ 组成。 变量名称以字母或点开头。 变量名是否正确原因var_name2.正确字符开头&#xff0c;并由字母、数字、下划线和点号组成var_name%错误% 是非法字符2var_name错误不能数字开头 .var_name, var.…

【Linux C | 网络编程】详细介绍 “三次握手(建立连接)、四次挥手(终止连接)、TCP状态”

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

稀疏场景高性能训练方案演变|京东广告算法架构体系最佳实践

近年来&#xff0c;推荐场域为提升模型的表达能力和计算能力&#xff0c;模型规模和计算复杂度大幅增加&#xff0c;同时&#xff0c;高规格硬件资源为模型迭代、算法优化带来了更大的机遇和挑战。为了应对模型规模和算力升级带来的存储、IO和计算挑战&#xff0c;京东零售广告…

Redis核心技术与实战【学习笔记】 - 9.如何避免单线程模型的阻塞

概述 Redis 被广泛应用的原因是因为它支持高性能访问。所以&#xff0c;我们要重视所有可能影响 Redis 性能的因素&#xff08;如命令操作、系统配置、关键机制、硬件配置等&#xff09;。 影响 Redis 性能的 5 大方面的潜在因素分别是&#xff1a; Redis 内部的阻塞式操作C…

leetcode209长度最小的子数组|滑动窗口算法详细讲解学习

滑动窗口是一种基于双指针的一种思想&#xff0c;两个指针指向的元素之间形成一个窗口。 分类&#xff1a;窗口有两类&#xff0c;一种是固定大小类的窗口&#xff0c;一类是大小动态变化的窗口。 简而言之&#xff0c;滑动窗口算法在一个特定大小的字符串或数组上进行操作&…

git clone常见问题一览及解决方法

在使用Ubuntu下&#xff0c;终端运行git clone命令时会遇见许多问题&#xff0c;本文主要针对一些常见的问题进行整理。关于换源问题&#xff0c;推荐使用小鱼的一键换源。 1.git clone 速度过慢 1.1 魔法 这个方法不做过多赘述&#xff0c;ubuntu下个人使用发现体验良好&am…

Websocket基本用法

1.Websocket介绍 WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并进行双向数据传输。 应用场景&#xff1a; 视频弹幕网页聊天体育实况更新股票基金…

BUUCTF-Real-[PHP]XXE

目录 1、原理 2、XXE漏洞产生的原因 3、开始复现 paylaod 复现 4、flag 1、原理 XML数据在传输过程中&#xff0c;攻击者强制XML解析器去访问攻击者指定的资源内容&#xff08;本地/远程&#xff09;&#xff0c;外部实体声明关键字SYSTEM会令XML解析器读取数据&#xf…

八斗学习笔记

1 初始环境安装 Anaconda安装(一款可以同时创建跟管理多个python环境的软件) https://blog.csdn.net/run_success/article/details/134656460 Anaconda创建一个新python环境(安装人工智能常用的第三方python包&#xff0c;如&#xff1a;tensorflow、keras、pytorch) https://…

机器学习4-多元线性回归

多元线性回归(Multiple Linear Regression)是线性回归的一种扩展形式&#xff0c;用于建立因变量与多个自变量之间的关系。在简单线性回归中&#xff0c;我们考虑一个因变量和一个自变量之间的线性关系&#xff0c;而多元线性回归允许我们考虑多个自变量对因变量的影响。 一般…

MYSQL的配置和安装

下载安装 打开官网 MYSQL官网 点击DOWNLOADS 滑到最低下点击&#xff1a;MYSQL Community(GPL) Downlads 点击Download Archives 点击MySQL Community Server进入网站 选择相应版本下载&#xff0c;这里选择的是5.7.24版本,x86 64位【按需选择】 下载解压 配置文件…

微服务中间件 RabbitMq学习

1、为什么需要Mq 例如在用户注册业务中&#xff0c;用户注册成功后 需要发注册邮件和注册短信&#xff0c;传统的做法有两种 1.串行的方式&#xff1b;2.并行的方式 &#xff1b; 假设三个业务节点分别使用50ms&#xff0c;串行方式使用时间150ms&#xff0c;并行使用时间10…

k8s从私有库harbor中拉取镜像

一、前言 Docker镜像是构建应用程序的基础。然而&#xff0c;许多组织和开发团队希望保留他们的Docker镜像在私有仓库中&#xff0c;并从中拉取镜像&#xff0c;而不是从公共Docker Hub中下载。这样做的原因有很多&#xff0c;包括&#xff1a; 1. 安全性&#xff1a;私有仓库可…

Vue学习笔记(二)快速入门

Vue学习笔记&#xff08;二&#xff09;快速入门 vue小试牛刀 hello-vue3.html <body><div id"app"><h1>{{msg}}</h1></div><script type"module">import {createApp} from https://unpkg.com/vue3/dist/vue.esm-b…

电脑用的视频编辑软件有哪些 视频剪辑软件排行榜 视频剪辑软件推荐 视频剪辑培训学习 视频剪辑制作自学 电脑视频剪辑需要什么配置

电脑视频剪辑软件这么多&#xff0c;到底哪些比较好用&#xff1f;下面就让我们以十大电脑视频剪辑软件排行榜来细数好用的软件。另外&#xff0c;电脑视频剪辑需要什么配置&#xff1f;本文也会给大家从内存、CPU等参数上介绍&#xff0c;并推荐好用的电脑设备。 一、十大电脑…

代码随想录算法训练营第36天 | 435.无重叠区间 + 763.划分字母区间 + 56.合并区间

今日任务 435. 无重叠区间 763.划分字母区间 56. 合并区间 435.无重叠区间 - Medium 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需…

【Linux】多线程(线程概念+线程控制)

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…