Markdown语法速查
基本语法
元素 | 快捷键 | Markdown语法 | 说明 | 效果 |
---|---|---|---|---|
目录 | [TOC] | 自动生成目录,列出所有标题 | ||
标题 | Ctrl+1 Ctrl+2 Ctrl+3 Ctrl+4 Ctrl+5 Ctrl+6 | # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 | 设置标题 | |
段落 | <p></p> | 使用空白行分割文本 或 使用 <p> 标签 | ||
换行 | Shift+Enter | <br/> | 某些情况下需要用<br/> 换行,比如在表格中 | |
粗体 | Ctrl+B | **粗体** 或__粗体__ | 双星号或双下划线 | 粗体 |
斜体 | Ctrl+I | *粗体* 或_粗体_ | 单星号或单下划线 | 斜体 |
加粗倾斜 | Ctrl+B+ Ctrl+I 顺序可颠倒 | ***粗体*** 或___粗体___ | 三星号或三下划线 | 加粗倾斜 |
引用块 | > 引用 | 在要引用的段落前加> ,要引用多个段落。需要为每个 段落前加 > 符号,段落之间的空白行也要加 | ||
引用嵌套 | >> 引用 | 块引用可以包含其他 Markdown 格式的元素。 并非所有元素都可以使用 | ||
有序列表 | 1. 项目1 2. 项目2 3. 项目3 4. …… | 要创建有序列表,请在每个列表项前 添加数字并紧跟一个英文句点和空格。 数字不必按数学顺序排列, 但是列表应当以数字 1 起始。 | ||
无序列表 | - 项目1 - 项目2 - 项目3 - …… | 要创建无序列表,请在每个列表项 前面添加破折号 (-)、星号 (*) 或加号 (+) 。 缩进一个或多个列表项可 创建嵌套列表。 不要在同一个列表里使用不同的符号 | ||
代码块 | `Code` | 要将单词或短语表示为代码, 请将其包裹在反引号 (`) 中。 | let arr = [1,2] | |
分割线 | *** — ___ | 在单独一行上使用三个或多个星号 (*** )、破折号 (--- ) 或下划线 ( ___ ) 不能包含其他内容 | ||
链接 | [alt](url "title") | 链接文本放在中括号内, 链接地址放在后面的括号中 链接title是当鼠标悬停在链接上时 会出现的文字,它放在 圆括号中链接地址后面,跟链接地址之间以空格分隔。 | 链接 | |
文件 | [alt](./url "title") [alt](File:///url "title") | 相对路径 绝对路径,File:// 的首字母必须大写 | 示例:[1.txt](./1.txt "我是1.txt") [1.txt](File:///D:/1.txt "我是1.txt") | |
网址和Email地址 | <https://markdown.com.cn> <fake@example.com> | 使用尖括号可以很方便地 把URL或者email地址变成可点击的链接 | 1450820572@qq.com | |
带格式的链接 | 用于 强调 链接, 在链接语法前后增加星号。 要将链接表示为代码,请在方括号中添加反引号。 | 链接 | ||
图片 | 插入图片 |
扩展语法
这些元素通过添加额外的功能扩展了基本语法。但是,并非所有 Markdown 应用程序都支持这些元素。
元素 | Markdown语法 | 说明 |
---|---|---|
表格(table) | | Syntax | Description | | ------ | ----------- | | Header | Title | | Paragraph | Text | | 使用:---------: 居中使用 :---------- 居左使用 ----------: 居右示例: |
代码块 | ```可选的CodeType Code ``` 示例: ```javescript const fn = () => {} ``` | |
脚注 | here’s a sentence with a footnote.[^1] [^1] :This is the footnote | |
标题编号 | ### My Great Heading {#custom-id} | |
定义列表 | term : definition | |
~~The world is flat.~~ | ||
任务列表 | - [x] 选中状态 - [ ] 非选中状态 | |
键盘按键 | <kbd>Ctrl</kbd> | Ctrl |
标记文本 (高亮) | ==标记文本== | 标记文本 |
上标 | 2^10^ | 210 |
下标 | H~2~O | H2O |
转义字符
以下字符在作为普通字符(串)使用时,需要使用反斜杠字符转义
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) |
特殊字符自动转义
在 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 支持 行内 HTML ,如果你使用 <
符号作为 HTML 标签的分隔符,那 Markdown 也不会对它做任何转换,但是如果你是写:
4 < 5
Markdown 将会把它转换为:
4 < 5
需要特别注意的是,在 Markdown 的块级元素和内联元素中, <
和 &
两个符号都会被自动转换成 HTML 实体,这项特性让你可以很容易地用 Markdown 写 HTML。(在 HTML 语法中,你要手动把所有的 <
和 &
都转换为 HTML 实体。)
内嵌 HTML 标签
对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。
注意:
- 出于安全原因,并非所有 Markdown 应用程序都支持在 Markdown 文档中添加 HTML。如有疑问,请查看相应 Markdown 应用程序的手册。某些应用程序只支持 HTML 标签的子集。
- 对于 HTML 的块级元素
<div>
、<table>
、<pre>
和<p>
,请在其前后使用空行(blank lines)与其它内容进行分隔。尽量不要使用制表符(tabs)或空格(spaces)对 HTML 标签做缩进,否则将影响格式。- 在 HTML 块级标签内不能使用 Markdown 语法。例如
<p>italic and **bold**</p>
将不起作用。
行级內联标签
在內联标签的范围内, 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.
区块标签
在区块标签的范围内, Markdown 的语法不会被进行处理
区块元素──比如 <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 形式的*强调*
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
使用 Emoji 表情
有两种方法可以将表情符号添加到Markdown文件中:
-
将表情符号复制并粘贴到Markdown格式的文本中
-
键入emoji shortcodes(表情符号简码),一些Markdown应用程序允许您通过键入表情符号短代码来插入表情符号。这些以冒号开头和结尾,并包含表情符号的名称。
示例:
去露营了! :tent: 很快回来。 真好笑! :joy:
呈现的输出如下所示:
去露营了!⛺很快回来。
真好笑!😂
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
甘特图
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
流程图: