Markdown 语法指南
1. 标题 (Headings)
使用 # 号可以创建标题,.支持六级标题。# 的数量表示标题的级别。
# 这是一级标题 (H1)
## 这是二级标题 (H2)
### 这是三级标题 (H3)
#### 这是四级标题 (H4)
##### 这是五级标题 (H5)
###### 这是六级标题 (H6)
或者使用 Setext 形式(仅支持一二级标题):
# 一级标题
## 二级标题
2. 段落和换行 (Paragraphs and Line Breaks)
段落由一个或多个连续的文本行组成,段落之间用一个或多个空行分隔。
这是一个段落。
这是另一个段落。
如果需要在段落内强制换行(创建一个 <br> 标签),可以在行末添加两个或多个空格,然后按回车。
这是第一行。
这是强制换行的第二行。
3. 强调 (Emphasis)
Markdown 使用星号 * 和下划线 _ 来表示强调。
- 斜体 (Italic): 使用一个
*或_包裹文本。 - 粗体 (Bold): 使用两个
*或_包裹文本。 - 粗斜体 (Bold and Italic): 使用三个
*或_包裹文本。 - 删除线 (Strikethrough): 使用两个波浪线
~~包裹文本。
_这是斜体_ 或 _这也是斜体_
**这是粗体** 或 **这也是粗体**
**_这是粗斜体_** 或 **_这也是粗斜体_**
~~这是删除线~~
4. 列表 (Lists)
Markdown 支持有序列表和无序列表。
4.1 无序列表 (Unordered Lists)
使用星号 *、加号 + 或减号 - 作为列表标记:
- 列表项一
- 列表项二
- 嵌套列表项 2.1
- 嵌套列表项 2.2
- 列表项三
* 列表项一
* 列表项二
- 列表项一
- 列表项二
4.2 有序列表 (Ordered Lists)
使用数字加英文句点 . 作为列表标记:
1. 列表项一
2. 列表项二
1. 嵌套列表项 2.1
2. 嵌套列表项 2.2
3. 列表项三
注意: 列表标记的数字不必按顺序排列,Markdown 会自动生成正确的序号。
4.3 任务列表 (Task Lists)
任务列表允许创建带有复选框的列表。
- [x] 已完成的任务
- [ ] 未完成的任务
- [ ] 另一个未完成的任务
- [ ] 子任务
5. 链接 (Links)
Markdown 支持两种链接方式:行内式和参考式。
5.1 行内式链接 (Inline Links)
链接文本放在方括号 [] 中,URL 放在紧随其后的圆括号 () 中。可以在 URL 后面用引号添加可选的 title 属性。
这是一个 [行内链接](https://www.example.com "示例网站")。
这是一个没有 title 的 [链接](https://www.example.com)。
也可以使用相对路径:[关于页面](/about/)
5.2 参考式链接 (Reference Links)
参考式链接允许您将 URL 定义在文档的其他地方,使文本更易读。
链接文本放在方括号 [] 中,后面跟着另一个方括号,里面是链接的标识符(可以是数字、字母或字符串)。
这是一个 [参考式链接][id]。
你也可以省略标识符,Markdown 会使用链接文本本身作为标识符:[Google][]
然后在文档的其他地方(通常是末尾)定义链接标识符:
[id]: https://www.example.com "可选的 Title"
[google]: https://www.google.com "Google 搜索引擎"
6. 图片 (Images)
插入图片的语法与链接非常相似,只是在前面加一个感叹号 !。同样支持行内式和参考式。
6.1 行内式图片 (Inline Images)

6.2 参考式图片 (Reference Images)
![替代文本][logo]
然后在文档的其他地方定义:
[logo]: https://www.example.com/logo.png "网站 Logo"
7. 代码 (Code)
7.1 行内代码 (Inline Code)
使用反引号 ` 包裹代码片段。
这是一个 `inline code` 示例。
7.2 代码块 (Code Blocks)
有两种方式创建代码块:
a) 缩进: 使用四个空格或一个制表符缩进代码的每一行。
这是一个代码块。
可以有多行。
b) Fenced Code Blocks: 使用三个反引号 `````或三个波浪线~~~ 包裹代码块。可以在开始的反引号后指定代码语言,以实现语法高亮。
```javascript
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet("World");
```
```python
def hello(name):
print(f"Hello, {name}!")
hello("Markdown")
```
```
这是一个没有指定语言的代码块。
```
8. 表格 (Tables)
使用竖线 | 分隔单元格,使用连字符 - 创建表头分隔线。可以使用冒号 : 控制列的对齐方式。
| 左对齐标题 | 居中对齐标题 | 右对齐标题 |
| :--------- | :----------: | -----------: |
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
| 短文本 | 中等文本 | 非常长的文本 |
渲染效果:
| 左对齐标题 | 居中对齐标题 | 右对齐标题 |
|---|---|---|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
| 短文本 | 中等文本 | 非常长的文本 |
9. 块引用 (Blockquotes)
使用大于号 > 标记块引用。可以嵌套使用。
> 这是一个块引用。
>
> 它可以包含多个段落。
> 嵌套引用:
>
> > 第二层引用。
> >
> > > 第三层引用。
块引用内可以包含其他 Markdown 元素,如标题、列表、代码块等。
> ## 这是一个在引用中的标题
>
> 1. 列表项一
> 2. 列表项二
>
> ```python
> print("Hello from blockquote!")
> ```
10. 水平分割线 (Horizontal Rules)
在一行中使用三个或更多的星号 *、减号 - 或下划线 _ 来创建水平分割线。字符之间可以有空格。
---
---
---
---
11. 转义字符 (Escaping Characters)
如果你想显示 Markdown 语法中具有特殊含义的字符(例如 *, #, [ 等),可以在字符前添加反斜杠 \ 进行转义。
我想显示一个星号 \* 而不是斜体。
我想显示井号 \# 而不是标题。
我想显示反引号 \` 而不是行内代码。
可转义的字符包括:
\ 反斜杠
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 圆括号
# 井号
+ 加号
- 减号 (连字符)
. 英文句点
! 感叹号
12. 内联 HTML (Inline HTML)
Markdown 允许直接在文本中插入 HTML 标签。大多数 HTML 标签都可以直接使用。
这是一个 <span style="color:red;">红色</span> 的文本。
<table>
<tr>
<td>这是一个 HTML 表格</td>
</tr>
</table>
注意: 在 HTML 块级元素(如 <div>, <table>, <p> 等)内部,Markdown 语法通常不会被解析。
13. 脚注 (Footnotes)
一些 Markdown 方言(如 GFM - GitHub Flavored Markdown)支持脚注。
使用 [^标识符] 在文本中创建脚注引用,然后在文档的其他地方定义脚注内容 [^标识符]: 脚注内容。
这是一个需要脚注的句子。[^1]
这是另一个需要脚注的地方。[^note]
[^1]: 这是第一个脚注的详细内容。
[^note]: 这是另一个脚注的解释。
14. 定义列表 (Definition Lists)
一些 Markdown 方言支持定义列表。
术语 1
: 定义 1
术语 2
: 定义 2a
: 定义 2b
注意: 脚注和定义列表并非所有 Markdown 解析器都支持,请根据您使用的平台或工具确认其可用性。
希望这份指南能帮助您更好地使用 Markdown!