Markdown是一种轻量级的标记语言,把作者从繁杂的排版工作中解放出来,实现易读易写的文章写作,已经逐渐成为事实上的行业标准。CSDN博客支持Markdown可以让广大博友更加专注于博客内容,大赞。但是,不少博友可能对Markdown比较生疏,本博接下来用一个系列文章《Markdown简明教程》扼要介绍Markdown,希望可以对大家有所帮助。
系列教程目录
本文为《Markdown简明教程》系列教程的第4篇Markdown UML图,主要讲解Markdown序列图、流程图等, 顺便为介绍了无需任何插件的在线绘制UML的Gravizo。下一篇文章我们来研读CSDN Markdown的一些特性。
基于js-sequence-diagrams实现了序列图,使用下列的格式声明一个序列图:
在网页上解析结果为:
注意:所有的序列图代码需要放在一个语法类型为sequence的代码块中。如下面代码所示。
序列图的语法如下图所示。
具体来说:
title: 序列图标题
将编译为:
participant A
participant B
将编译为:
note left of A: 左侧note
note right of B: 右侧note
note over C: 覆盖note
note over A,B: 覆盖多个actor
note over B,C: 测试下\n 换行
将编译为:
A-A:自言自语
A->B:实线实箭头
A-->B:虚线实箭头
A->>B:实线虚箭头
A-->>B:虚线虚箭头
将编译为:
下面的案例演示了序列图语法的混合使用,参见代码:
在网页上解析之后结果为:
CSDN Markdown基于flowchart.js实现流程图。一个简单的流程格式如下代码所示:
编译之后结果为:
注意:所有的流程图代码需要放在一个语法类型为flow的代码块中。如下面代码所示。
流程图绘制包括两部分:节点定义和节点连接。
格式如下:
节点名称=>节点类型: 提示文本
st=>start: start
or
kaishi=>start: 开始
or
起点=>start: 起点
or
start=>start
start=>start: 开始
login=>operation: 登陆
isLogin=>condition: 是否已登陆?
test=>operation: 进行测试
end=>end: 结束
格式如下
一般节点连接:
节点->节点
条件判断节点连接:
条件节点(yes)->正确应答节点
条件节点(no)->错误应答节点
如下面代码所示:
start->isLogin
isLogin(yes)->test
isLogin(no)->login->isLogin
test->end
编译之后结果为
接下来做一个复杂的案例,如下图所示,请大家思考如何实现。
列出源代码供大家参考。
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
在研究Markdown UML图的时候,找到了不少在线绘制UML图的方式,例如Dot、PlantUML和UMLGraph等方式,并且发现了一个不用使用任何插件就可调用图片的方式-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的一些特性。
前端开发whqet,关注前端开发,分享相关资源。csdn专家博客,王海庆希望能对您有所帮助,限于作者水平有限,出错难免,欢迎拍砖!
欢迎任何形式的转载,烦请注明装载,保留本段文字。
本文原文链接,http://blog.csdn.net/whqet/article/details/44281463
欢迎大家访问独立博客http://whqet.github.io
原文地址:http://blog.csdn.net/whqet/article/details/44281463