Markdown简介
- Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github、Wikipedia、简书等。
Markdown标题语法
- 要创建标题,请在单词或短语前面添加井号 (#
) 。
# 的数量代表了标题的级别。
样例
- # 这是一个#
- ## 这是两个##
- ### 这是三个###
- #### 这是四个####
- ##### 这是五个#####
- ###### 这是六个######
展示
- 这是一个#
- 这是两个##
- 这是三个###
- 这是四个####
- 这是五个#####
- 这是六个######
注:在#和标题之间使用一个空格进行分隔。
Markdown段落语法
- 要创建段落,请使用空白行将一行或多行文本进行分隔。
- 不要用空格(spaces)或制表符( tabs)缩进段落
Markdown换行语法
- 在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行(
<br>
)。
Markdown强调语法
粗体
- 要加粗文本,请在单词或短语的前后各添加两个星号(asterisks)或下划线(underscores)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(asterisks)。
样例
- 这是**加粗**
- 这是__下划线加粗__
- Love**is**bold
展示
- 这是加粗
- 这是下划线加粗
- Loveisbold
斜体
- 要用斜体显示文本,请在单词或短语前后添加一个星号(asterisk)或下划线(underscore)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。
样例
- 这是*斜体*
- 这是_下划线斜体_
- Love*is*what
展示
- 这是加粗
- 这是下划线加粗
- Loveisbold
粗体和斜体
- 要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号或下划线。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。
样例
- 这是***加粗和斜体***
- 这是**_加粗和斜体_**
- 这是___下划线加粗和斜体___
- 这是__*下划线加粗和斜体*__
- Love***is***what
展示
- 这是加粗
- 这是加粗
- 这是下划线加粗
- 这是下划线加粗
- Loveisbold
Markdown引用语法
- 要创建块引用,请在段落前添加一个
>
符号。
样例
- > 这是引用一
展示
- 这是引用一
多个段落的块引用
- 块引用可以包含多个段落。为段落之间的空白行添加一个
>
符号。
样例
- > 这是引用一
- >
- > 这是引用二
展示
这是引用一
这是引用二
嵌套块引用
- 块引用可以嵌套。在要嵌套的段落前添加一个
>>
符号。
样例
>这是外
>
>>这是内
展示
这是外
这是内
带有其他元素的块引用
- 块引用可以包含其他 Markdown 格式的元素。并非所有元素都可以使用,你需要进行实验以查看哪些元素有效。
样例
> ####这是标题
>
> – 第一
> – 第二
>
> *斜体*和**加粗**
展示
这是标题
- 第一
- 第二
斜体和加粗
Markdown列表语法
- 可以将多个条目组织成有序或无序列表。
有序列表
- 要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。
无须列表
- 要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表,列表嵌套只需在子列表中的选项前面添加两个或四个空格即可:。
样例
– first item
– second item
– indented item
– indented item
– third item
展示
- first item
- second item
- indented item
- indented item
- third item
在列表中嵌套其他元素
- 要在保留列表连续性的同时在列表中添加另一种元素,请将该元素缩进四个空格或一个制表符,如下例所示:
段落样例
* Here’s the second list item.
I need to add another paragraph below the second list item.
* And here’s the third list item.
段落展示
- Here’s the second list item.I need to add another paragraph below the second list item.
- And here’s the third list item.
引用块
* This is the first list item.
* Here's the second list item.
> A blockquote would look great below the second list item.
* And here's the third list item.
渲染效果如下:
- This is the first list item.
- Here’s the second list item.A blockquote would look great below the second list item.
- And here’s the third list item.
代码块
- 代码块通常采用四个空格或一个制表符缩进。当它们被放在列表中时,请将它们缩进八个空格或两个制表符。
1. Open the file.
2. Find the following code block on line 21:
<html>
<head>
<title>Test</title>
</head>
3. Update the title to match the name of your website.
渲染效果如下:
- Open the file.
- Find the following code block on line 21:<html>
<head>
<title>Test</title>
</head> - Update the title to match the name of your website.
图片
1. Open the file containing the Linux mascot.
2. Marvel at its beauty.
![Tux, the Linux mascot](/assets/images/tux.png)
3. Close the file.
渲染效果如下:
- Open the file containing the Linux mascot.
- Marvel at its beauty.
- Close the file.
列表
You can nest an unordered list in an ordered list, or vice versa.
1. First item
2. Second item
3. Third item
- Indented item
- Indented item
4. Fourth item
渲染效果如下:
- First item
- Second item
- Third item
- Indented item
- Indented item
- Fourth item
Markdown分割线语法
- 要创建分隔线,请在单独一行上使用三个或多个星号 (
***
)、破折号 (---
) 或下划线 (___
) ,并且不能包含其他内容。
***
---
_________________
Markdown链接语法
链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。
超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")
对应的HTML代码:<a href="超链接地址" title="超链接title">超链接显示名</a>
这是一个链接 [Markdown语法](https://markdown.com.cn)。
渲染效果如下:
这是一个链接 Markdown语法
给链接增加 Title
链接title是当鼠标悬停在链接上时会出现的文字,这个title是可选的,它放在圆括号中链接地址后面,跟链接地址之间以空格分隔。
这是一个链接 [Markdown语法](https://markdown.com.cn "最好的markdown教程")。
渲染效果如下:
这是一个链接 Markdown语法
网址和Email地址
使用尖括号可以很方便地把URL或者email地址变成可点击的链接。
<https://markdown.com.cn>
<fake@example.com>
渲染效果如下:
https://markdown.com.cn fake@example.com
带格式化的链接
强调 链接, 在链接语法前后增加星号。 要将链接表示为代码,请在方括号中添加反引号。
I love supporting the **[EFF](https://eff.org)**.
This is the *[Markdown Guide](https://www.markdownguide.org)*.
See the section on [`code`](#code).
渲染效果如下:
I love supporting the EFF. This is the Markdown Guide. See the section on code
.
引用类型链接
引用样式链接是一种特殊的链接,它使URL在Markdown中更易于显示和阅读。参考样式链接分为两部分:与文本保持内联的部分以及存储在文件中其他位置的部分,以使文本易于阅读。
链接的第一部分格式
引用类型的链接的第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接的文本。第二组括号显示了一个标签,该标签用于指向您存储在文档其他位置的链接。
尽管不是必需的,可以在第一组和第二组括号之间包含一个空格。第二组括号中的标签不区分大小写,可以包含字母,数字,空格或标点符号。
以下示例格式对于链接的第一部分效果相同:
[hobbit-hole][1]
[hobbit-hole] [1]
#链接的第二部分格式
引用类型链接的第二部分使用以下属性设置格式:
- 放在括号中的标签,其后紧跟一个冒号和至少一个空格(例如
:
)。 - 链接的URL,可以选择将其括在尖括号中。
- 链接的可选标题,可以将其括在双引号,单引号或括号中。
以下示例格式对于链接的第二部分效果相同:
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles"
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle 'Hobbit lifestyles'
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle (Hobbit lifestyles)
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> "Hobbit lifestyles"
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> 'Hobbit lifestyles'
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> (Hobbit lifestyles)
可以将链接的第二部分放在Markdown文档中的任何位置。有些人将它们放在出现的段落之后,有些人则将它们放在文档的末尾(例如尾注或脚注)。
Markdown图片语法
要添加图像,请使用感叹号 (!
), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。
插入图片Markdown语法代码:![图片alt](图片链接 "图片title")
。
对应的HTML代码:<img src="图片链接" alt="图片alt" title="图片title">
![这是图片](/assets/img/philly-magic-garden.jpg "Magic Gardens")
渲染效果如下:
链接图片
给图片增加链接,请将图像的Markdown 括在方括号中,然后将链接添加在圆括号中。
[![沙漠中的岩石图片](/assets/img/shiprock.jpg "Shiprock")](https://markdown.com.cn)
渲染效果如下:
Markdown转义字符语法
要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \ 。
\* Without the backslash, this would be a bullet in an unordered list.
渲染效果如下:
* Without the backslash, this would be a bullet in an unordered list.
可做转义的字符
以下列出的字符都可以通过使用反斜杠字符从而达到转义目的。
Character | Name |
---|---|
\ | backslash |
` | backtick (see also escaping backticks in code) |
* | asterisk |
_ | underscore |
{ } | curly braces |
[ ] | brackets |
( ) | parentheses |
# | pound sign |
+ | plus sign |
– | minus sign (hyphen) |
. | dot |
! | exclamation mark |
| | pipe (see also escaping pipe in tables) |
Markdown内嵌HTML语法
对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。
行级內联标签
HTML 的行级內联标签如 <span>
、<cite>
、<del>
不受限制,可以在 Markdown 的段落、列表或是标题里任意使用。依照个人习惯,甚至可以不用 Markdown 格式,而采用 HTML 标签来格式化。例如:如果比较喜欢 HTML 的 <a>
或 <img>
标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图片语法。当你需要更改元素的属性时(例如为文本指定颜色或更改图像的宽度),使用 HTML 标签更方便些。
HTML 行级內联标签和区块标签不同,在內联标签的范围内, Markdown 的语法是可以解析的。
This **word** is bold. This <em>word</em> is italic.
渲染效果如下:
This word is bold. This word is italic.
区块标签
区块元素──比如 <div>
、<table>
、<pre>
、<p>
等标签,必须在前后加上空行,以便于内容区分。而且这些元素的开始与结尾标签,不可以用 tab 或是空白来缩进。Markdown 会自动识别这区块元素,避免在区块标签前后加上没有必要的 <p>
标签。
例如,在 Markdown 文件里加上一段 HTML 表格:
This is a regular paragraph.
<table>
<tr>
<td>Foo</td>
</tr>
</table>
This is another regular paragraph.
请注意,Markdown 语法在 HTML 区块标签中将不会被进行处理。例如,你无法在 HTML 区块内使用 Markdown 形式的*强调*
Markdown 表格
要添加表,请使用三个或多个连字符(---
)创建每列的标题,并使用管道(|
)分隔每列。您可以选择在表的任一端添加管道。
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
呈现的输出如下所示:
Syntax | Description |
---|---|
Header | Title |
Paragraph | Text |
单元格宽度可以变化,如下所示。呈现的输出将看起来相同。
| Syntax | Description |
| --- | ----------- |
| Header | Title |
| Paragraph | Text |
Tip: 使用连字符和管道创建表可能很麻烦。为了加快该过程,请尝试使用Markdown Tables Generator。使用图形界面构建表,然后将生成的Markdown格式的文本复制到文件中。
对齐
您可以通过在标题行中的连字符的左侧,右侧或两侧添加冒号(:
),将列中的文本对齐到左侧,右侧或中心。
| Syntax | Description | Test Text |
| :--- | :----: | ---: |
| Header | Title | Here's this |
| Paragraph | Text | And more |
呈现的输出如下所示:
Syntax | Description | Test Text |
---|---|---|
Header | Title | Here’s this |
Paragraph | Text | And more |
格式化表格中的文字
您可以在表格中设置文本格式。例如,您可以添加链接,代码(仅反引号(“`)中的单词或短语,而不是代码块)和强调。
您不能添加标题,块引用,列表,水平规则,图像或HTML标签。
在表中转义管道字符
您可以使用表格的HTML字符代码(|
)在表中显示竖线(|
)字符。
Markdown 代码块
如果是段落上的一个函数或片段的代码可以用反引号把它包起来(`),例如:
`printf()` 函数
print()
Markdown允许通过将行缩进四个空格或一个制表符来创建代码块。或在代码块之前和之后的行上使用三个反引号((““`)或三个波浪号(~~~)。
```
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
```
呈现的输出如下所示:
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
Tip:要在代码块中显示反引号?请参阅了解如何转义它们。
语法高亮
许多Markdown处理器都支持受围栏代码块的语法突出显示。使用此功能,您可以为编写代码的任何语言添加颜色突出显示。要添加语法突出显示,请在受防护的代码块之前的反引号旁边指定一种语言。
```json
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
```
呈现的输出如下所示:
{ “firstName”: “John”, “lastName”: “Smith”, “age”: 25 }
Markdown 任务列表语法
任务列表使您可以创建带有复选框的项目列表。在支持任务列表的Markdown应用程序中,复选框将显示在内容旁边。要创建任务列表,请在任务列表项之前添加破折号-
和方括号[ ]
,并在[ ]
前面加上空格。要选择一个复选框,请在方括号[x]
之间添加 x 。
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
呈现的输出如下所示:
Markdown 删除线
您可以通过在单词中心放置一条水平线来删除单词。结果看起来像这样。此功能使您可以指示某些单词是一个错误,要从文档中删除。若要删除单词,请在单词前后使用两个波浪号~~
。
~~世界是平坦的。~~ 我们现在知道世界是圆的。
呈现的输出如下所示:
世界是平坦的。 我们现在知道世界是圆的。
Markdown定义列表
一些Markdown处理器允许您创建术语及其对应定义的定义列表。要创建定义列表,请在第一行上键入术语。在下一行,键入一个冒号,后跟一个空格和定义。
First Term
: This is the definition of the first term.
Second Term
: This is one definition of the second term.
: This is another definition of the second term.
HTML看起来像这样:
<dl>
<dt>First Term</dt>
<dd>This is the definition of the first term.</dd>
<dt>Second Term</dt>
<dd>This is one definition of the second term. </dd>
<dd>This is another definition of the second term.</dd>
</dl>
呈现的输出如下所示:
- First TermThis is the definition of the first term.
- Second TermThis is one definition of the second term.This is another definition of the second term.
附: 菜鸟教程Markdown