🎯 什么是 Markdown?
Markdown 是一种轻量级标记语言,由 John Gruber 于 2004 年创建。它让你用纯文本格式编写文档,然后转换成结构化的 HTML。
✨ 为什么学习 Markdown?
- 简单易学:语法直观,5分钟上手
- 专注内容:不被格式干扰,提高写作效率
- 通用性强:GitHub、Reddit、Discord、Notion 等都支持
- 版本友好:纯文本,Git 友好,便于版本控制
- 可移植性:可以转换成 HTML、PDF、Word 等格式
Markdown 的应用场景
- 📝 技术文档:API 文档、README 文件
- 📚 笔记系统:Obsidian、Logseq 等双链笔记
- 💻 代码托管:GitHub、GitLab 的项目文档
- 📰 博客写作:静态博客生成器(Hugo、Hexo)
- 💬 即时通讯:Discord、Slack、Telegram 消息格式化
📖 Markdown 语法速查表
| 功能 | 语法 | 效果 |
|---|---|---|
| 粗体 | **粗体** |
粗体 |
| 斜体 | *斜体* |
斜体 |
| 删除线 | ~~删除线~~ |
|
| 标题 | # 标题 |
h1-h6 |
| 链接 | [文本](URL) |
链接 |
| 图片 |  |
图片 |
| 代码 | `代码` |
代码 |
1️⃣ 标题(Headings)
使用 # 号表示标题,数量表示级别(1-6级)。
语法示例 - 标题
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
💡 小技巧:
- 一级标题通常用于文章标题
- 二级标题用于章节
- 三级标题用于小节
- 建议保持层级清晰,不要跳级
替代写法
语法示例 - 下划线标题
一级标题
======
二级标题
-------
一级标题
二级标题
2️⃣ 文本格式
粗体、斜体、删除线
语法示例 - 文本格式
**这是粗体文本**
__这也是粗体__
*这是斜体文本*
_这也是斜体_
***这是粗斜体文本___
~~这是删除线~~
这是粗体文本
这也是粗体
这是斜体文本
这也是斜体
这是粗斜体文本
这是删除线
混合使用
语法示例 - 混合格式
**粗体**和*斜体*可以混合使用
~~删除~~的文本也可以**加粗**
粗体和斜体可以混合使用
删除的文本也可以加粗
3️⃣ 列表(Lists)
无序列表
语法示例 - 无序列表
- 项目 1
- 项目 2
- 子项目 2.1
- 子项目 2.2
- 项目 3
- 项目 1
- 项目 2
- 子项目 2.1
- 子项目 2.2
- 项目 3
有序列表
语法示例 - 有序列表
1. 第一项
2. 第二项
3. 第三项
- 第一项
- 第二项
- 第三项
任务列表(GitHub 风格)
语法示例 - 任务列表
- [x] 已完成的任务
- [ ] 未完成的任务
- [ ] 待办事项
- 已完成的任务
- 未完成的任务
- 待办事项
💡 小技巧:
- 列表项之间可以空行,方便阅读
- 子列表缩进 2 个空格或 1 个 Tab
- 有序列表的数字可以乱序,渲染时会自动修正
4️⃣ 链接(Links)
行内链接
带标题的链接
语法示例 - 带标题链接
[链接](https://example.com "鼠标悬停显示标题")
引用链接
语法示例 - 引用链接
[链接][ref]
[ref]: https://example.com "标题"
自动链接
语法示例 - 自动链接
5️⃣ 图片(Images)
基本语法
语法示例 - 图片


带标题的图片
语法示例 - 带标题图片

设置图片大小
⚠️ 注意:标准 Markdown 不支持设置图片大小,但可以使用 HTML:
<img src="图片URL" width="300">
6️⃣ 代码(Code)
行内代码
语法示例 - 行内代码
使用 `print()` 函数输出内容。
使用 print() 函数输出内容。
代码块(缩进)
语法示例 - 缩进代码块
这是代码块
缩进 4 个空格
或 1 个 Tab
这是代码块
缩进 4 个空格
或 1 个 Tab
围栏代码块(推荐)
语法示例 - 围栏代码块
```python
def hello():
print("Hello, World!")
```
def hello():
print("Hello, World!")
💡 小技巧:
- 在三个反引号后添加语言名称(如 python、javascript)可以启用语法高亮
- 支持的常见语言:python、javascript、java、c、cpp、bash、json、xml、sql、markdown
语法高亮示例
代码示例 - 多种语言
```javascript
// JavaScript
function greet(name) {
console.log(`Hello, ${name}!`);
}
```
```python
# Python
def greet(name):
print(f"Hello, {name}!")
```
```bash
# Bash
echo "Hello, World!"
```
// JavaScript
function greet(name) {
console.log(`Hello, ${name}!`);
}
# Python
def greet(name):
print(f"Hello, {name}!")
# Bash
echo "Hello, World!"
7️⃣ 引用(Blockquotes)
语法示例 - 引用
> 这是一段引用
>
> 可以包含多行
>
> > 可以嵌套引用
这是一段引用
可以包含多行
可以嵌套引用
引用中包含其他元素
语法示例 - 复杂引用
> ## 标题
>
> - 列表项
> - 另一项
>
> `代码`和**格式**都可以
标题
- 列表项
- 另一项
代码和格式都可以
8️⃣ 表格(Tables)
基本表格
语法示例 - 基本表格
| 表头1 | 表头2 | 表头3 |
|-------|-------|-------|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |
| 表头1 | 表头2 | 表头3 |
|---|---|---|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |
对齐方式
语法示例 - 对齐方式
| 左对齐 | 居中 | 右对齐 |
|:-------|:----:|-------:|
| 内容 | 内容 | 内容 |
| 左对齐 | 居中 | 右对齐 |
|---|---|---|
| 内容 | 内容 | 内容 |
💡 小技巧:
- 冒号位置决定对齐方式:左侧(:---)左对齐,两侧(:---:)居中,右侧(---:)右对齐
- 表格可以包含链接、代码、粗体等格式
- 不是所有 Markdown 解析器都支持表格
9️⃣ 分割线(Horizontal Rule)
语法示例 - 分割线
---
***
___
___
💡 小技巧:三个或更多的星号、减号、下划线都可以,单独一行。
🔟 高级功能
转义字符
语法示例 - 转义字符
\*不是斜体\*
\[不是链接\]