Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到这里请不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
Markdown 官方文档
这里可以看到官方的 Markdown 语法规则文档,当然,后文我也会用自己的方式,阐述这些语法在实际使用中的用法。
使用 Markdown 的优点
- 专注你的文字内容而不是排版样式。
- 轻松的导出 HTML、PDF 和本身的 .md 文件。
- 纯文本内容,兼容所有的文本编辑器与字处理软件。
- 可读,直观。适合所有人的写作语言。
用什么工具?
推荐Typora
Markdown语法的简要规则
标题
标题是每篇文章都需要也是最常用的格式,在Markdown中,如果一段文字被定义为标题,只要在这段文字前加 # 号即可。
1 | # 一级标题 |
效果:

以此类推,总共六级标题,建议在 # 号后加上一个空格,这是最标准的Markdown语法。
段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个或以上空格加上回车(引用中换行省略回车)。
列表
熟悉HTML的同学肯定知道有序列表与无序列表的区别,在Markdown下,列表只需要在文字前加上-、+或* 即可变为无序列表,有序列表则直接在文字前加 1. 2. 3.符号要和文字之间加上一个字符的空格。
例1,有序列表
1 | 1. 第一点 |
- 第一点
- 第二点
- 第三点
例2,无序列表
1 | - 这是无序列表项目 |
- 这是无序列表项目
- 这是无序列表项目
- 这是无序列表项目
两个列表之间不能相邻,否则会解释为嵌套的列表。下面这个是嵌套的列表,例3,
1 | + 呵呵 |
效果:
- 呵呵
- 嘉嘉
- 嘻嘻
- 吼吼
- 嘎嘎
- 桀桀
- 哈哈
注意:
- 标记后面最少有一个
空格或制表符。 - 若不在引用区块中,必须和前方段落之间存在空行,后面最好还是空一行,否则会解释为嵌套的列表。
- 有序列表标记不是按照你写的数字进行显示的,而是根据当前有序列表标记所在位置显示的,如示例1所示。
- 无序列表的项目符号是按照实心圆、空心圆、实心方格的层级关系递进的,如例3所示。通常情况下,同一层级使用同一种标记表示,便于自己查看和管理。
引用
如果你需要引用一小段别处的句子,那么就要用引用的格式。只需要在文本前加入>这种尖括号(大于号)即可。
例,
> 这是引用
效果:
这是引用
特别的,引用还可以嵌套,如:
1 | > 这是一级引用 |
这是一级引用
这是二级引用
这是三级引用
这是一级引用
代码块
使用三个`表示代码块。
1 | var canvas = document.getElementById("canvas"); |
注意:
`这个符号是反引号,我一开始在键盘上死命的找还找不到呢?闹笑话了,这个符号在Esc键下面,切换到英文下即可。
链接
链接可以由两种形式生成:行内式和参考式。
- 使用
[](link "Optional title")表示行内链接。其中[]内的内容为要添加链接的文字,link为链接地址,Optional title为显示标题。显示效果为在你将鼠标放到链接上后,会显示一个小框提示,提示的内容就是Optional title里的内容。
例,
1 | 这就是行内链接:[Zeng's Blog](http://www.jianshu.com "Zeng's Blog") |
效果:
这就是行内链接:Zeng’s Blog
- 参考式链接
1 | 这里我们参考: |
效果:
这里我们参考:
注意:
- 上述的
[1]: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript不出现在区块中。 - 参考式链接和行内链接的显示效果是一样的。但是在编辑状态下的使用情况不一样。行内连接紧跟链接文字,可以在看到链接文字的同时清楚的知道链接地址,但是不便于多次重复利用。参考式链接可以重复使用,但一般都是将一些链接放在一起统一管理,如一段文字后面或文章结尾,因此在找到链接和链接文字的对应关系上有些麻烦。各有利弊了,分情况使用。
图片
插入图片与插入链接的语法很像,区别在一个!号,插入图片语法为:
Alt text为如果图片无法显示时显示的文字。
/path/to/img.jpg为图片所在路径。
Optional title为显示标题。显示效果为在你将鼠标放到图片上后,会显示一个小框提示,提示的内容就是Optional title。
例,行内式:
1 |  |
效果:
强调
使用**或__表示粗体。
使用*或_表示斜体。
例,
1 | **粗体1** __粗体2__ |
效果:
粗体1 粗体2 斜体1 斜体2 注意:前后的*或_与要加粗或倾斜的字体之间不能有空格。
表格
表格应该是Markdown比较累人的地方,语法真是操蛋!
用|表示表格纵向边界,表头和表内容用-隔开,并可用:进行对齐设置,两边都有:则表示居中,若不加:则默认左对齐。
详细说明:
----:为右对齐:----为左对齐:---:为居中对齐-----为默认左对齐
注意:-这样的分隔符至少要有1个!目前测试是这样的!
例1,
1 | | 序号 | 交易名 | 交易说明 | 备注 | |
| 序号 | 交易名 | 交易说明 | 备注 |
|---|---|---|---|
| 1 | prfcfg | 菜单配置 | 可以通过此交易查询到所有交易码和菜单的对应关系 |
| 2 | gentmo | 编译所有交易 | |
| 100000 | sysdba | 数据库表模型汇总 |
分割线
分割线最常使用就是三个或以上*,还可以使用-和_。
例,
1 | *** |
效果:
注意:
- 只要
*或者-大于等于三个就可组成一条平行线。 - 使用
---作为水平分割线时,要在它的前后都空一行,防止---被当成标题标记的表示方式。
反斜杠
使用表示反斜杠,相当于反转义作用。在你不想显示Markdown标记时可以使用反斜杠。
Markdown支持的转义字符列表:
\ 反斜线
` 反引号
- 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
删除线
使用~~表示删除线。
例,
~~这是一条删除线~~
效果:这是一条删除线
注意:~~和要添加删除线的文字之间不能有空格。
注脚
使用[^footer1]表示注脚。
例,
这是一个注脚测试[^footer1]
效果:
这是一个注脚测试[^footer1]
我的参考如下: