欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit 修改而来,用它写博客,将会带来全新的体验哦:
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex 数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
[TOC]
快捷键
加粗 Ctrl + B
斜体 Ctrl + I
引用 Ctrl + Q
插入链接 Ctrl + L
插入代码 Ctrl + K
插入图片 Ctrl + G
提升标题 Ctrl + H
有序列表 Ctrl + O
无序列表 Ctrl + U
横线 Ctrl + R
撤销 Ctrl + Z
重做 Ctrl + Y
Markdown及扩展
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体 或者斜体 ,创建一个链接 等,详细语法参考帮助?。
本编辑器支持 Markdown Extra , 扩展了很多好用的功能。具体请参考Github .
表格 Markdown Extra 表格语法:
项目
价格
Computer
$1600
Phone
$12
Pipe
$1
可以使用冒号来定义对齐方式:
项目
价格
数量
Computer
1600 元
5
Phone
12 元
12
Pipe
1 元
234
定义列表 Markdown Extra 定义列表语法: 项目1 项目2 : 定义 A : 定义 B
项目3 : 定义 C
: 定义 D
> 定义D内容
代码块 代码块语法遵循标准markdown代码,例如:1 2 3 4 5 6 7 8 9 10 @requires_authorization def somefunc (param1='' , param2=0 ): '''A docstring''' if param1 > param2: print 'Greater' return (param2 - param1 + 1 ) or None class SomeClass : pass >>> message = '''interpreter ... prompt'''
脚注 生成一个脚注 . : 这里是 脚注 的 内容 .
目录 用 [TOC]
来生成目录:
[TOC]
数学公式 使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com .
更多LaTex语法请参考 这儿 .
3289
LATEX Mathematical Symbols公式列表
UML 图: 可以渲染序列图:
1 2 3 张三->李四: 嘿,小四儿, 写博客了没? Note right of 李四: 李四愣了一下,说: 李四-->张三: 忙得吐血,哪有时间写。
或者流程图:
1 2 3 4 5 6 7 8 st=>start: 开始 e=>end: 结束 op=>operation: 我的操作 cond=>condition: 确认? st->op->cond cond(yes)->e cond(no)->op
关于 序列图 语法,参考 这儿 ,
关于 流程图 语法,参考 这儿 .
[https://www.caam.rice.edu/~heinken/latex/symbols.pdf ]:
markdown中画流程图 如何在markdown中使用mermaid 流程图方向有下面几个值
TB
从上到下
BT
从下到上
RL
从右到左
LR
从左到右
TD
同TB
示例
1 2 3 4 ` ` `mermaid graph TD A --> B ` ` `
效果:
1 2 3 4 ` ` `mermaid graph LR A --> B ` ` `
效果:
基本图形
id + [文字描述]矩形
id + (文字描述)圆角矩形
id + >文字描述]不对称的矩形
id + {文字描述}菱形
id + ((文字描述))圆形
示例 1 2 3 4 5 6 7 8 ` ` `mermaid graph TD id[带文本的矩形] id4(带文本的圆角矩形) id3>带文本的不对称的矩形] id1{带文本的菱形} id2((带文本的圆形)) ` ` `
效果:
1 2 3 4 5 6 graph TD id[带文本的矩形] id4(带文本的圆角矩形) id3>带文本的不对称的矩形] id1{带文本的菱形} id2((带文本的圆形))
节点之间的链接
A --> B
A带箭头指向B
A --- B
A不带箭头指向B
A -.- B
A用虚线指向B
A -.-> B
A用带箭头的虚线指向B
A ==> B
A用加粗的箭头指向B
A -- 描述 --- B
A不带箭头指向B并在中间加上文字描述
A -- 描述 --> B
A带箭头指向B并在中间加上文字描述
A -. 描述 .-> B
A用带箭头的虚线指向B并在中间加上文字描述
A == 描述 ==> B
A用加粗的箭头指向B并在中间加上文字描述
1 2 3 4 5 6 7 8 9 10 11 12 ` ` `mermaid graph LR A[A] --> B[B] A1[A] --- B1[B] A4[A] -.- B4[B] A5[A] -.-> B5[B] A7[A] ==> B7[B] A2[A] -- 描述 --- B2[B] A3[A] -- 描述 --> B3[B] A6[A] -. 描述 .-> B6[B] A8[A] == 描述 ==> B8[B] ` ` `
效果:
1 2 3 4 5 6 7 8 9 10 graph LR A[A] --> B[B] A1[A] --- B1[B] A4[A] -.- B4[B] A5[A] -.-> B5[B] A7[A] ==> B7[B] A2[A] -- 描述 --- B2[B] A3[A] -- 描述 --> B3[B] A6[A] -. 描述 .-> B6[B] A8[A] == 描述 ==> B8[B]
子流程图 格式
1 2 3 subgraph title graph definition end
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 ` ` `mermaid graph TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end ` ` `
效果:
1 2 3 4 5 6 7 8 9 10 11 graph TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end
自定义样式 语法:style id 具体样式
示例
1 2 3 4 5 6 ` ` `mermaid graph LR id1(Start)-->id2(Stop) style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5 style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5 ` ` `
效果:
1 2 3 4 graph LR id1(Start)-->id2(Stop) style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5 style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5
几个实例效果图 横向流程图 1 2 3 4 5 6 7 8 ` ` `mermaid graph LR A[方形] -->B(圆角) B --> C{条件a} C -->|a=1| D[结果1] C -->|a=2| E[结果2] F[横向流程图] ` ` `
效果:
1 2 3 4 5 6 graph LR A[方形] -->B(圆角) B --> C{条件a} C -->|a=1| D[结果1] C -->|a=2| E[结果2] F[横向流程图]
竖向流程图 1 2 3 4 5 6 7 8 ` ` `mermaid graph TD A[方形] --> B(圆角) B --> C{条件a} C --> |a=1| D[结果1] C --> |a=2| E[结果2] F[竖向流程图] ` ` `
效果:
1 2 3 4 5 6 graph TD A[方形] --> B(圆角) B --> C{条件a} C --> |a=1| D[结果1] C --> |a=2| E[结果2] F[竖向流程图]
标准流程图 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ` ` `flow st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st-> op->cond cond(yes)-> io->e cond(no)-> sub1(right)->op ` ` ` ```` 效果: ```flow st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st-> op->cond cond(yes)-> io->e cond(no)-> sub1(right)->op
标准流程图(横向) 1 2 3 4 5 6 7 8 9 10 11 ` ` `flow st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st(right)-> op(right)->cond cond(yes)-> io(bottom)->e cond(no)-> sub1(right)->op ` ` `
效果:
1 2 3 4 5 6 7 8 9 st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st(right)->op(right)->cond cond(yes)->io(bottom)->e cond(no)->sub1(right)->op
UML时序图 1 2 3 4 5 6 7 ` ` `sequence 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象A->对象B: 你真的好吗? ` ` `
效果:
1 2 3 4 5 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象A->对象B: 你真的好吗?
UML时序图 1 2 3 4 5 6 7 8 9 10 11 12 13 ` ` `sequence Title: 标题:复杂使用 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象B->小三: 你好吗 小三-->>对象A: 对象B找我了 对象A->对象B: 你真的好吗? Note over 小三,对象B: 我们是朋友 participant C Note right of C: 没人陪我玩 ` ` `
效果:
1 2 3 4 5 6 7 8 9 10 11 Title: 标题:复杂使用 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象B->小三: 你好吗 小三-->>对象A: 对象B找我了 对象A->对象B: 你真的好吗? Note over 小三,对象B: 我们是朋友 participant C Note right of C: 没人陪我玩
UML标准时序图 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ` ` `mermaid % % 时序图例子,-> 直线,-->虚线,->>实线箭头 sequenceDiagram participant 张三 participant 李四 张三->王五: 王五你好吗? loop 健康检查 王五->王五: 与疾病战斗 end Note right of 王五: 合理 食物 <br/>看医生... 李四-->>张三: 很好! 王五->李四: 你怎么样? 李四-->王五: 很好! ` ` `
效果:
1 2 3 4 5 6 7 8 9 10 11 12 %% 时序图例子,-> 直线,-->虚线,->>实线箭头 sequenceDiagram participant 张三 participant 李四 张三->王五: 王五你好吗? loop 健康检查 王五->王五: 与疾病战斗 end Note right of 王五: 合理 食物 <br/>看医生... 李四-->>张三: 很好! 王五->李四: 你怎么样? 李四-->王五: 很好!
甘特图 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ` ` `mermaid % % 语法示例 gantt dateFormat YYYY-MM-DD title 软件开发甘特图 section 设计 需求 :done, des1, 2014-01-06,2014-01-08 原型 :active, des2, 2014-01-09, 3d UI设计 : des3, after des2, 5d 未来任务 : des4, after des3, 5d section 开发 学习准备理解需求 :crit, done, 2014-01-06,24h 设计框架 :crit, done, after des2, 2d 开发 :crit, active, 3d 未来任务 :crit, 5d 耍 :2d section 测试 功能测试 :active, a1, after des3, 3d 压力测试 :after a1 , 20h 测试报告 : 48h ` ` `
效果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 %% 语法示例 gantt dateFormat YYYY-MM-DD title 软件开发甘特图 section 设计 需求 :done, des1, 2014-01-06,2014-01-08 原型 :active, des2, 2014-01-09, 3d UI设计 : des3, after des2, 5d 未来任务 : des4, after des3, 5d section 开发 学习准备理解需求 :crit, done, 2014-01-06,24h 设计框架 :crit, done, after des2, 2d 开发 :crit, active, 3d 未来任务 :crit, 5d 耍 :2d section 测试 功能测试 :active, a1, after des3, 3d 压力测试 :after a1 , 20h 测试报告 : 48h