Markdown 简介
在动手敲第一个 # 之前,我们先认识一下 Markdown 到底是什么、为什么几乎每个程序员和写作者都在用它。理解了背景,学习时会更有方向感。
Markdown 是什么?
Markdown 是一种轻量级标记语言(markup language 的谐音梗)。它的核心思想是:用几个简单的符号(如 # * -)标出文档结构,然后由工具自动转换为 HTML,让写作者专注内容而非排版。
下面是一段典型的 Markdown 源码:
# 我的博客文章
今天学习了 **Markdown**,它比写 HTML 简单多了。
## 今天的重点
- 语法极简
- 跨平台
- 对 Git 友好
> 写作者专注于内容,渲染交给工具。
更多请见 [Markdown 官网](https://daringfireball.net/projects/markdown/)。
渲染成 HTML 后,读者看到的就是一篇带标题、加粗、列表、引用、链接的整洁文章——而你写的源码依然是一段纯文本,能打开就用,不依赖任何软件。
诞生历史:一个人的"反 HTML"实验
Markdown 由 John Gruber(美国知名博主,Daring Fireball 作者)在 2004 年设计,并与 Aaron Swartz(Reddit 早期合伙人、RSS 1.0 规范作者)共同参与早期讨论。Gruber 当时的痛点很明确:
- 写博客时直接写 HTML 太繁琐,标签比内容还多;
- 富文本编辑器(如 Word、TinyMCE)格式混乱、不可版本控制;
- 纯文本邮件里的星号、下划线等约定早就存在,何不把它们正式化?
于是他用 Perl 写了第一个 markdown 脚本:读入 Markdown 源码、输出干净的 HTML。Markdown 的官方规范地址是 daringfireball.net/projects/markdown/,被称为"原始 Markdown"。
为什么必学 Markdown?
你每天打交道的这些产品,背后全是 Markdown:
- GitHub:README、Issue、PR、Wiki、评论,全部用 Markdown;GitHub 在标准基础上扩展出了 GFM(GitHub Flavored Markdown)。
- 笔记软件:Obsidian、Logseq、Notion、Bear、Typora、思源笔记、飞书文档——都是 Markdown 内核或支持导入导出。
- 技术博客:Hexo、Hugo、Jekyll、VuePress、Astro 的内容文件全是 Markdown。
- 聊天协作:Slack、Discord、Reddit、Stack Overflow、Gitee 的消息框都支持 Markdown。
- 技术文档:API 文档、开源项目 CONTRIBUTING、内部 Wiki 的标配。
一句话:需要写结构化文本的地方,基本都能用 Markdown。
源码 vs 渲染结果
理解 Markdown 最关键的一点是区分源码(你写的)和渲染结果(读者看到的)。下表对应关系一目了然:
源码(你写的) 渲染结果(读者看到的)
# 标题 → <h1>标题</h1>
**粗体** → <strong>粗体</strong>
*斜体* → <em>斜体</em>
`code` → <code>code</code>
- 列表项 → <ul><li>列表项</li></ul>
[链接](https://example.com) → <a href="...">链接</a>
可以看出,Markdown 源码本身就是可读的纯文本——即使不渲染,读起来也不费力;而 HTML 离开浏览器就几乎不可读。这是 Markdown 设计哲学的核心:源码本身就应该清晰可读。
Markdown 的优点
- 极简:常用语法不到 20 个符号,半小时学会。
- 纯文本:任意编辑器能打开、永不打不开、不会被某软件绑架。
- 跨平台:Mac、Windows、Linux、手机端通用。
- 版本控制友好:Git diff 是按行对比的纯文本,比 Word 的二进制文件清晰一万倍。
- 可移植:一个
.md文件可以同时输出网页、PDF、EPUB、Slides。 - 渲染一致:换一个工具,文档结构不会乱。
也有局限
- 复杂排版弱:合并单元格、复杂表格、绝对定位都做不了(需要内嵌 HTML)。
- 规范分裂:CommonMark、GFM、MultiMarkdown、Pandoc 等多个变体,少数语法不互通。
- 不能直接调整字体颜色:需要 HTML 或 CSS 介入。
- 对齐方式有限:表格只支持左、居中、右三种对齐。
但对绝大多数写作场景,这些局限完全可以接受。
编辑器推荐
下面三类编辑器,按需挑选:
- 纯 Markdown 编辑器:Typora(所见即所得)、Mark Text(开源免费)、Zettlr。
- 双栏预览型:VS Code + Markdown All-in-One 插件、Sublime Text、Obsidian(笔记导向)。
- 笔记/知识库:Obsidian、Logseq、Notion、飞书文档。
新手强烈推荐 VS Code + 预览:写代码的同时写文档,按 Ctrl+Shift+V 就能打开预览。
Markdown vs HTML vs Word
- 对比 HTML:Markdown 简单得多,但表达能力有限;通常 Markdown 转 HTML 后再使用。
- 对比 Word:Word 所见即所得、能做复杂排版;但二进制格式不利于版本控制、跨工具迁移困难。
- 对比 rst / AsciiDoc:后者更强大(Python 官方文档用 rst),但学习曲线陡,生态远不及 Markdown。
该不该学 Markdown?
如果你的工作涉及写代码、写技术文档、做笔记、运营技术博客、参与开源,Markdown 几乎是必修课——而且可能是你学过回报最高的技能,半小时投入,一辈子受用。
← 返回 Markdown 教程目录
下一篇 标题、段落与换行 →