0.文件夹

1. 前言

Markdown是一种轻量级的标记语言。把作者从繁杂的排版工作中解放出来,实现易读易写的文章写作,已经逐渐成为其实的行业标准。CSDN博客支持Markdown能够让广大博友更加专注于博客内容,大赞。

可是。不少博友可能对Markdown比較生疏。本博接下来用一个系列文章《Markdown简明教程》扼要介绍Markdown,希望能够对大家有所帮助。

系列教程文件夹

  • 关于Markdown
  • Markdown基本使用
  • Markdown表格和公式
  • Markdown UML图
  • CSDN Markdown高速上手
  • Markdown 參考手冊

本文为《Markdown简明教程》系列教程的第4篇Markdown UML图。主要解说Markdown序列图、流程图等, 顺便为介绍了无需不论什么插件的在线绘制UML的Gravizo。

2. 序列图

2.1 序列图演示样例

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



在网页上解析结果为:

Created with Raphaël 2.1.2DHCP客户机DHCP客户机DHCPserverDHCPserverIP租约请求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->test
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

版权声明:本文博客原创文章。博客,未经同意,不得转载。

CSDN Markdown简明教程4-UML画画的更多相关文章

  1. CSDN Markdown简明教程5-高速上手

    0.文件夹 文件夹 前言 CSDN Markdown特点 CSDN Markdown高速上手 1 使用快捷键 粗体斜体 引用 链接 高亮代码块 图片 标题 列表 切割线 撤销反复 2 使用离线写作 3 ...

  2. CSDN Markdown简明教程3-表格和公式

    0. 文件夹 文件夹 前言 表格 1 表格 2 表格对齐方式 公式 1 行内公式 2 陈列公式displayed formulas 3 MathJax语法 深入 声明 1. 前言 Markdown是一 ...

  3. 2017.5.15 markdown简明教程

    0.说明 markdown是一种书写格式,html是一种发布格式.markdown的语法种类只对应html标记的一小部分(只涵盖纯文本). 不在markdown涵盖范围的标签,都可以直接在文档里用ht ...

  4. Markdown简明教程

    一.Markdown到底是什么? Markdown是一种轻量级的标记语言,它使用很少量的符号控制文字的样式和排版,简单易学,使你更专注于文字. 二.Markdown的使用 接下来让我们一起来看下Mar ...

  5. 使用Enterprise Architecture绘制10种UML画画

    UML绘制10种课程要求UML画画,选Enterprise Architecture作为一个绘图工具,每一个草图必须是网上找教程,我觉得很麻烦,还有一些数字并没有找到详细的教程.在我自己找一个绘图方法 ...

  6. Qemu下安装Sun Solairs8简明教程 转

    http://blog.csdn.net/stonesharp/article/details/8928393 Qemu下安装Sun Solairs8简明教程(Centos6. / Win7) 作者: ...

  7. Markdown 使用教程

    前言 以前经常在 github 中看到 .md 格式的文件,一直没有注意,也不明白为什么文本文档的后缀不是 .txt ,后来无意中看到了 Markdown,看到了用这个东西写得一些web界面等特别的规 ...

  8. 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)

    小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...

  9. 2013 duilib入门简明教程 -- 部分bug (11)

     一.WindowImplBase的bug     在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,     1.最大化按钮的样式 ...

随机推荐

  1. 用golang写的生成文件md5sum,检验文件md5sum

    源代码地址: https://github.com/sndnvaps/md5sum-golang

  2. 【原创】纯OO:从设计到编码写一个FlappyBird (一)

    说起来,自学计算机也有2年多的时间了,自己还没有从设计到编码,完完整整的设计一个基于面向对象的软件的经历..囧 于是,就有了这个系列.首先选用的语言是Java,没别的原因,HeadFirst设计模式是 ...

  3. mysql回想一下基础知识

    创建数据库 creat table test( #整数通常用于int test_id int, #十进制通常使用decimal test_price decimal, #普通文本通常使用.并使用Def ...

  4. MYSQL IFNULL使用功能

    稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题.最好看. MYSQL IFNULL(expr1,expr2)       ...

  5. Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联

    本文senlie原版的,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:"public继承"意味 is-a.适用于 base classe ...

  6. uva--165(邮资问题,dp)

    题意: 某国家发行k种不同面值的邮票,而且规定每张信封上最多仅仅能贴h张邮票. 公式n(h,k)表示用从k中面值的邮票中选择h张邮票,能够组成面额为连续的1.2.3,--n. n是能达到的最大面值之和 ...

  7. STL之容器适配器queue的实现框架

    说明:本文仅供学习交流,转载请标明出处,欢迎转载! 上篇文章STL之容器适配器stack的实现框架已经介绍了STL是怎样借助基础容器实现一种经常使用的数据结构stack (栈),本文介绍下第二种STL ...

  8. FlowLayoutPanel 内的控件怎么调换顺序?

    lowLayoutPanel1.Controls.SetChildIndex("flowLayoutPanel中的控件",顺序索引)

  9. 声明式编程思想和EEPlat

    声明式编程定义 声明式编程(英语:Declarativeprogramming)它是一种编程范式.程相对立.它描写叙述目目标性质,让计算机明白目标,而非流程. 声明式编程不用告诉电脑问题领域.从而避免 ...

  10. 【ASP.NET】关于iframe的两个技巧

    原文:[ASP.NET]关于iframe的两个技巧 最近在给朋友写个网站,虽然不大,但是也碰到了一些问题.这篇就为解决ASP.NET中关于IFRAME的两个很现实的问题提供解决方法.PS:呵呵,又做了 ...