Markdown 完全手册

语法速查 · 扩展特性 · 写作最佳实践

Markdown 是一种轻量级标记语言,由 John Gruber 于 2004 年创建。它用简单的符号代替复杂的排版操作,让写作者专注于内容本身,而不是格式调整。如今,Markdown 已经成为技术文档、博客、笔记、README 的事实标准,几乎所有开发者工具都原生支持它。

📑 目录

  • 基础语法速查
  • 扩展语法(GFM)
  • 表格与任务列表
  • 数学公式与图表
  • 写作最佳实践

1. 基础语法速查

掌握 Markdown 基础只需要十分钟。以下是最常用的语法元素,覆盖 90% 的日常写作需求。

标题与段落

# 一级标题
## 二级标题
### 三级标题
#### 四级标题

这是一个段落。段落之间用空行分隔。

行尾加两个空格实现  
强制换行

强调与列表

*斜体文本* 或 _斜体_
**粗体文本** 或 __粗体__
***粗斜体*** 或 ___粗斜体___
~~删除线~~

- 无序列表项 1
- 无序列表项 2
  - 嵌套项

1. 有序列表第一
2. 有序列表第二

链接与图片

[显示文本](https://example.com "悬浮标题")
![图片描述](/images/demo.png)


[text][id]
[id]: https://example.com

代码与引用

行内代码:`const a = 1;`

代码块(指定语言高亮):
\`\`\`javascript
function hello() {
  console.log("Hello, Markdown!");
}
\`\`\`

> 这是一段引用
> 可以有多行
> > 还可以嵌套引用

2. 扩展语法:GitHub Flavored Markdown

标准 Markdown 功能有限,各大平台在其基础上做了扩展。GitHub 推出的 GFM(GitHub Flavored Markdown)是目前最流行的扩展版本,支持表格、任务列表、删除线、围栏代码块等实用功能。

围栏代码块与语法高亮

使用三个反引号包裹代码,并在开头指定语言名称,就能获得语法高亮。支持的语言多达上百种,常见的有 javascript、python、html、css、bash、json、sql 等。

\`\`\`python
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)
\`\`\`

3. 表格与任务列表

表格是 GFM 最实用的扩展之一,使用竖线和短横线即可绘制。对齐方式通过冒号控制。

| 左对齐 | 居中 | 右对齐 |
|:-------|:----:|-------:|
| 内容   | 内容 |  内容  |
| 数据   | 数据 |  数据  |

任务列表

任务列表非常适合写 TODO 清单,在 GitHub Issue 和项目管理中广泛使用。

- [x] 已完成的任务
- [ ] 待办任务
  - [ ] 子任务 A
  - [ ] 子任务 B
- [ ] 另一个任务

4. 进阶:数学公式与图表

越来越多的 Markdown 编辑器支持 LaTeX 数学公式和 Mermaid 图表,让技术文档的表达能力大大增强。

数学公式(KaTeX / MathJax)

行内公式:$E = mc^2$

块级公式:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

Mermaid 流程图

\`\`\`mermaid
graph TD
    A[开始] --> B{判断}
    B -->|是| C[执行 A]
    B -->|否| D[执行 B]
    C --> E[结束]
    D --> E
\`\`\`

Mermaid 还支持时序图、类图、甘特图、饼图等多种图表类型,是绘制技术架构图的利器。

5. Markdown 写作最佳实践

好的 Markdown 不仅能正确渲染,还应该在纯文本状态下也具备良好的可读性。以下是一些被广泛认可的最佳实践:

常用工具推荐

市面上有大量优秀的 Markdown 工具:VS Code 配合 Markdown All in One 插件是程序员的首选;Typora 提供所见即所得的编辑体验;Obsidian 则适合知识管理和双链笔记。此外,DevToolHub 也提供了在线的 Markdown 预览工具,无需安装即可快速查看渲染效果。

6. Markdown 变体与兼容性

虽然 Markdown 的核心语法是统一的,但不同平台对扩展语法的支持程度不同。了解这些差异,可以避免"在 A 编辑器里好好的,复制到 B 平台就乱了"的尴尬。

CommonMark 标准

CommonMark 是 Markdown 的官方规范,由 John MacFarlane 等人发起,旨在解决 Markdown 语法模糊、各实现不一致的问题。GitHub、Discourse、Reddit 等大平台都遵循 CommonMark 规范,在此基础上添加自己的扩展。

常见平台差异

迁移建议

如果你的文章需要在多个平台发布,建议使用最基础的 CommonMark 语法写作,然后针对不同平台做适配。尽量避免使用平台专有扩展,否则迁移成本会很高。对于需要复杂排版的场景,可以考虑用 MDX(Markdown + JSX),在保留 Markdown 简洁性的同时拥有组件化能力。

7. 高级技巧

脚注与定义列表

一些 Markdown 扩展支持更学术化的写作元素:

这是一段引用了脚注的文字[^1]。

[^1]: 这是脚注的内容,会显示在页面底部。

: 定义列表:
:   项目 1
    定义内容

:   项目 2
    定义内容

HTML 嵌入

Markdown 原生支持嵌入 HTML,遇到 Markdown 语法无法实现的效果时,可以直接写 HTML:

<details>
<summary>点击展开详情</summary>

这里的内容默认折叠,点击后才展开。

支持完整的 Markdown 语法。

</details>

<table>
  <tr><th>表头</th></tr>
  <tr><td>单元格</td></tr>
</table>

快捷键与效率技巧

专业的 Markdown 编辑器提供了大量快捷键,可以大大提升写作效率:

另外,用 Markdown 写作时建议打开"实时预览"或"分屏预览"模式,边写边看效果,避免写完才发现格式不对。DevToolHub 的在线 Markdown 预览工具支持实时渲染和导出,随时随地都能写。

8. Markdown 生态与周边工具

Markdown 已经发展出了一个庞大的生态系统,从写作工具到发布平台,从静态站点生成器到幻灯片工具,应有尽有。

掌握 Markdown 的价值远不止写几篇博客。它是一种通用的内容创作格式,你的笔记、文档、演示文稿、书籍都可以用它来写,一次编写,到处发布。

总而言之,Markdown 是一项投入产出比极高的技能——花一两个小时学会,就能在职业生涯中持续受益。无论是写文档、记笔记、写博客还是写书,它都是最通用、最持久的内容格式。

总结

Markdown 的魅力在于它的简单和通用。花十几分钟学会基础语法,就能终身受益——写技术文档、记笔记、发博客、写书籍,几乎所有文字创作场景都能用上。更重要的是,Markdown 文件是纯文本格式,不依赖任何特定软件,几十年后依然可以打开阅读,这是任何富文本格式都做不到的。