1. 什么是 MarkDown?
MarkDown 是一种轻量级标记语言,它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的HTML文档”。
- 专注内容:不需要像 Word 那样频繁调整排版,双手不离键盘即可完成格式控制。
- 通用性强:几乎所有主流平台(GitHub、知乎、简书、Notion、Obsidian)都支持。
- 格式转换:可以轻松导出为 PDF、HTML、Word 甚至 PPT。
主要优势:
- 纯文本:兼容性强,可以在任何文本编辑器中打开。
- 易读易写:语法简单直观,学习成本极低。
- 跨平台:广泛应用于博客写作、技术文档、README 文件等。

2. 基础语法
2.1 标题
MarkDown 支持两种风格的标题:Atx 和 Setext。
Atx风格
使用 # 符号来创建不同级别的标题。一个 # 对应一级标题,最多支持六级。
| 语法 | 示例 | 效果 |
|---|---|---|
| # 一级标题 | # 一级标题 | 一级标题 |
| ## 二级标题 | ## 二级标题 | 二级标题 |
| ### 三级标题 | ### 三级标题 | 三级标题 |
Setext风格
仅支持一级和二级标题,通过在标题下方使用连续的 = (一级) 或 - (二级) 来实现。
一级大标题
=========
二级副标题
---------
2.2 文本样式
使用星号 * 或下划线 _ 来标记强调的文本。
| 样式 | 语法 | 示例 | 效果 | 说明 |
|---|---|---|---|---|
| 粗体 (Bold) | 文本 | 这是粗体 | 这是粗体 | 用于突出重要内容。 |
| 斜体 (Italic) | 文本 | 这是斜体 | 这是斜体 | 用于术语或强调。 |
| 粗斜体 | 文本 | 粗斜体 | 粗斜体 | 粗体和斜体的结合。 |
| 删除线 | 注意:删除线是扩展语法,并非所有平台都支持。 |
强调的注意事项:
- 在单词内部使用星号或下划线进行强调时,通常不会生效,例如:website。
- 如果想在文本中显示 MarkDown 标记本身,需要使用转义字符 \ (参见 5.4 节)。
2.3 引用 (Blockquotes)
使用 > 符号来创建引用块。可以多重嵌套,引用内部可以包含其他 MarkDown 元素(如标题、列表)。
> 这是一级引用。
>
> > 这是二级嵌套引用。
>
> 引用块内的文本也可以使用 MarkDown 语法,比如 **粗体**。
效果:
这是一级引用。
这是二级嵌套引用。
引用块内的文本也可以使用 MarkDown 语法,比如 粗体。
2.4 列表
无序列表
使用 *、+ 或 - 后面紧跟一个空格。建议统一使用一种符号以保持文档风格一致。
* 苹果
* 香蕉
* 绿色香蕉 (嵌套列表需要至少四个空格或一个 Tab 缩进)
* 橙子
有序列表
使用数字后面紧跟一个点 . 和一个空格。
注意:MarkDown 解析器只会关心第一个数字,后续的数字即使乱序,也会被解析为正确的顺序列表(即“惰性编号”)。
1. 第一项
1. 第二项 (这里的数字写 1 也会被正确解析)
3. 第三项
混合列表
有序列表和无序列表可以互相嵌套,通过缩进进行区分。
1. 主要步骤一
* 子步骤 A
* 子步骤 B
2. 主要步骤二
1. 阶段一
2. 阶段二
3. 链接与图片
3.1 链接
行内链接
最常用,链接文本放在方括号 [] 中,链接地址放在圆括号 () 中。
[访问 Google](https://www.google.com "链接标题 (可选)")
效果:访问苏酷伊
引用式链接
适用于文档中多次重复引用同一个链接,或保持段落的整洁性。定义放在文档底部。
查看 [Markdown 语法][md-ref] 获取更多信息。
在文档的末尾定义链接:
[md-ref]: http://www.sukuy.com "Markdown 语法"
(在渲染时,定义部分通常不会显示,仅供解析器使用。)
3.2 图片
图片语法与链接类似,只是前面多了一个感叹号 !。Alt Text (图片的描述) 在图片加载失败时显示,对辅助功能也很重要。
")
4. 代码块与分割线
4.1 行内代码
使用单个反引号 ` 包裹代码片段。行内代码常用于引用函数名、文件名或简短的代码片段。
运行 `npm install` 来安装依赖。
效果:运行 npm install 来安装依赖。
4.2 代码块
使用三个反引号 ``` 包裹一段代码。通过在开始的三个反引号后指定语言(如 javascript,python,css),可以开启语法高亮,这是编写技术文档的关键功能。
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
4.3 分割线
使用三个或更多星号 ***、破折号 --- 或下划线 ___ 即可。它们必须单独占据一行,且行内不能包含其他非空格字符。
分割线常用于分隔章节或内容主题。
***
---
___
5. 进阶与扩展语法
5.1
使用管道符 | 分隔列,使用破折号 - 分隔表头和内容。
对齐方式:
- : 在左侧:左对齐 (默认)
- : 在两侧:居中对齐
- : 在右侧:右对齐
| 左对齐 | 居中对齐 | 右对齐 |
| :--- | :---: | ---: |
| 内容 A | 内容 B | 内容 C |
| 更多内容 | 更多内容 | 更多内容 |
5.2 任务列表
使用 - [ ] (未完成) 或 - [x] (已完成) 来创建任务列表。常用于会议纪要或项目待办事项。
- [x] 完成 MarkDown 基础学习
- [ ] 开始编写第一篇文档
- [ ] 提交初稿
5.3 HTML 原生支持
MarkDown 的一个强大之处在于,它允许在文档中直接嵌入 HTML 标签。这在你需要实现 MarkDown 自身不支持的复杂布局或样式时非常有用。
注意:并非所有 MarkDown 解析器都允许嵌入 HTML (例如为了安全考虑),但在大多数个人写作和技术文档平台中是支持的。
这是一个 MarkDown 段落。
<div style="color: blue; padding: 10px; border: 1px solid blue; border-radius: 5px;">
**这是通过原生 HTML 实现的蓝色容器。**
你可以使用 `<span>`、`<br>`、`<img>` 等任何标准 HTML 标签。
</div>
这是另一个 MarkDown 段落。
5.4 转义字符
如果你想在文档中显示 MarkDown 语法的特殊字符(如星号 *、井号 #、反引号 `),而不是让它们被解析为格式,你需要在这些特殊字符前加上反斜杠 \ 进行转义。
| 想要显示的字符 | 语法 | 示例 | 效果 |
|---|---|---|---|
| * (星号) | * | *不是斜体* | 不是斜体 |
| # (井号) | # | # 这是一个井号 | # 这是一个井号 |
| [ (方括号) | [ | [链接文本] | [链接文本] |
6. MarkDown 编辑器推荐
市面上有许多优秀的 MarkDown 编辑器,它们通常提供“实时预览”功能,让你在写作的同时就能看到最终渲染的效果。
- Typora / MarkText:强大的本地编辑器,界面简洁,沉浸式写作体验极佳。
- VS Code (Visual Studio Code):拥有强大的 MarkDown 插件生态和内置支持,适合开发者。
- Obsidian / Notion:专注于知识管理和笔记,内置 MarkDown 支持。
- HedgeDoc / HackMD:在线协作 MarkDown 编辑器。
7. 常见问题 (FAQ?)
Q1?: Markdown 导出的 PDF 包含页眉页脚怎么办?
- 答:在导出设置中(通常在打印选项里),取消勾选“页眉和页脚”。
Q2?: 为什么我的表格在不同编辑器里长得不一样?
- 答:Markdown 标准语法对表格支持较弱,不同编辑器渲染引擎不同。建议尽量保持表格简单,或者使用 HTML 代码来辅助排版。
Q3?: 手机上可以用 Markdown 吗?
- 答:可以。iOS 推荐 Taio 或 Obsidian 移动版;Android 推荐 Obsidian 或 Epsilon Notes。
选择一个你喜欢的工具,开始你的 MarkDown 写作之旅吧!开始动笔吧! Markdown 的魅力在于,当你习惯了它,你将不再为排版分心,只会专注于思想的流动。
如果你喜欢,请关注我们的微信公众号,获取更多优质资源线报

