MarkDown -基础语法
MarkDown - 语法说明
说明
笔记参考以下文章:
笔记参考的标准:
概述
| 百度百科 |
|---|
| Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHub、Reddit、Diaspora、[Stack Exchange](https://baike.baidu.com/item/Stack Exchange/13777796)、OpenStreetMap 、SourceForge、简书等,甚至还能被使用来撰写电子书。 |
概述
Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
宗旨
Markdown 的目标是实现「易读易写」。
由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHub、Reddit、Diaspora、[Stack Exchange](https://baike.baidu.com/item/Stack Exchange/13777796)、OpenStreetMap 、SourceForge、简书等,甚至还能被使用来撰写电子书。
兼容 HTML
Markdown 语法的目标是:成为一种适用于网络的书写语言。
特殊字符自动转换
在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是 < 和 &。
Markdown 让你可以自然地书写字符,需要转换的由它来处理好了。如果你使用的 & 字符是 HTML 字符实体的一部分,它会保留原状,否则它会被转换成 &。
Markdown 入门基础
速查表
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| *斜体* | <em>斜体</em> | Ctrl + I |
斜体 | |
| **粗体** | <strong>粗体</strong> | 粗体 | ||
| # 一级标题 | <h1>一级标题</h1> | Ctrl + 1 |
||
| ## 二级标题 | <h2>二级标题</h2> | 以此类推三级标题为三个“#” | Ctrl + 2 |
|
| [链接](http://a.com) | <a src="http://a.com">链接</a> | Ctrl + L |
链接 | |
|  | <img src="http://url/a.png">图片</img> | Ctrl + G |
![]() |
|
| > 引用 | Ctrl + Q |
|||
| * 无序列表 | <ul> <li>第一项</li> <li>第二项</li> </ul> |
Ctrl + U |
||
| 1. 有序列表 | <ol> <li>First item</li> <li>Second item</li> </ol> |
Ctrl + O |
||
| --- | <hr></hr> | 水平分割线 | ||
| ` | <code>内联代码</code> | 该符号 在ESC下面,在符号中间写代码 | 内联代码 |
|
| ***斜体+粗体*** | <strong><em>斜体+粗体</em></strong> | 斜体+粗体 | ||
| ~~删除线~~ | <s>删除线</s> | |||
| 生成目录 | ||||
| 脚注[^1] | 脚注[^1] |
Emoij 表情速查表
MarkDown - 基础语法
标题语法
要创建标题,请在单词或短语前面添加井号(#)。# 的数量代表了标题的级别,目前Markdown支持最多6级标题。
可选语法
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| 一级标题 ================= |
<h1>一级标题</h1> | Ctrl + 1 |
||
| 二级标题 ------------- |
<h2>二级标题</h2> | Ctrl + 2 |
段落语法
要创建段落,请使用空白行将一行或多行文本进行分隔。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| 这是第一段。 这是第二段。 |
<p>这是第一段。</p> <p>这是第二段。</p> |
换行语法
在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行(<br>)。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| 这是第一行。 这是第二行。 |
<p>这是第一行。 这是第二行。</p> |
换行(Line Break)用法的最佳实践
几乎每个 Markdown 应用程序都支持两个或多个空格进行换行,称为 结尾空格(trailing whitespace) 的方式,但这是有争议的,因为很难在编辑器中直接看到空格,并且很多人在每个句子后面都会有意或无意地添加两个空格。由于这个原因,你可能要使用除结尾空格以外的其它方式来换行。幸运的是,几乎每个 Markdown 应用程序都支持另一种换行方式:HTML 的 <br> 标签。
为了兼容性,请在行尾添加“结尾空格”或 HTML 的 <br> 标签来实现换行。
还有两种其他方式我并不推荐使用。CommonMark 和其它几种轻量级标记语言支持在行尾添加反斜杠(\)的方式实现换行,但是并非所有 Markdown 应用程序都支持此种方式,因此从兼容性的角度来看,不推荐使用。并且至少有两种轻量级标记语言支持无须在行尾添加任何内容,只须键入回车键(return)即可实现换行。
强调语法
粗体(Bold)
要加粗文本,请在单词或短语的前后各添加两个星号(**)或下划线(__)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(**)。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| **粗体** | <strong>粗体</strong> | Ctrl + B |
粗体 | |
| __粗体__ | <strong>粗体</strong> | Ctrl + B |
粗体 |
粗体(Bold)用法最佳实践
Markdown 应用程序在如何处理单词或短语中间的下划线上并不一致。为兼容考虑,在单词或短语中间部分加粗的话,请使用星号(**)。
斜体(Italic)
要用斜体显示文本,请在单词或短语前后添加一个星号(*)或下划线(_)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| *粗体* | <em>粗体</em> | Ctrl + I |
斜体 | |
| _粗体_ | <em>粗体</em> | Ctrl + I |
斜体 |
斜体(Italic)用法的最佳实践
Markdown 应用程序在如何处理单词或短语中间的下划线上并不一致。为兼容考虑,在单词或短语中间部分加粗的话,请使用星号(*)。
粗体(Bold)和斜体(Italic)
要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号(*)或下划线(_)。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| ***粗体+斜体*** | <em>粗体</em> | Ctrl + BCtrl + I |
粗体+斜体 | |
| ___粗体+斜体___ | <em>粗体</em> | Ctrl + BCtrl + I |
粗体+斜体 | |
| **_粗体+斜体_** | <em>粗体</em> | Ctrl + BCtrl + I |
粗体+斜体 | |
| __*粗体+斜体*__ | <em>粗体</em> | Ctrl + BCtrl + I |
粗体+斜体 |
粗体(Bold)和斜体(Italic)用法的最佳实践
Markdown 应用程序在处理单词或短语中间添加的下划线上并不一致。为了实现兼容性,请使用星号(*)将单词或短语的中间部分加粗并以斜体显示,以示重要。
引用语法
要创建块引用,请在段落前添加一个 > 符号。
>这是一个引用。
渲染效果如下所示:
这是一个引用的渲染效果。
多个段落的块引用
块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。
>这是第一段的引用。
>
>这是第二段的引用。
渲染效果如下所示:
这是第一段的引用。
这是第二段的引用。
嵌套块引用
> 这是第一层引用。
>> 这是第二层引用。
>>> 这是第三层引用。
>> 这是第二层引用2。
> 这是第一层引用2。
渲染效果如下所示:
这是第一层引用。
这是第二层引用。
这是第三层引用。
这是第二层引用2。
这是第一层引用2。
带有其它元素的块引用
块引用可以包含其他 Markdown 格式的元素。并非所有元素都可以使用,你需要进行实验以查看哪些元素有效。
> #### 带有其它元素的块引用。
>
> - 带无序列表的块引用。
> 1. 带有序列表的块引用。
>
> 带强调的块引用 **粗体**、*斜体* 。
渲染效果如下:
带有其它元素的块引用
- 带无序列表的块引用。
- 带有序列表的块引用。
带强调的块引用 粗体、斜体 。
列表语法
可以将多个条目组织成有序或无序列表。
注:有序列表可以不从1.开始书写,但其接下来的序号依旧会承接上一位数字。
有序列表
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| 1. 第一项 2. 第二项 3. 第三项 |
<ol> <li>First item</li> <li>Second item</li> <li>Third item</li> </ol> |
Ctrl + O |
列表中嵌套列表
1. 这是有序列表第一项。
2. 这是有序列表第二项。
1. 这是有序列表第二项的第一小项。
* 有序列表嵌套无序列表。
-
这是有序列表第一项。
-
这是有序列表第二项。
- 这是有序列表第二项的第一小项。
- 有序列表嵌套无序列表。
无序列表
要创建无序列表,请在每个列表项前面添加破折号(-)、星号(*)或加号(+)。缩进一个或多个列表项可创建嵌套列表。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| - 第一项 - 第二项 |
<ul> <li>第一项</li> <li>第二项</li> </ul> |
Ctrl + U |
||
| * 第一项 * 第二项 |
<ul> <li>第一项</li> <li>第二项</li> </ul> |
Ctrl + U |
||
| + 第一项 + 第二项 |
<ul> <li>第一项</li> <li>第二项</li> </ul> |
Ctrl + U |
在列表中嵌套其他元素
例如:段落
* 这是无序列表第一项。
* 这是无序列表第二项。
在无序列表第二项插入一个段落。
* 这是无序列表第三项。
渲染效果如下:
- 这是无序列表第一项。
- 这是无序列表第二项。
在无序列表第二项插入一个段落。 - 这是无序列表第三项。
例如:引用块
* 这是无序列表第一项。
* 这是无序列表第二项。
> 在无序列表第二项插入一个引用块。
* 这是无序列表第三项。
渲染效果如下:
-
这是无序列表第一项。
-
这是无序列表第二项。
在无序列表第二项插入一个引用块。
-
这是无序列表第三项。
代码语法
要将单词或短语表示为代码,请将其包裹在反引号(`` `)中。
| Markdown语法 | HTML语法 | 详解 | 快捷键 | 效果 |
|---|---|---|---|---|
| ` | <code>内联代码</code> | 该符号 在ESC下面,在符号中间写代码 | 内联代码 |
转义反引号
如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号(``` `)中。
``Use `code` in your Markdown file.``
渲染效果如下:
Use `code` in your Markdown file.
代码块
要创建代码块,请将代码块的每一行缩进至少四个空格或一个制表符。
<html>
<head>
</head>
</html>
渲染效果如下:
<html>
<head>
</head>
</html>
注: 要创建不用缩进的代码块,请使用 围栏式代码块。
分隔线
要创建分隔线,请在单独一行上使用三个或多个星号(***)、破折号(---)或下划线(___),并且不能包含其他内容。
***
-----
_________________
以上三个分隔线的渲染效果看起来都一样:
链接
链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。
超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")
对应的HTML代码:<a href="超链接地址" title="超链接title">超链接显示名</a>
这是一个链接 [我的学习笔记](https://a.com)。
渲染效果如下:
这是一个链接 我的学习笔记。
给链接增加 Title
链接title是当鼠标悬停在链接上时会出现的文字,这个title是可选的,它放在圆括号中链接地址后面,跟链接地址之间以空格分隔
这是一个链接 [我的学习笔记](https://a.com "最好的学习笔记")。
渲染效果如下:
这是一个链接 我的学习笔记。
网址和Email地址
使用尖括号可以很方便地把URL或者email地址变成可点击的链接。
<https://a.com>
<fake@example.com>
渲染效果如下:
https://a.com
fake@example.com
带格式化的链接
强调链接, 在链接语法前后增加星号(*)。 要将链接表示为代码,请在方括号中添加反引号(``)。
我写的 **[MarkDown笔记](https://a.com)**。
这是我的 *[博客地址](https://a.com)*。
这只是一个 [`code`](#code)。
渲染效果如下:
我写的 MarkDown笔记。
这是我的 博客地址。
这只是一个 code。
引用类型链接
引用样式链接是一种特殊的链接,它使URL在Markdown中更易于显示和阅读。参考样式链接分为两部分:与文本保持内联的部分以及存储在文件中其他位置的部分,以使文本易于阅读。
链接的第一部分格式
引用类型的链接的第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接的文本。第二组括号显示了一个标签,该标签用于指向您存储在文档其他位置的链接。
尽管不是必需的,可以在第一组和第二组括号之间包含一个空格。第二组括号中的标签不区分大小写,可以包含字母,数字,空格或标点符号。
以下示例格式对于链接的第一部分效果相同:
[第一小节][1][第一小节] [1]
链接的第二部分格式
引用类型链接的第二部分使用以下属性设置格式:
- 放在括号中的标签,其后紧跟一个冒号和至少一个空格(例如
[label]:)。 - 链接的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文档中的任何位置。有些人将它们放在出现的段落之后,有些人则将它们放在文档的末尾(例如尾注或脚注)。
# 第一部分
[测试渲染效果][text]
# 第二部分
[text] http://baidu.com "这是百度的链接"
渲染效果如下:
[测试渲染效果][bottom]
图片
要添加图像,请使用感叹号(!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。
插入图片Markdown语法代码:。
对应的HTML代码:<img src="图片链接" alt="图片alt" title="图片title">

渲染效果如下:
链接图片
给图片增加链接,请将图像的Markdown 括在方括号中,然后将链接添加在圆括号中。
[](https://a.com)
渲染效果如下:
转义字符
要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符\。
\* 直接显示星号,不转换成无序列表
渲染效果如下:
* 直接显示星号,不转换成无序列表
可做转义的字符
| 字符 | 名称 | 字符 | 名称 |
|---|---|---|---|
| \ | 反斜杠 | ` | 反引号 |
| * | 星号 | _ | 下划线 |
| {} | 大括号 | [] | 中括号 |
| () | 小括号 | # | 井号 |
| + | 加号 | - | 减号 |
| . | 点 | ! | 叹号 |
| | | 管道符 |
特殊字符自动转义
在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要使用这些符号,你必须要使用实体的形式,像是 < 和 &。
& 符号其实很容易让写作网页文件的人感到困扰,如果你要打「AT&T」 ,你必须要写成「AT&T」 ,还得转换网址内的 & 符号,如果你要链接到:
http://images.google.com/images?num=30&q=larry+bird
你必须要把网址转成:
http://images.google.com/images?num=30&q=larry+bird
才能放到链接标签的 href 属性里。不用说也知道这很容易忘记,这也可能是 HTML 标准检查所检查到的错误中,数量最多的。
Markdown 允许你直接使用这些符号,它帮你自动转义字符。如果你使用 & 符号的作为 HTML 实体的一部分,那么它不会被转换,而在其它情况下,它则会被转换成 &。所以你如果要在文件中插入一个著作权的符号,你可以这样写:
©
Markdown 将不会对这段文字做修改,但是如果你这样写:
AT&T
Markdown 就会将它转为:
AT&T
类似的状况也会发生在 < 符号上,因为 Markdown 支持行内HTNL,如果你使用 < 符号作为 HTML 标签的分隔符,那 Markdown 也不会对它做任何转换,但是如果你是写:
4 < 5
Markdown 将会把它转换为:
4 < 5
需要特别注意的是,在 Markdown 的块级元素和内联元素中, < 和 & 两个符号都会被自动转换成 HTML 实体,这项特性让你可以很容易地用 Markdown 写 HTML。(在 HTML 语法中,你要手动把所有的 < 和 & 都转换为 HTML 实体。)
内嵌HTML标签
对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。
行级內联标签
HTML 的行级內联标签如 <span>、<cite>、<del> 不受限制,可以在 Markdown 的段落、列表或是标题里任意使用。依照个人习惯,甚至可以不用 Markdown 格式,而采用 HTML 标签来格式化。例如:如果比较喜欢 HTML 的 <a> 或 <img> 标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图片语法。当你需要更改元素的属性时(例如为文本指定颜色或更改图像的宽度),使用 HTML 标签更方便些。
HTML 行级內联标签和区块标签不同,在內联标签的范围内, Markdown 的语法是可以解析的。
这个 **词语** 是粗体,这个 <em>词语</em> 是斜体。
渲染效果如下:
这个 词语 是粗体,这个 词语 是斜体。
区块标签
区块元素──比如 <div>、<table>、<pre>、<p> 等标签,必须在前后加上空行,以便于内容区分。而且这些元素的开始与结尾标签,不可以用 tab 或是空白来缩进。Markdown 会自动识别这区块元素,避免在区块标签前后加上没有必要的 <p> 标签。
例如,在 Markdown 文件里加上一段 HTML 表格:
这是一个普通的段落。
<table>
<tr>
<td>*斜体*没有效果</td>
<td>**粗体**没有效果</td>
</tr>
</table>
这是另一个普通的段落。
渲染效果如下:
这是一个普通的段落。
| *斜体*没有效果 | **粗体**没有效果 |
这是另一个普通的段落。
注:Markdown 语法在 HTML 区块标签中将不会被进行处理。例如,你无法在 HTML 区块内使用 Markdown 形式的*强调*
HTML 用法最佳实践
出于安全原因,并非所有 Markdown 应用程序都支持在 Markdown 文档中添加 HTML。如有疑问,请查看相应 Markdown 应用程序的手册。某些应用程序只支持 HTML 标签的子集。
对于 HTML 的块级元素 <div>、<table>、<pre> 和 <p>,请在其前后使用空行(blank lines)与其它内容进行分隔。尽量不要使用制表符(tabs)或空格(spaces)对 HTML 标签做缩进,否则将影响格式。
在 HTML 块级标签内不能使用 Markdown 语法。例如 <p>*斜体* 和 **粗体**</p> 将不起作用。
本文来自博客园,作者:夜、玥,转载请注明原文链接:https://www.cnblogs.com/wnst/articles/15774962.html


浙公网安备 33010602011771号