Markdown简明教程4-Markdown UML图

1. 前言

Markdown是一种轻量级的标记语言,把作者从繁杂的排版工作中解放出来,实现易读易写的文章写作,已经逐渐成为事实上的行业标准。CSDN博客支持Markdown可以让广大博友更加专注于博客内容,大赞。但是,不少博友可能对Markdown比较生疏,本博接下来用一个系列文章《Markdown简明教程》扼要介绍Markdown,希望可以对大家有所帮助。

系列教程目录

  • 关于Markdown
  • Markdown基本使用
  • Markdown表格和公式
  • Markdown UML图
  • CSDN Markdown快速上手
  • Markdown 参考手册

本文为《Markdown简明教程》系列教程的第4篇Markdown UML图,主要讲解Markdown序列图、流程图等, 顺便为介绍了无需任何插件的在线绘制UML的Gravizo。下一篇文章我们来研读CSDN Markdown的一些特性。

2. 序列图

2.1 序列图示例

基于js-sequence-diagrams实现了序列图,使用下列的格式声明一个序列图:

在网页上解析结果为:

Created with Rapha?l 2.1.2DHCP客户机DHCP客户机DHCP服务器DHCP服务器IP租约请求IP租约提供IP租约选择IP租约确认

注意:所有的序列图代码需要放在一个语法类型为sequence的代码块中。如下面代码所示。

2.2 序列图语法

序列图的语法如下图所示。

具体来说:

  • 设置title,采用title: message。
title: 序列图标题

将编译为:

Created with Rapha?l 2.1.2序列图标题

  • 设置participant,采用participant: actor
participant A
participant B

将编译为:

Created with Rapha?l 2.1.2AABB

  • 设置note,

    • 左侧note: note left of acotor: message
    • 右侧note: note right of actor: message,
    • 覆盖note: note over actor:message
note left of A: 左侧note
note right of B: 右侧note
note over C: 覆盖note
note over A,B: 覆盖多个actor
note over B,C: 测试下\n 换行

将编译为:

Created with Rapha?l 2.1.2AABBCC左侧note右侧note覆盖note覆盖多个actor测试下 换行

  • 设置会话,

    • 实线实箭头: actor->actor: message
    • 虚线实箭头: actor–>actor:message
    • 实线虚箭头: actor->>actor:message
    • 虚线虚箭头: actor–>>actor:message
 A-A:自言自语
 A->B:实线实箭头
 A-->B:虚线实箭头
 A->>B:实线虚箭头
 A-->>B:虚线虚箭头

将编译为:

Created with Rapha?l 2.1.2AABB自言自语实线实箭头虚线实箭头实线虚箭头虚线虚箭头

下面的案例演示了序列图语法的混合使用,参见代码:

在网页上解析之后结果为:

Created with Rapha?l 2.1.2作业通知提交序列图教师教师班长班长同学们同学们通知明天作业通知记得明天交作业了解交作业作业

3. 流程图

3.1 流程图示例

CSDN Markdown基于flowchart.js实现流程图。一个简单的流程格式如下代码所示:

编译之后结果为:

Created with Rapha?l 2.1.2StartMy OperationYes or No?Endyesno

注意:所有的流程图代码需要放在一个语法类型为flow的代码块中。如下面代码所示。

3.2 流程图语法

流程图绘制包括两部分:节点定义和节点连接。

1. 节点定义

格式如下:

节点名称=>节点类型: 提示文本
  • 节点名称可随意起,甚至支持中文。提示文本可以为英文,可以为中文,也可以为空使用默认值。例如:
    st=>start: start
or
    kaishi=>start: 开始
or
    起点=>start: 起点
or
    start=>start
  • 节点类型有start、operation、condition、end等,如下图所示。
start=>start: 开始
login=>operation: 登陆
isLogin=>condition: 是否已登陆?
test=>operation: 进行测试
end=>end: 结束

2. 节点连接

格式如下

一般节点连接:
    节点->节点
条件判断节点连接:
    条件节点(yes)->正确应答节点
    条件节点(no)->错误应答节点

如下面代码所示:

start->isLogin
isLogin(yes)->test
isLogin(no)->login->isLogin
test->end

编译之后结果为

Created with Rapha?l 2.1.2开始是否已登陆?进行测试结束登陆yesno

接下来做一个复杂的案例,如下图所示,请大家思考如何实现。

Created with Rapha?l 2.1.2开始是否已登录?选择一张图片格式是否正确?完成资料资料是否符合要求?完成登陆yesnoyesnoyesno

列出源代码供大家参考。

start=>start: 开始
isLogin=>condition: 是否已登录?
login=>operation: 登陆
selectPic=>operation: 选择一张图片
isPic=>condition: 格式是否正确?
doIt=>operation: 完成资料
isRight=>condition: 资料是否符合要求?
end=>end: 完成

start->isLogin
isLogin(yes)->selectPic
isLogin(no)->login->selectPic
selectPic->isPic
isPic(yes)->doIt->isRight
isPic(no)->selectPic
isRight(yes)->end
isRight(no)->doIt

4. Gravizo

在研究Markdown UML图的时候,找到了不少在线绘制UML图的方式,例如DotPlantUMLUMLGraph等方式,并且发现了一个不用使用任何插件就可调用图片的方式-Gravizo。

例如,我们可以使用PlantUML的方式绘制一个用例图,代码如下。

@startuml
left to right direction
skinparam packageStyle rect
actor customer
actor clerk
rectangle checkout {
  customer -- (checkout)
  (checkout) .> (payment) : include
  (help) .> (checkout) : extends
  (checkout) -- clerk
}
@enduml

然后,我们就可以使用下面代码调用该图片:

<img src=‘http://g.gravizo.com/g?
@startuml
left to right direction;
skinparam packageStyle rect;
actor customer;
actor clerk;
rectangle checkout {
  customer -- (checkout);
  (checkout) .> (payment) : include;
  (help) .> (checkout) : extends;
  (checkout) -- clerk;
}
@enduml
‘>

本文为《Markdown简明教程》系列教程的第4篇Markdown UML图,主要讲解Markdown序列图、流程图等, 顺便为介绍了无需任何插件的在线绘制UML的Gravizo。下一篇文章我们来研读CSDN Markdown的一些特性。

5. 声明

前端开发whqet,关注前端开发,分享相关资源。csdn专家博客,王海庆希望能对您有所帮助,限于作者水平有限,出错难免,欢迎拍砖!

欢迎任何形式的转载,烦请注明装载,保留本段文字。

本文原文链接,http://blog.csdn.net/whqet/article/details/44281463

欢迎大家访问独立博客http://whqet.github.io

时间: 2024-10-25 08:16:55

Markdown简明教程4-Markdown UML图的相关文章

Markdown简明教程5-CSDN Markdown快速上手

0.目录 目录 前言 CSDN Markdown特点 CSDN Markdown快速上手 1 使用快捷键 粗体斜体 引用 链接 高亮代码块 图片 标题 列表 分割线 撤销重复 2 使用离线写作 3 使用导入导出 4 个性定制文章模板 声明 1. 前言 Markdown是一种轻量级的标记语言,把作者从繁杂的排版工作中解放出来,实现易读易写的文章写作,已经逐渐成为事实上的行业标准.CSDN博客支持Markdown可以让广大博友更加专注于博客内容,大赞.但是,不少博友可能对Markdown比较生疏,本

《CSDN Markdown简明教程》课程上线!

0. 目录 目录 前言 课程详情 课程介绍 课程目标 课程目录 课程简介 快速上手1-文本格式化 快速上手2-代码格式化和列表 快速上手3-链接和图片 快速上手4-目录脚注和表格 公式编辑 UML图绘制-序列图 UML图绘制2-流程图 健步如飞 参考博文 等待您的建议 声明 1. 前言 为提高广大C友 Markdown水平,响应CSDN号召,本博录制<CSDN Markdown简明教程>专栏的配套视频教程,业已上线,请广大C友批评指正! 2. 课程详情 <CSDN Markdown简明教

Markdown 简明教程

基本介绍 Markdown是一种用来写作的轻量级标记语言. 用标记语法,来代替常见的排版格式. 兼容 HTML代码. 特殊字符自动转换,例如<和&. 字体效果 使用星号*和底号_表示em标签. 例如: *斜体* _斜体_ 效果: 斜体 使用双星号**和双底号__表示strong标签. 例如: **强调** __强调__ 效果: 强调 标题 生成h1,h6标签,是通过在文字前面加上同等个数#符号来实现. 出于美观,也可以使用对称的闭合式标题符号. 例如: ## 这是标题 ## 这是标题 ##

Cmd Markdown 简明语法手册

转自地址: https://www.zybuluo.com/mdeditor?url=https://www.zybuluo.com/static/editor/md-help.markdown 『Cmd 技术渲染的沙箱页面,点击此处编写自己的文档』 Cmd Markdown 简明语法手册 Cmd-Markdown 1. 斜体和粗体 使用 * 和 ** 表示斜体和粗体. 示例: 这是 斜体,这是 粗体. 2. 分级标题 使用 === 表示一级标题,使用 --- 表示二级标题. 示例: 这是一个一

Markdown新手教程

Markdown新手教程 什么是Markdown? Markdown是一种轻量级标记语言.它允许人们"使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档".Markdown 的设计目的是方便写作的时候,标记格式.同时使标记格式后的纯文本,比起 HTML 源码,更有可读性. 用Markdown写作有什么优缺点? 概括来讲,Markdown有如下优点: - 语法比HTML简单,并且能实现大部分HTML能实现的功能 - 格式排版良好,简单直观,可读性强 有哪些比

Markdown 使用教程

前言 以前经常在 github 中看到 .md 格式的文件,一直没有注意,也不明白为什么文本文档的后缀不是 .txt ,后来无意中看到了 Markdown,看到了用这个东西写得一些web界面等特别的规整漂亮,顿时不明觉厉.后来自己学习了一下,感觉这个语言确实简洁.美观,现推荐出来供大家学习和玩玩,希望能对你有用. 本文图文并茂,避免了单纯看语法的枯燥和繁琐,其实,学习一门新东西真的其乐无穷! 简介 Markdown 是一种用来文本处理的轻量级 「标记语言」,它用简洁的语法代替排版,而无需像Mic

markdown简明语法

# markdown简明语法 标签(空格分隔): markdown 本语法只涵盖了常用的内容 [toc] 标题 标题 标题 语法为: 根据需求 可以指定 不同大小的标题 # 顶级 ## 次级 ### 次次级 ...可以试试添加更多的 # 引用 文本效果是这样的 语法为: >内容 有序无序列表 西瓜 西红柿 菠萝 南瓜 语法: 1.空格 内容 2.空格 内容 tab 1. 空格 内容 ( 这样可以变为次级内容) 注意 只要保证是 数字. 空格 这种方式写的 那么序号会自动生成 你好 好哦 说话 语

最完整的Markdown基础教程

最完整的Markdown基础教程 最完整的Markdown基础教程 最完整的Markdown基础教程 原文地址:https://www.cnblogs.com/fanlinglong/p/12298439.html

Vbs 脚本编程简明教程之一

-为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件事情就是打开 WORD ,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某 些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往