跳转至

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 + 一点扩展」。

本章练习

  1. 新建一个 test.md 文件,随便写两三行文字。
  2. 在文字前面加 #(一个、两个、三个),看看标题层级变化。
  3. 用 **文字** 把某个词加粗,观察渲染结果。

写完就能进下一章:挑一个好用的编辑器。