01 什么是 Markdown¶
一句话定义¶
Markdown 是一种用纯文本写排版的标记语言。 你在普通文本里插入几个符号(如 #、*、-),渲染器就读懂这些符号,把它变成标题、列表、加粗等格式。
举个例子¶
左边是你写的纯文本,右边是渲染结果:
## 今日任务
- [x] 修好考试系统
- [ ] 更新文档
**注意**:改题要三处同步
渲染出来是:
今日任务¶
- 修好考试系统
- 更新文档
注意:改题要三处同步
你写的和看到的都是「文本 + 符号」,没有任何隐藏的格式数据。这就是它跟 Word 最大的区别。
为什么它长这样¶
| 符号 | 来源的直觉 |
|---|---|
# 标题 |
邮件、IRC 里用 # 表示「主题/频道」 |
*斜体* |
传统打字机用星号强调 |
> 引用 |
邮件回复引用的老习惯 |
- 列表 |
手写笔记里的破折号 |
所以它不像编程语言那么反直觉,看几眼就能记住。
它是怎么被「渲染」的¶
Markdown 源文件 (.md)
│
├─→ Markdown 解析器(CommonMark / GFM / Python-Markdown…)
│
└─→ HTML
│
├─→ 浏览器(GitHub、语雀、MkDocs 生成的静态站)
├─→ PDF(pandoc / Typora 导出)
└─→ App 里的富文本(Obsidian、飞书)
关键点:同一个 md 文件,用不同解析器渲染出的细节可能略有差别(比如表格对齐、脚注写法),但核心语法一致。
三种常见「方言」¶
| 名称 | 出处 | 特点 |
|---|---|---|
| CommonMark | 社区标准化(2014 起) | 最严格的「标准版」,解决早期各家实现不一致问题 |
| GFM(GitHub Flavored Markdown) | GitHub | CommonMark + 表格 + 任务列表 + 删除线 + 自动链接 |
| Markdown Extra / Python-Markdown | PHP / Python 生态 | 额外支持属性表、脚注、定义列表等 |
💡 实际建议:按 GFM 写最保险——GitHub、Gitee、语雀、飞书、MkDocs(配上对应扩展)基本都能正确渲染。
Markdown 用在哪些地方¶
- 代码托管:GitHub / Gitee / GitLab 的
README.md、Issue、PR 描述、Wiki - 笔记软件:Obsidian、Typora、Joplin、思源笔记、Logseq
- 在线文档:语雀、飞书文档、Notion、Confluence
- 博客:Hexo、Hugo、Jekyll、WordPress(部分)、各类静态博客
- 文档站:MkDocs、Docusaurus、VitePress、GitBook(本站就用 MkDocs)
- AI 对话:ChatGPT / DeepSeek / Claude 的回答默认就是 Markdown 格式
- 聊天软件:Discord、Slack、Telegram 支持一小部分 Markdown 语法
历史小知识¶
- 2004 年,John Gruber 和 Aaron Swartz 设计了 Markdown,目标是「让写 HTML 变得像写邮件一样简单」。
- 早期各家实现五花八门,同一份文档在不同网站长得不一样。
- 2014 年,CommonMark 规范出现,把它标准化。
- 今天你看到的所有平台用的基本都是「CommonMark + 一点扩展」。
本章练习¶
- 新建一个
test.md文件,随便写两三行文字。 - 在文字前面加
#(一个、两个、三个),看看标题层级变化。 - 用
**文字**把某个词加粗,观察渲染结果。
写完就能进下一章:挑一个好用的编辑器。