神的尾巴

全栈工程师、独立开发者

0%

自整理超全 markdown 教程

markdown介绍

markdown是一种轻量级标记语言,且易写易读。

优势

  1. 专注文字内容而不是排版,安心写作;
  2. 能够方便的导出HTML、PDF;
  3. 纯文本内容,方便存储和打开;
  4. 简单易用,学习成本低。

基础功能

标题

使用方式

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

解析后效果

粗体/斜体

使用方式

1
2
3
4
5
6
7
8
9
# 格式
**粗体文本**
*斜体文本*
***粗斜体文本***

# 示例
我是**粗体**,你呢?
我是*斜体*,你呢?
我是**粗斜体***,你呢?

解析后效果

我是粗体,你呢?
我是斜体,你呢?
我是*粗斜体**,你呢?

删除线

使用方式

1
2
3
4
5
# 格式
~~删除内容~~

# 示例
我是~~删除线~~,你呢?

解析后效果

我是删除线,你呢?

换行和段落

使用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 换行格式
行1[空格][空格][换行符]
行2

# 段落格式
段落1
[空行]
段落2

# 示例
我要换行了[空格][空格][换行符]
我是新一的一行

我要换行了[换行符]
我是无效的新一行

我要换段落了

我是新段落

解析后效果

我要换行了
我是新一的一行

我要换行了
我是无效的新一行

我要换段落了

我是新段落

需要注意的点

  1. 使用至少两个空格+换行符,可以进行换行操作,不然会当成一行;
  2. 中间隔一行,代表为新段落;
  3. 多个空行会被忽略,当然也可以使用<br>强制换行,但是部分编辑器不支持,也不够优雅。

列表

使用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 无序列表格式
[-+*] 无序列表内容

# 有序列表格式
[123...]. 有序列表格式

# 示例
- 无序列表1
- 无序列表2
- 无序列表3

1. 有序列表1
1. 子列表1
- 子子列表1
- 子子列表2
2. 子列表2
2. 有序列表2
3. 有序列表3

解析后效果

  • 无序列表1
  • 无序列表2
  • 无序列表3
  1. 有序列表1
    1. 子列表1
      • 子子列表1
      • 子子列表2
    2. 子列表2
  2. 有序列表2
  3. 有序列表3

需要注意的点

  1. 无序标识符包括:-+*
  2. 支持有序、无序嵌套列表;
  3. 有序、无序列表标识与列表文字中间需要有空格,否则无法解析;
  4. 有序列表即使后面数字错误也会按照顺序显示序号。

引用

使用方式

1
2
3
4
5
6
7
# 格式
> 引用内容
>> 二级引用内容

# 示例
> Talk is cheap. Show me the code.
>> I think so.

解析后效果

Talk is cheap. Show me the code.

I think so

需要注意的点

  1. 引用支持嵌套;
  2. 如果是多行引用,需要在每行前面加上引用标识符。

链接

使用方式

1
2
3
4
5
6
7
8
9
# 直接链接格式
<链接地址>

# 带标题链接格式
[链接标题](链接地址)

# 示例
<https://tech.top>
[TechTop](https://tech.top)

解析后效果

https://tech.top

TechTop

图片

使用方式

1
2
3
4
5
# 格式
![图片alt](图片地址)

# 示例
![测试图片](https://godtail.tech.top/20200818143730.png!share)

解析后效果

测试图片

表格

使用方式

1
2
3
4
# 格式
|表头1|表头2|表头3|
|:-|:-:|-:|
|1|2|3|

解析后效果

表头1 表头2 表头3
1 2 3

需要注意的点

  1. :-:代表左对齐,:-::代表居中对齐, -::代表右对齐,默认居中对齐

分割线

使用方式

1
2
3
4
5
# 格式
---
***
___
* * *

解析后效果


需要注意的点

  1. 三个以上的-_*,在中间插入空格不影响。

代码

使用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 行内代码格式
`行内代码`

# 块级代码格式(因为解析问题这里使用'''替代```)
'''[指定语言]
块级代码
'''

# 块级代码格式
[tab]块级代码
[tab]块级代码

# 示例(因为解析问题这里使用'''替代```)
我是`const s = 'hello word'`

'''javascript
const s = 'hello word'
alert(s)
'''

解析效果

我是const s = 'hello word'

1
2
const s = 'hello word'
alert(s)

脚注

使用方式

1
2
3
4
5
6
7
8
# 格式
[^脚注名]:脚注内容

# 示例
使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2]。

[^1]:Markdown是一种纯文本标记语言
[^2]:HyperText Markup Language 超文本标记语言

解析效果

使用 Markdown^1可以效率的书写文档, 直接转换成 HTML[^2]。

[^2]:HyperText Markup Language 超文本标记语言

需要注意的点

  1. 注脚一般会放置在文章末尾。

转义

针对特殊字符的原样输出,需要使用转义。

常见需要转义的字符:\、```、*_{}[]()#+-.!

使用方式

1
2
3
4
5
# 格式
\[转义字符]

# 示例
\- 我不是无序列表

解析效果

- 我不是无序列表

特殊功能

锚点

使用方式

1
2
3
4
5
# 设置锚点
<span id="menu">目录</span>

# 设置锚点跳转
跳转到[目录](#menu)

解析效果

目录

跳转到目录

需要注意的点

  1. 需要解析器支持html,部分解析器不支持;
  2. span标签可以改为你需要的其他标签,设置好id即可。

注释

可以使用html <!-- xxx --> 注释。

使用方式

1
2
3
<!--
注释内容
-->

需要注意的点

  1. 需要解析器支持html,部分解析器不支持;

任务清单

使用方式

1
2
3
4
5
6
7
8
9
# 未完成格式
- [ ] 未完成任务

# 已完成格式
- [x] 已完成任务

# 示例
- [ ] 完成xxx源码分析
- [x] 咨询IOS审核情况

解析效果

数学公式

使用方式

1
2
3
4
5
6
7
8
9
10
# 格式
$latex公式$

# 示例
给你一个公式:$f(x)=\frac{P(x)}{Q(x)}$,你帮我看看~

解方程式:
$2x - 5y = 8$
$3x + 9y = -12$
$7x \times 2y \neq 3z$

解析效果

需要注意的点

  1. 部分解析器不支持;
  2. latex公式文档

图表

有多种实现方式,推荐使用mermaid,支持流程图、甘特图、类图、状态图、饼图、关系图等。

mermaid官方文档 (需要梯子)。

使用方式

1
2
3
4
5
6
7
8
9
10
11
12
# 示例(因为解析问题这里使用'''替代```)
'''mermaid
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
'''

解析效果

需要注意的点

  1. 部分解析器不支持;
  2. 各编辑器对流程图支持的方式不一致。

不支持的功能 & HACK

  1. 不支持的部分可以使用html代替,但是部分解析器可能不支持;
  2. 流程图的支持不佳,如果不行可以使用图片代替。
觉得对你有帮助的话,请我喝杯咖啡吧~.