Markdown 速查表:完整参考指南
· 12分钟阅读
Markdown 已成为网络上文本格式化的通用语言。无论你是在 GitHub 上编写文档、在 Reddit 上发帖、在 Discord 上聊天、在 Notion 中整理笔记,还是为无数其他平台创建内容,Markdown 无处不在。学习这种简单而强大的语法将使你在使用的每个数字工作空间中更加高效。
本综合指南涵盖了从基本格式到高级技巧的所有内容,包含实用示例和真实用例。将此页面加入书签,作为你所有 Markdown 相关内容的首选参考。
📑 目录
什么是 Markdown 以及为什么使用它?
Markdown 是 John Gruber 于 2004 年创建的一种轻量级标记语言。它的理念很简单:纯文本应该原样可读,但也可以转换为 HTML 和其他格式。与隐藏按钮和菜单后面格式的富文本编辑器不同,Markdown 保持一切可见和可移植。
Markdown 的美妙之处在于其简单性。你可以在任何文本编辑器中编写它,使用 Git 进行版本控制,并将其转换为 HTML、PDF 或数十种其他格式。它已成为技术文档、README 文件、博客文章和协作写作的事实标准。
Markdown 的使用场景:
- GitHub、GitLab 和 Bitbucket 用于 README 文件和文档
- Reddit、Discord 和 Slack 用于格式化消息
- Notion、Obsidian 和 Roam Research 用于笔记
- 静态站点生成器如 Jekyll、Hugo 和 Gatsby
- 内容管理系统和博客平台
- 技术写作工具和文档平台
专业提示:使用我们的免费 Markdown 编辑器 实时练习语法并实时预览。这是边做边学的最快方式。
基本文本格式
Markdown 的基本格式语法直观且易于记忆。大多数格式使用围绕要设置样式的文本的特殊字符。
粗体文本
通过用双星号或双下划线包裹单词来创建粗体文本:
**此文本为粗体**
__这也是粗体__
两者都产生:此文本为粗体
斜体文本
使用单星号或单下划线表示斜体文本:
*此文本为斜体*
_这也是斜体_
两者都产生:此文本为斜体
粗体和斜体组合
通过使用三个星号或混合星号和下划线来组合两者:
***粗体和斜体文本***
**_也是粗体和斜体_**
结果:粗体和斜体文本
删除线
大多数 Markdown 变体支持使用双波浪号的删除线:
~~此文本被划掉~~
结果:此文本被划掉
行内代码
将文本包裹在单反引号中以将其格式化为行内代码:
使用 `console.log()` 函数进行调试。
结果:使用 console.log() 函数进行调试。
| 语法 | 输出 | 用例 |
|---|---|---|
**text** |
text | 强调、重要术语 |
*text* |
text | 微妙强调、书名 |
~~text~~ |
删除的内容、更正 | |
`text` |
text |
代码、命令、文件名 |
标题和文档结构
标题创建文档层次结构并提高可读性。Markdown 支持六级标题,对应 HTML 的 <h1> 到 <h6> 标签。
# 标题 1(最大)
## 标题 2
### 标题 3
#### 标题 4
##### 标题 5
###### 标题 6(最小)
井号的数量决定标题级别。始终在井号和标题文本之间包含一个空格。
最佳实践:按层次使用标题级别。不要从 H1 跳到 H4。这可以改善屏幕阅读器的可访问性,并帮助搜索引擎理解你的内容结构。
替代标题语法
对于 H1 和 H2,你也可以使用下划线样式语法:
标题 1
=========
标题 2
---------
但是,井号语法更常见并支持所有六个级别。
标题最佳实践
- 每个文档只使用一个 H1(通常是标题)
- 保持标题简洁和描述性
- 一致使用句子大小写或标题大小写
- 不要以标点符号结束标题
- 在标题前后添加空行以提高可读性
列表:有序、无序和嵌套
列表是组织信息的基础。Markdown 支持无序(项目符号)列表、有序(编号)列表以及两者的嵌套组合。
无序列表
使用星号、连字符或加号创建项目符号列表。三者产生相同的输出:
* 第一项
* 第二项
* 第三项
- 第一项
- 第二项
- 第三项
+ 第一项
+ 第二项
+ 第三项
选择一种样式并在整个文档中保持一致。
有序列表
用句点为列表项编号。实际数字无关紧要——Markdown 会自动重新编号:
1. 第一项
2. 第二项
3. 第三项
1. 第一项
1. 第二项
1. 第三项
两者产生相同的编号列表。使用全部 1 可以更容易地重新排序项目而无需重新编号。
嵌套列表
用 2 或 4 个空格缩进嵌套项(保持一致):
1. 第一项
- 嵌套项目符号
- 另一个嵌套项目符号
2. 第二项
1. 嵌套编号
2. 另一个嵌套编号
任务列表
许多 Markdown 变体支持带复选框的任务列表:
- [x] 已完成任务
- [ ] 未完成任务
- [ ] 另一个未完成任务
这在 GitHub 问题和项目管理工具中特别有用。
快速提示:编写多段落列表项时,缩进后续段落以与文本的第一行对齐,而不是与项目符号对齐。
链接和图片
Markdown 使添加超链接和图片变得容易,而不会用 HTML 标签弄乱你的文本。
基本链接
链接的语法很简单:方括号表示链接文本,后跟括号表示 URL:
[访问我们的 Markdown 编辑器](/tools/markdown-editor/)
带标题的链接
通过在 URL 后用引号包含标题属性(悬停时显示)来添加标题属性:
[GitHub](https://github.com "访问 GitHub")
引用样式链接
对于有许多重复链接的文档,使用引用样式语法保持文本整洁:
查看 [Google][1] 和 [GitHub][2] 了解更多信息。
[1]: https://google.com "Google"
[2]: https://github.com "GitHub"
引用定义可以出现在文档的任何位置,并且在输出中不可见。
自动链接
将 URL 或电子邮件地址包裹在尖括号中使其可点击:
<https://example.com>
<email@example.com>
许多 Markdown 处理器也会自动链接不带尖括号的裸 URL。
图片
图片语法与链接相同,但带有感叹号前缀:


替代文本对于可访问性和 SEO 至关重要。始终提供描述性的替代文本来解释图片显示的内容。
图片最佳实践
- 为可访问性编写描述性替代文本
- 对同一存储库中的图片使用相对路径
- 优化图片文件大小以加快加载速度
- 考虑对重复图片使用引用样式语法
- 测试图片在目标平台上是否正确显示
代码块和语法高亮
代码块对于技术文档至关重要。Markdown 提供多种格式化代码的方式,从行内片段到带语法高亮的多行块。
行内代码
如前所述,将行内代码包裹在单反引号中:
使用 `git commit` 命令保存更改。
围栏代码块
对于多行代码,在代码前后使用三个反引号(或三个波浪号):
```
function greet(name) {
return `Hello, ${name}!`;
}
```
语法高亮
在开头反引号后指定编程语言以进行语法高亮:
```javascript
function greet(name) {
return `Hello, ${name}!`;
}
```
```python
def greet(name):
return f"Hello, {name}!"
```
```css
.button {
background-color: #06b6d4;
border-radius: 8px;
}
```
大多数 Markdown 处理器支持数十种语言,包括 JavaScript、Python、Java、C++、Ruby、Go、Rust、SQL、HTML、CSS 等等。
缩进代码块
较旧的语法使用 4 个空格缩进来创建代码块:
function example() {
return true;
}
但是,围栏代码块更受欢迎,因为它们支持语法高亮并且在纯文本中更易于阅读。
专业提示:使用我们的 HTML 美化器 在将代码粘贴到 Markdown 文档之前格式化代码。干净、格式良好的代码更易于阅读和维护。
创建表格
表格将数据组织成行和列。虽然 Markdown 表格不如 HTML 表格灵活,但它们非常适合简单的数据呈现。
基本表格语法
使用竖线和连字符创建表格:
| 标题 1 | 标题 2 | 标题 3 |
|----------|----------|----------|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
竖线不需要完美对齐——Markdown 处理器会正确格式化它们。但是,对齐的竖线使表格在纯文本中更易于阅读。
列对齐
使用分隔行中的冒号控制文本对齐:
| 左对齐 | 居中对齐 | 右对齐 |
|:-------------|:--------------:|--------------:|
| 文本 | 文本 | 文本 |
| 更多文本 | 更多文本 | 更多文本 |
:---左对齐(默认):---:居中文本---:右对齐
实用表格示例
| Markdown 变体 | 表格 | 任务列表 | 脚注 |
|---|---|---|---|
| CommonMark | ❌ 否 | ❌ 否 |