blog/Markdown-简要手册.md

623 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Markdown 简要手册(转载)
date: 2020-03-23 14:02:26
tags:
- markdown
categories:
- others
---
## 一、Mrakdown 标题
### 1. = 和 - 标记
```Markdown
我展示的是一级标题
=================
我展示的是二级标题
-----------------
```
### 2. 使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
注意 # 与内容之间有一个空行。
```Markdown
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
```
---
## 二、Markdown 段落
### 1. 段落
- **文字末尾加两个空格并回车**:表示*段落内*的换行。相当于 html 中的 `<br />`
- **空行**:表示区分开*两个段落*。相当于在 html 中,两段文字分别被 `<p>` 标签包裹。
### 2. 粗体、斜体
Markdown 可以使用以下几种字体:
```Markdown
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
```
效果:
> _斜体文本_
> _斜体文本_
> **粗体文本**
> **粗体文本**
> **_粗斜体文本_**
> **_粗斜体文本_**
### 3. 分割线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
```Markdown
***
* * *
*****
- - -
----------
```
### 4. 删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
```Markdown
~~BAIDU.COM~~
```
显示效果:
> ~~BAIDU.COM~~
### 5. 下划线
下划线可以通过 HTML 的 `<u>` 标签来实现:
```Markdown
<u>带下划线文本</u>
```
显示效果:
> `<u>`带下划线文本`</u>`
### 6. 脚注
脚注是对文本的补充说明。
Markdown 脚注的格式如下:
```Markdown
[^要注明的文本]
```
以下实例演示了脚注的用法:
```Markdown
创建脚注格式类似这样 [^baidu]。
[^baidu]: 百度
```
> 创建脚注格式类似这样 [^baidu]。
>
> [^baidu]: 百度
> ~~_VS Code 的预览似乎不支持……_~~
---
## 三、Markdown 列表
### 1. 无序列表
无序列表使用星号(\*)、加号(+)或是减号(-)作为列表标记:
```Markdown
* 第一项
* 第二项
* 第三项
+ 第一项
+ 第二项
+ 第三项
- 第一项
- 第二项
- 第三项
```
显示结果如下:
> - 第一项
> - 第二项
> - 第三项
>
> * 第一项
> * 第二项
> * 第三项
>
> - 第一项
> - 第二项
> - 第三项
### 2. 有序列表
有序列表使用数字并加上 . 号来表示,如:
```Markdown
1. 第一项
2. 第二项
3. 第三项
```
显示结果如下:
> 1. 第一项
> 2. 第二项
> 3. 第三项
### 3. 列表嵌套
列表嵌套只需在子列表中的选项添加四个空格即可:
```Markdown
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
```
显示结果如下:
> 1. 第一项:
> - 第一项嵌套的第一个元素
> - 第一项嵌套的第二个元素
> 2. 第二项:
> - 第二项嵌套的第一个元素
> - 第二项嵌套的第二个元素
---
## 四、Markdown 区块
_前面的内容都是以区块展示效果但这节讲的就是区块所以效果都不放在区块中。这一节中出现的区块都是效果本身。_
### 1. 区块
Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:
```Markdown
> 区块引用
> 百度
> 学的不仅是技术更是梦想
```
显示结果如下:
> 区块引用
> 百度
> 学的不仅是技术更是梦想
### 2. 嵌套区块
区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:
```Markdown
> 最外层
> > 第一层嵌套
> > > 第二层嵌套
```
> 最外层
>
>> 第一层嵌套
>>
>>> 第二层嵌套
>>>
>>
### 3. 区块中使用列表
区块中使用列表实例如下:
```Markdown
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> + 第一项
> + 第二项
> + 第三项
```
显示结果如下:
> 区块中使用列表
>
> 1. 第一项
> 2. 第二项
>
> - 第一项
> - 第二项
> - 第三项
### 4. 列表中使用区块
如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。
```Markdown
区块中使用列表实例如下:
* 第一项
> 百度
* 第二项
```
显示结果如下:
- 第一项
> 百度
>
- 第二项
---
## 五、Markdown 代码
如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如:
```Markdown
`printf()` 函数
```
显示结果如下:
> `printf()` 函数
### 代码区块
将连续的三个 ` 放在代码段的前面和后面并指定一种语言也可以不指定。_本文章中所有的代码都是用这种方式展现的。_
> \`\`\`javascript
> \$(document).ready(function () {
> alert('baidu');
> });
> \`\`\`
**_指定语言某些 Markdown 编辑器可能会给予代码高亮显示。_**
---
## 六、Markdown 链接
链接使用方法如下:
```Markdown
[链接名称](链接地址)
或者
<链接地址>
```
实例:
```Markdown
这是一个链接 [百度](https://www.baidu.com)
```
显示结果如下:
> 这是一个链接 [百度](https://www.baidu.com)
直接使用链接地址:
```Markdown
<https://www.baidu.com>
```
显示结果如下:
> [https://www.baidu.com](https://www.baidu.com)
### 高级链接
我们可以通过变量来设置一个链接,变量赋值在文档末尾进行:
```Markdown
这个链接用 1 作为网址变量 [Google][1]
这个链接用 baidu 作为网址变量 [Baidu][baidu]
然后在文档的结尾为变量赋值(网址)
[1]: http://www.google.com/
[baidu]: http://www.baidu.com/
```
效果如下:
> 这个链接用 1 作为网址变量 [Google][1]
> 这个链接用 baidu 作为网址变量 [Baidu][baidu]
> 然后在文档的结尾为变量赋值(网址)
>
> [1]: http://www.google.com/
> [baidu]: http://www.baidu.com/
---
## 七、Markdown 图片
Markdown 图片语法格式如下:
```Markdown
![alt 属性文本](图片地址)
![alt 属性文本](图片地址 "可选标题")
```
- 开头一个感叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 'title' 属性的文字。
实例:
```Markdown
![BAIDU 图标](http://...)
![BAIDU 图标](http://... "BAIDU")
```
当然,你也可以像网址那样对图片网址使用变量:
```Markdown
这个链接用 1 作为网址变量 [百度][1].
然后在文档的结尾为变量赋值(网址)
[1]: http://...
```
---
## 八、Markdown 表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
语法格式如下:
```Markdown
| 表头 | 表头 |
| ------ | ------ |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
```
以上代码显示结果如下:
> | 表头 | 表头 |
> | ------ | ------ |
> | 单元格 | 单元格 |
> | 单元格 | 单元格 |
### 对齐方式
我们可以设置表格的对齐方式:
- -: 设置内容和标题栏居右对齐。
- :- 设置内容和标题栏居左对齐。
- :-: 设置内容和标题栏居中对齐。
实例如下:
```Markdown
| 左对齐齐齐齐 | 右对齐齐齐齐 | 居中对齐齐齐齐 |
| :----------- | -----------: | :------------: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
```
以上代码显示结果如下:
> | 左对齐齐齐齐 | 右对齐齐齐齐 | 居中对齐齐齐齐 |
> | :----------- | -----------: | :------------: |
> | 单元格 | 单元格 | 单元格 |
> | 单元格 | 单元格 | 单元格 |
---
## 九、Markdown 高级技巧
### 支持的 HTML 元素
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
目前支持的 HTML 元素有:`<kbd>` `<b>` `<i>` `<em>` `<sup>` `<sub>` `<br>` 等 ,如:
```Markdown
使用 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>Del</kbd> 重启电脑
```
输出结果为:
> 使用 `<kbd>`Ctrl`</kbd>`+`<kbd>`Alt`</kbd>`+`<kbd>`Del`</kbd>` 重启电脑
### 转义
Markdown 使用了很多特殊符号来表示特定的意义如果需要显示特定的符号则需要使用转义字符Markdown 使用反斜杠转义特殊字符:
```Markdown
**文本加粗**
\*\* 正常显示星号 \*\*
```
输出结果为:
> **文本加粗**
> \*\* 正常显示星号 \*\*
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
```Markdown
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
```
### 公式
当你需要在编辑器中插入数学公式时,可以使用两个美元符 \$\$ 包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax 对数学公式进行渲染。
---
## 十、其它
typora 还支持以下流程图、时序图(顺序图)、甘特图
### 横向流程图:
```mermaid
graph LR
A[方形] -->B(圆角)
B --> C{条件a}
C -->|a=1| D[结果1]
C -->|a=2| E[结果2]
F[横向流程图]
```
### 竖向流程图:
```mermaid
graph TD
A[方形] --> B(圆角)
B --> C{条件a}
C --> |a=1| D[结果1]
C --> |a=2| E[结果2]
F[竖向流程图]
```
### 标准流程图:
```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(right)->op(right)->cond
cond(yes)->io(bottom)->e
cond(no)->sub1(right)->op
```
### UML 时序图:
```sequence
对象A->对象B: 对象B你好吗?(请求)
Note right of 对象B: 对象B的描述
Note left of 对象A: 对象A的描述(提示)
对象B-->对象A: 我很好(响应)
对象A->对象B: 你真的好吗?
```
### UML 时序图:
```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: 没人陪我玩
```
### UML 标准时序图:
```mermaid
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant 张三
participant 李四
张三->王五: 王五你好吗?
loop 健康检查
王五->王五: 与疾病战斗
end
Note right of 王五: 合理 食物 <br/>看医生...
李四-->>张三: 很好!
王五->李四: 你怎么样?
李四-->王五: 很好!
```
### 甘特图:
```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
```