简介
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
基本语法
标题
Markdown 标题有两种格式。
使用 = 和 - 标记一级和二级标题
我是一级标题 |
效果如下:
使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
# 一级标题 |
效果如下:
段落与格式
Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。
也可以在段落后面使用一个空行来表示重新开始一个段落。
字体
Markdown 可以使用以下几种字体:
*斜体文本* |
斜体文本
斜体文本
粗体文本
粗体文本
粗斜体文本
粗斜体文本
分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
*** |
删除线
如果段落上的文字要添加删除线,只需要在文字的两端加上两个波浪线 ~~ 即可,实例如下:
~~我是被删除的~~ |
效果如下:
我是被删除的
下划线
下划线可以通过 HTML 的<u></u>
标签或者自定义样式来实现:
<u>带下划线文本</u> |
效果如下:
带下划线文本
带下划线文本
列表
Markdown 支持有序列表和无序列表。
无序列表
无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记:
* 第一项 |
效果如下:
- 第一项
- 第二项
- 第三项
- 第四项
- 第五项
- 第六项
- 第七项
- 第八项
- 第九项
有序列表
有序列表使用数字并加上 . 号来表示,如:
1. 第一项 |
效果如下:
- 第一项
- 第二项
- 第三项
列表嵌套
列表嵌套只需在子列表中的选项添加四个空格即可:
1. 第一项: |
效果如下:
- 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
- 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
区块
区块引用
Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:
> 区块引用 |
效果如下:
区块引用
区块嵌套
区块是可以嵌套的,一个 > 符号是最外层,两个 > 符号是第一层嵌套,以此类推:
> 最外层 |
效果如下:
最外层
第一层嵌套
第二层嵌套
区块中使用列表
> 区块中使用列表 |
效果如下:
区块中使用列表
- 第一项
- 第二项
- 第一项
- 第二项
- 第三项
列表中使用区块
如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。
* 第一项 |
效果如下:
- 第一项
引用
引用 - 第二项
代码
行内代码
行内的一个函数或片段的代码可以用反引号(一个两个都行)把它包起来(`),例如:
`console.log('这是一个行内代码')` |
效果如下:
console.log('这是一个行内代码')
console.log('这是一个行内代码')
代码块
代码块使用 4 个空格、一个制表符(Tab 键)开头(前面要空一行)或者```(三个或以上) 包裹一段代码:
console.log('四个空格') |
效果如下:
console.log('四个空格')
console.log('一个制表符')
console.log('```包裹') |
链接与图片
链接
链接使用方法如下:
[链接名称](链接地址) |
例如:
[百度一下](https://www.baidu.com/) |
效果如下:
百度一下
https://www.baidu.com/
我们也可以通过变量来设置一个链接,变量赋值在文档末尾进行:
这里是 [Google][google],变量名google |
这里是 Google,变量名google
这里是 百度,变量名baidu
图片
图片语法格式如下:
![alt 属性文本](图片地址 "可选标题") |
也可以用HTML标签:
<img alt='markdown' src='https://cdn.jsdelivr.net/gh/lshaolin/repo@latest/img/post/markdown/markdown.jpg' align='left'/> |
表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
语法格式如下:
| 表头 | 表头 | |
效果如下:
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
我们还可以设置表格的对齐方式:
- -: 设置内容和标题栏居右对齐。
- :- 设置内容和标题栏居左对齐。
- :-: 设置内容和标题栏居中对齐。
其中的"-"可以一个或者多个
| 左对齐 | 右对齐 | 居中对齐 | |
效果如下:
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单 | 元 | 格 |
高级技巧
支持HTML元素
不在 Markdown 涵盖范围之内 的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
需要注意的是区块元素比如 <div>、 <table>、<pre>、 <p>
等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。
行内标签如<span>、 <cite>、<del> <kbd> <b> <i> <em> <sup> <sub> <br>
可以在 Markdown 的段落、列表或是标题里随意使用。
例如:
<del>删除线</del> |
效果如下:
删除线
转义
Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号
例如:
**文本加粗** |
效果如下:
文本加粗
** 正常显示星号 **
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线 |
公式
当你需要在编辑器中插入数学公式时,可以使用一个美元符 $ (行内)或两个美元符 $$ (独占一行)包裹 TeX 或 LaTeX 格式的数学公式来实现。提交后,问答和文章页会根据需要加载 Mathjax或者KaTeX 对数学公式进行渲染。
行内与独行
行内公式$x+y+z=0$ |
行内公式:
独立行:
上标、下标与组合
上标符号,符号:^
,如:$x^4$
,效果:
下标符号,符号:_
,如:$x_1$
,效果:
组合符号,符号:{}
,如:${x}^{2+}_{2}$
,效果:
其他公式详情请参考:MarkDown 插入数学公式
流程图
横向流程图
``` mermaid
graph LR
A[开始] -->|链接文字| B(圆边)
B --> C{条件x=?}
C -->|x=1| D[结果1]
C -->|x=2| E[结果2]
```
效果如下:
竖向流程图
``` mermaid
graph TD
A[开始] -->|链接文字| B(圆边)
B --> C{条件x=?}
C -->|x=1| D[结果1]
C -->|x=2| E[结果2]
```
其他如 :时序图、类别图、状态图、甘特图和圆形图请查看mermaid文档