Markdown: Markdown 简介与核心优势

Markdown 是一种轻量级标记语言,让你用纯文本格式写出结构清晰的文档——就像给文字画上"格式记号",交给电脑去美化排版。

1. 你将学到


2. 一个开发者的真实故事

(1) 痛点:写文档比写代码还痛苦

Alex 是一名刚入职的开发者,接到任务给项目写 README 文件。他打开 Word,调整了半小时字体大小、行距和编号格式,结果保存时发现样式全乱了。更糟的是,同事用的文本编辑器根本打不开 .docx 文件。Alex 花了一下午排版,实际写内容只用了 20 分钟。

(2) 解法:用 Markdown 一次搞定

团队里的资深开发者 Mike 看到后,教 Alex 用 Markdown 重写 README。只需要在纯文本里加几个 #* 符号,就能自动生成漂亮的标题、列表和代码块。整个文件只有 3KB,任何编辑器都能打开,提交到 GitHub 自动渲染成美观的页面。从此 Alex 写文档的时间缩短了 70%。


3. Markdown 是什么

Markdown 是一种轻量级标记语言,由 John Gruber 于 2004 年创建。它的核心理念是"易读易写"——用简单的符号(如 #*-)表示格式,即使不渲染成 HTML,纯文本本身也清晰可读。

100%
graph LR
    A[纯文本 .md 文件] --> B[Markdown 解析器]
    B --> C[HTML 输出]
    C --> D[浏览器渲染]
    D --> E[用户看到排版好的页面]
方面 Markdown Word 文档 HTML
学习成本 5 分钟 30 分钟基础 2 小时基础
文件大小 1-5 KB/课 50-500 KB 10-50 KB
版本控制 ✅ 完美(纯文本) ❌ 二进制对比困难 ✅ 可以
跨平台 ✅ 任何编辑器 ❌ 需 Office ✅ 浏览器即可
专注内容 ✅ 只管写 ❌ 频繁调格式 ⚠️ 需写标签

(1) 轻量级标记语言的概念

标记语言是用特定符号描述文档结构的语言。HTML 功能强大但语法繁琐——写一个标题要 <h1> 开头 </h1> 结尾。而 Markdown 只需要一个 # 符号就能表示一级标题:

MARKDOWN
# 这是一级标题
## 这是二级标题
💡 提示: Markdown 的"轻量"体现在——你不需要记忆复杂的标签名,用肉眼就能理解的符号来表达格式。

(2) Markdown 与 HTML 的关系

Markdown 不是 HTML 的替代品,而是简化版。Markdown 最终会被解析器转换为 HTML。事实上,你可以在 Markdown 中直接嵌入 HTML 标签:

MARKDOWN
## Markdown 到 HTML 的转换

Markdown 源码:`# 你好`
转换后的 HTML:`<h1>你好</h1>`

你可以在 Markdown 里直接使用 HTML:
<span style="color: red;">这里用 HTML 标签</span>
⚠️ 注意: 大多数 Markdown 解析器都支持内嵌 HTML,但建议只在 Markdown 语法不够用时(如需要复杂表格或自定义样式)才使用 HTML。

▶ 示例:一段 Markdown 如何变成 HTML

MARKDOWN
# 欢迎使用 Markdown

Markdown 让写作变得**简单**。

* 无需关注排版
* 专注内容创作

输出:

TEXT 📖 仅展示
<h1>欢迎使用 Markdown</h1>
<p>Markdown 让写作变得<strong>简单</strong>。</p>
<ul>
  <li>无需关注排版</li>
  <li>专注内容创作</li>
</ul>

4. Markdown 的核心优势

(1) 简洁易读

Markdown 的符号设计直观——# 像标题的层级,* 像列表的项目符号,> 像引用缩进。即使在纯文本编辑器中,文档结构也一目了然:

MARKDOWN
# 一级标题
## 二级标题
### 三级标题

- 列表项 1
- 列表项 2

> 这是一段引用文字
💡 提示: 在 GitHub 上阅读 Markdown 源码和渲染后的效果几乎一样清晰——这就是"可读性"的体现。

(2) 便携与转换

Markdown 文件是纯文本,不依赖特定软件。它可以轻松转换为多种格式:

转换目标 工具 用途
HTML Pandoc、marked.js 网页发布
PDF Pandoc、Typora 打印/分发
Word Pandoc、Pandoc 协作编辑
EPUB Pandoc 电子书
幻灯片 Marp、Slidev 演示文稿

▶ 示例:用 Pandoc 将 Markdown 转换为 HTML

BASH
pandoc document.md -o document.html
💡 提示: Pandoc 被称为"文档格式的瑞士军刀",支持超过 40 种格式的互转。


5. Markdown 的应用场景

(1) 技术文档与 README

GitHub 上几乎每个项目都有 README.md 文件。Markdown 是技术文档的事实标准:

MARKDOWN
# Project Name

> A brief description of your project

## Installation

\`\`\`bash
npm install my-project
\`\`\`

## Usage

\`\`\`javascript
const myProject = require('my-project');
myProject.start();
\`\`\`

## License

MIT

(2) 博客与笔记

现代静态博客生成器(如 Jekyll、Hugo、Hexo)都使用 Markdown 作为内容格式。笔记应用(如 Notion、Obsidian、Logseq)也原生支持 Markdown。

平台 Markdown 支持程度 特色
GitHub ⭐⭐⭐⭐⭐ README / Issues / Wiki 全支持
Obsidian ⭐⭐⭐⭐⭐ 本地优先、双向链接、图谱
Notion ⭐⭐⭐⭐ 块编辑器 + Markdown 导入导出
知乎/简书 ⭐⭐⭐ 部分支持,主要用于文章
Jekyll/Hugo ⭐⭐⭐⭐⭐ 静态博客,完全基于 Markdown

▶ 示例:Obsidian 中 Markdown 的双向链接

MARKDOWN
# 学习笔记

今天学习了 [[CSS Flexbox]] 和 [[Grid Layout]]。

Flexbox 适合[[一维布局]],Grid 适合[[二维布局]]。

参考资源:[[前端学习路线]]
💡 提示: Obsidian 的 [[双链]] 语法不是标准 Markdown,但它基于 Markdown 扩展,让笔记之间形成知识网络。


6. 完整示例:用 Markdown 写一份项目简介

MARKDOWN
# Todo App

> A simple command-line todo application built with Python.

## Features

- Add, delete, and mark tasks as complete
- Save tasks to a JSON file
- Dark mode terminal UI

## Quick Start

\`\`\`bash
git clone https://github.com/alex/todo-app
cd todo-app
python main.py
\`\`\`

## Project Structure

\`\`\`text
todo-app/
├── main.py          # Entry point
├── todo.py          # Task management
├── storage.py       # File I/O
└── requirements.txt # Dependencies
\`\`\`

## License

MIT License

预期渲染效果:一个结构清晰的 GitHub README 页面,包含项目名称、描述、功能列表、安装命令和目录结构。


❓ 常见问题

Q Markdown 适合写长篇文档吗?
A 适合。很多技术书籍(如《Pro Git》)就是用 Markdown 编写的。配合 Pandoc 可以输出 PDF/EPUB 格式。
Q Markdown 和富文本编辑器(如 Word)哪个好?
A 取决于场景。写技术文档、代码说明用 Markdown(版本控制友好、跨平台);写需要精确排版的印刷文档用 Word。
Q 所有人都会用 Markdown 吗?
A 技术群体中约 90% 的开发者使用 Markdown,但普通用户可能不熟悉。如果你的读者是非技术用户,可以考虑用 Notion 等可视化编辑器。
Q Markdown 有标准规范吗?
A 有。CommonMark 是最广泛采用的规范标准,GitHub Flavored Markdown(GFM)在其基础上增加了表格、任务列表等扩展。
Q .md 和 .markdown 有什么区别?
A 没有本质区别。.md 是更常见的缩写形式,.markdown 是完整拼写。两者被解析器同等对待。

📖 小节


📝 作业

  1. 基础题:打开任意文本编辑器,写一段 Markdown,包含一个一级标题、一段文字和一个无序列表。保存为 .md 文件后用浏览器打开,或用 VS Code 预览查看效果。

  2. 进阶题:找一个 GitHub 上的开源项目,阅读它的 README.md 源码(点击 Raw 按钮),写出这个 README 用了哪些 Markdown 语法(至少列出 5 种)。

  3. 挑战题:用 Pandoc 或在线工具(如 markdowntohtml.com)将你写的 Markdown 转换为 HTML,对比源码和渲染结果,理解每句 Markdown 对应什么 HTML 标签。

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏