第一篇博客,就说说写博客的那点事。写博客,不用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有待研究。
源代码里的3个反单引号,要顶格写。鉴于markdown的语法原因。在最后一行行首加了一个空格。
代码复制使用时,要注意删减这个空格。后面的markdown源代码均有此问题。
```sequence
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
```
```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
```
```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
```
```sequence
Title:序列图虚线和箭头
AXI_Master1-->>AXI_slaver: 请求(valid)\n awvalid/arvalid
AXI_slaver-->AXI_Master1: 握手(ready) awready/arready
AXI_slaver->AXI_Master1: 读返回(rdata)\n rvalid
```
```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
```
```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
```
```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...|request
st->op1(right)->cond
cond(yes, right)->c2
cond(no)->sub1(left)->op1
c2(yes)->io->e
c2(no)->op2->e
```
流程图的语法大体分为两段,第一段用来定义元素,第二段用来连接元素
定义元素阶段的语法是
tag=>type: content:>url
start
end
operation
subroutine
condition
inputoutput
连接元素阶段的语法就简单多了,直接用->来连接两个元素,需要注意的是condition类型,因为他有yes和no两个分支,所以要写成
c2(yes)->io->e
c2(no)->op2->e
这样的格式。
<留给自己的一句备注>[^引用文献] 每个文献要加一行空行,否则markdown不识别。遇到的很多markdown命令符号都要求前后保证空行。