第一篇博客--CSDN写博客的markdown编辑操作---序列图和流程图

2024-06-16 09:18

本文主要是介绍第一篇博客--CSDN写博客的markdown编辑操作---序列图和流程图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • CSDN写博客的markdown编辑操作序列图和流程图
    • 博客的意义
    • 博客第一篇
  • 1序列图
    • 1源代码
    • 2显示效果图
  • 2流程图
    • 1源代码
    • 2显示效果图
  • 3序列图应用举例 1
    • 1序列图-简单示例后续示例的参照对象
    • 2序列图的虚线和箭头
    • 3序列图加注释的位置
    • 4序列图的对象重排序
  • 4流程图举例 2

CSDN写博客的markdown编辑操作—序列图和流程图

博客的意义

  1. 总结回顾,温故知新;
  2. 用于与朋友技术交流;
  3. 常写博客,可以锻炼语言描述的能力,可以改善思维逻辑;对今后工作交流的正确性/完善性,很有益处。

博客第一篇

第一篇博客,就说说写博客的那点事。写博客,不用markdown编辑,对不起程序员的出身。

CDSN作为程序员的博客群,支持markdown编辑。
详情见
CSDN-Markdown更轻松地记录你的技术博文,感谢CSDN热心博友的分享! - CSDN 官方博客 - 博客频道 - CSDN.NET
http://blog.csdn.net/blogdevteam/article/details/44590961

markdown以前只是听说,语法简单,花了一天感觉已入门。

熟悉vi/emacs的用户,可以选择下面的markdown编辑阅读器。最好下载客户端,很好的支持vi/emacs操作。
Cmd Markdown 编辑阅读器 - 作业部落出品
https://www.zybuluo.com/mdeditor#

这里只讲一下序列图和流程图的markdown操作。是否能替代visio有待研究。

1序列图:

1.1源代码:

源代码里的3个反单引号,要顶格写。鉴于markdown的语法原因。在最后一行行首加了一个空格。
代码复制使用时,要注意删减这个空格。后面的markdown源代码均有此问题。

```sequence
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。```

1.2显示效果图:

Created with Raphaël 2.1.0 张三 张三 李四 李四 嘿,小四儿, 写博客了没? 李四愣了一下,说: 忙得吐血,哪有时间写。
  • 关于 序列图 语法,参考 js-sequence-diagrams by bramp

2流程图:

2.1源代码:

```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?st->op->cond
cond(yes)->e
cond(no)->op```

2.2显示效果图:

Created with Raphaël 2.1.0 开始 我的操作 确认? 结束 yes no
  • 关于 流程图 语法,参考 flowchart.js

3序列图应用举例 1

3.1序列图-简单示例(后续示例的参照对象)

```sequence
Title:AXI_interface序列图参照物
AXI_Master1->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master1: 握手(ready)  \nawready/arready
AXI_slaver->AXI_Master1: 读返回(rdata)\n rvalid
AXI_Master2->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master2: 握手(ready)\n awready/arready
AXI_slaver->AXI_Master2: 读返回(rdata)\n rvalid```
Created with Raphaël 2.1.0 AXI_interface序列图参照物 AXI_Master1 AXI_Master1 AXI_slaver AXI_slaver AXI_Master2 AXI_Master2 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid

3.2序列图的虚线和箭头

```sequence
Title:序列图虚线和箭头
AXI_Master1-->>AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver-->AXI_Master1: 握手(ready)  awready/arready
AXI_slaver->AXI_Master1: 读返回(rdata)\n rvalid```
Created with Raphaël 2.1.0 序列图虚线和箭头 AXI_Master1 AXI_Master1 AXI_slaver AXI_slaver 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid

3.3序列图加注释的位置

```sequence
Title:Note left of AXI_Master2:左侧加注释
Note left of AXI_Master2:AXI_Master2左侧加注释---->
Note right of AXI_Master2:<----AXI_Master2右侧加注释
Note left of AXI_Master1:AXI_Master1左侧加注释---->
AXI_Master1->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master1: 握手(ready)  awready/arready
AXI_slaver->AXI_Master1: 读返回(rdata)\n rvalid
AXI_Master2->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master2: 握手(ready)\n awready/arready
AXI_slaver->AXI_Master2: 读返回(rdata)\n rvalid```
Created with Raphaël 2.1.0 Note left of AXI_Master2:左侧加注释 AXI_Master2 AXI_Master2 AXI_Master1 AXI_Master1 AXI_slaver AXI_slaver AXI_Master2左侧加注释----> <----AXI_Master2右侧加注释 AXI_Master1左侧加注释----> 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid

3.4序列图的对象重排序

```sequence
Title:participant AXI_Master2
participant AXI_Master2
participant AXI_slaver
participant AXI_Master1
AXI_Master1->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master1: 握手(ready) 
AXI_slaver->AXI_Master1: 读返回(rdata)\n rvalid
AXI_Master2->AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver->AXI_Master2: 握手(ready)\n awready/arready
AXI_slaver->AXI_Master2: 读返回(rdata)\n rvalid```
Created with Raphaël 2.1.0 participant AXI_Master2 AXI_Master2 AXI_Master2 AXI_slaver AXI_slaver AXI_Master1 AXI_Master1 请求(valid) awvalid/arvalid 握手(ready) 读返回(rdata) rvalid 请求(valid) awvalid/arvalid 握手(ready) awready/arready 读返回(rdata) rvalid

4流程图举例 2

```flow
st=>start: Start|past:>http://www.google.com[blank]
e=>end: End:>http://www.google.com
op1=>operation: My Operation|past
op2=>operation: Stuff|current
sub1=>subroutine: My Subroutine|invalid
cond=>condition: Yes 
or No?|approved:>http://www.baidu.com
c2=>condition: Good idea|rejected
io=>inputoutput: catch something...|requestst->op1(right)->cond
cond(yes, right)->c2
cond(no)->sub1(left)->op1
c2(yes)->io->e
c2(no)->op2->e```
Created with Raphaël 2.1.0 http://www.google.com Start http://www.google.com My Operation http://www.baidu.com Yes or No? http://www.baidu.com Good idea catch something... http://www.google.com End http://www.google.com Stuff My Subroutine yes no yes no

流程图的语法大体分为两段,第一段用来定义元素,第二段用来连接元素
定义元素阶段的语法是
tag=>type: content:>url

  • tag就是一个标签,在第二段连接元素时用
  • type是这个标签的类型,从上段内容看有6种类型,分别为:

start
end
operation
subroutine
condition
inputoutput

  • content就是在框框中要写的内容,中英文均可,但有一点需要特别注意,就是type后的冒号与文本之间一定要有个空格,没空格会出问题。
  • url就是一个连接,与框框中的文本相绑定

连接元素阶段的语法就简单多了,直接用->来连接两个元素,需要注意的是condition类型,因为他有yes和no两个分支,所以要写成

c2(yes)->io->e 
c2(no)->op2->e

这样的格式。

<留给自己的一句备注>[^引用文献] 每个文献要加一行空行,否则markdown不识别。遇到的很多markdown命令符号都要求前后保证空行。


  1. CSDN-Markdown编辑器之UML序列图 - 无知人生,记录点滴 - 博客频道 - CSDN.NET
    http://blog.csdn.net/testcs_dn/article/details/44274339 ↩
  2. markdown流程图语法 - aizhaoyu的专栏 - 博客频道 - CSDN.NET
    http://blog.csdn.net/aizhaoyu/article/details/44350821 ↩

这篇关于第一篇博客--CSDN写博客的markdown编辑操作---序列图和流程图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066057

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增