Markdown(百度百科:Markdown)是一种轻量级的标记语言,语法简洁明了,易学易写,非常适合于编写结构化文档。Markdown的语法和HTML很类似,都是“文本+标记”的形式,文本表示内容,标记表示结构和排版。和HTML不同的是,Markdown的语法要简单的多,只涵盖纯文本可以涵盖的范围,所用的标记也只对应HTML标记中有关文本内容的部分。但Markdown的语法是兼容HTML的,也就是说,可以直接在Markdown文档中插入任何HTML内容,插入的HTML内容将得到与在HTML文档中相同的呈现效果。Markdown文档的扩展名为.md
,可以使用任意文本编辑器(如记事本)打开和编辑。但要看到Markdown文档的呈现效果,则需要使用MarkdownPad等Markdown解析器。当然,也有许多在线Markdown解析器可供使用。
基本语法
区块元素
段落
- 两个空行之间的连续文本行构成一个段落。空行指行内没有文本,但可以包含空格和制表符。连续文本行指行间没有空行。
- 段落内的文本不会产生换行,换行符将被转换为空格。如果要使段落内产生换行,需要在换行符前加至少两个空格。
标题
- 类SETEXT形式使用
=
(一级标题)和-
(二级标题)标记,底线形式,至少一个。
- 类ATX形式使用
#
标记,行首形式,可以有一到六个,几个就是几级标题,和文本间要有空格。
1 2 3 4 5 6
| # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题
|
引用
- 使用
>
标记,行首形式,只需一个,可以每行都加,也可以只在每个段落第一行加,和文本间要有空格。 - 可以嵌套其它Markdown标记,包括另一层引用。
1 2 3 4 5 6 7 8
| > 这是第一层引用 > > 这是第二层引用 > # 这是引用中的标题 > * 这是引用中的列表 > 下面是引用中的代码块 > > code is here! >
|
列表
- 无序列表使用
*
、+
或-
标记,行首形式,只需一个,和文本间要有空格。
- 有序列表使用数字加
.
来标记,行首形式,只需一个,和文本间要有空格,数字的序列并不会影响生成的列表序列。
- 可以嵌套其它Markdown标记,包括另一层列表。
- 要取消显示为有序列表,可以将
.
改为\.
。
1 2 3 4 5
| 1. 第一条 * 第一条 * 第二条 2. 第二条 3\. 第三条
|
代码块
- 使用缩进四个空格或一个制表符来标记,行首形式,每一行都要缩进,区块前后都要有至少一个空行。
1 2
| code is here! code is here!
|
分隔线
区段元素
超链接
- 行内式使用
[Text](URL "Title")
的形式来标记,其中,Text为链接文本,URL为链接网址,Title为链接标题,Title不是必须的。
1
| 这是一个[超链接](https://www.baidu.com/ "示例链接")。
|
- 参考式使用
[Text][ID]
的形式来标记,其中,Text为链接文本,ID为识别符,识别符不区分大小写。然后需要在文档另外任意位置定义链接内容,使用[ID]: URL "Title"
的形式来标记,其中,ID为识别符,URL为链接网址,Title为链接标题,Title不是必须的。也可以省略识别符,直接使用链接文本当作识别符。
1 2
| 这是一个[超链接][A]。 [A]: https://www.baidu.com/ "示例链接"
|
1
| 这是一个<https://www.baidu.com/>。
|
强调
- 使用
* *
或_ _
标记,中间包含的文本会显示为斜体,和文本间不能有空格。
- 使用
** **
或__ __
标记,中间包含的文本会显示为加粗,和文本间不能有空格。
代码
- 使用
` `
标记,中间可以包含行内代码,和文本间不能有空格。
图片
- 语法和超链接的相同,也分为行内式和参考式两种,唯一不同为需要在
[Text]
前加一个!
。 - 不支持指定图片的大小,如有需求要使用HTML中的
<img>
标记。
1
| 这里是一幅
|
字符转义
- 使用
\
来插入在Markdown语法中有特殊作用的字符。这些字符有\
、`
、*
、_
、{}
、[]
、()
、#
、+
、-
、.
、!
。
扩展语法
删除线
- 使用
~~ ~~
标记,为区段元素,中间包含的文本会显示有删除线,和文本间不能有空格。
高亮代码块
- 使用三个
`
加代码名称标记,为区块元素,底线形式。与基本语法的代码块颇不同,无需缩进,代码块文本前后各以三个`
为一行,代码名称可以省略。
表格
- 使用
|
标记分割不同的单元格,使用-
标记分割表头和其它行,标记数量不限,为区块元素,底线形式。为了美观,可以添加多个空格进行对齐。 - 使用
:
标记配合-
标记来设置单元格内容对齐方式。:----
为左对齐,:---:
为居中对齐,----:
为右对齐,默认为左对齐。 - 可以嵌套其它Markdown区段元素标记。
1 2 3 4
| | left | center | right | | :--- | :----: | ----: | | aaaa | bbbbbb | ccccc | | *a* | *b* | *c* |
|
任务列表
- 大多数Markdown解析器都未实现此元素。
- 主要用来显示总体中的选择情况。
1 2 3 4 5 6
| - [ ] A - [x] B - [x] B1 - [x] B2 - [x] B3 - [ ] C
|
后记
Markdown发展到现在,在不同的解析器中产生了一些不同的标准,显示的效果也会有差异,但大都涵盖了上述语法。在使用不同的Markdown解析器前,最好先看一下该解析器的说明文档,了解它使用哪些标准,会支持哪些Markdown语法。
本文遵循 CC BY-NC-SA 4.0 许可协议
本文链接:
https://www.niemingzhao.top/2016/08/23/Markdown语法小记/