Markdown:一种穿越20年的文本范式

md极简速成


Markdown 是一种纯文本标记语言——你用几个符号告诉电脑“这行是标题”“这段要加粗”,它就帮你渲染成漂亮的网页。

不需要安装 Word,不需要拖拽排版,打开任何文本编辑器就能写。GitHub、Notion、飞书、Obsidian、本站博客——全都支持 Markdown。

学会它,你就掌握了互联网写作的通用语言


从纸上的批注到 Markdown

“标记”(markup)这个词并不是互联网发明的。过去编辑会在纸稿上留下批注:这里要加粗,那里要改成标题,某一段需要移动。电子文档里的标记语言做的事情很相似,只是把这些提示写进文本中。

Markdown 在 2004 年出现。它属于轻量级标记语言:符号很少,即使不经过渲染,原始文本也依然容易阅读。它适合博客、笔记、说明文档和 README,但并不追求包办复杂排版。

同一句话,不同语言怎么写?

下面几种语言都能表达“把重点加粗”,但写法很不一样:

语言原始写法渲染后的含义
Markdown**重点内容**重点内容
BBCode[b]重点内容[/b]加粗的“重点内容”
HTML<strong>重点内容</strong>重点内容
Wikitext'''重点内容'''加粗的“重点内容”

Markdown 的优势不只是字符更少,而是原始写法看起来仍然像一篇可以直接阅读的文章。你不用频繁点击工具栏,也不必先理解复杂标签。

Markdown 有很多“口味”。Obsidian、GitHub 和博客系统支持的细节可能略有差异,所以尽量使用简单、常见的写法。遇到表格、脚注等扩展语法时,最好在发布前预览一次。

延伸阅读:Markdown: History, Development and Aspects


先记住三个习惯

Markdown 不难。开始写之前,只需要记住三件事:

  1. 在标题、段落、列表前后适当留出空行。
  2. #-> 等符号后面加一个空格。
  3. 先用最简单的写法,遇到特殊需求再查速查表。

这些习惯能让文章在 Obsidian、博客和其他编辑器里保持稳定的排版效果。


标题:用 # 的数量表示层级

# 越多,标题越小。最多 6 级,但实际写作中 3 级足够。

# 一级标题(文章主标题)
## 二级标题(章节)
### 三级标题(子章节)

注意:# 后面要留一个空格。一级标题通常整篇文章只用一次,对应文章的大标题;正文从二级标题开始用。


段落和换行:空行是分段的唯一方式

两段文字之间空一行就是分段。直接回车不会换行(这是新手最常踩的坑)。

这是第一段。

这是第二段。中间空了一行,所以它们是两个独立的段落。

这两行之间没有空行,
所以会被拼成同一段。

如果你真的想在段落内强制换行,可以在行尾加 <br>。也可以在行尾加两个空格再回车,但空格不容易被看见。大多数时候,直接分段更清晰。


文字样式:加粗、斜体、删除线

**加粗** 用两个星号包裹
*斜体* 用一个星号包裹
***又粗又斜*** 用三个星号
~~删除线~~ 用两个波浪号

效果:

加粗 / 斜体 / 又粗又斜 / 删除线

实战建议:加粗用于强调关键信息,斜体用于术语或引用语气,删除线用于表示”我改主意了”。


列表:有序和无序

无序列表:用 - 开头

- 咖啡
- 代码
- 深夜的 bug
  • 咖啡
  • 代码
  • 深夜的 bug

有序列表:用数字开头

1. 打开编辑器
2. 写 Markdown
3. 推送发布
  1. 打开编辑器
  2. 写 Markdown
  3. 推送发布

嵌套列表:缩进两个空格

- 前端
  - HTML
  - CSS
  - JavaScript
- 后端
  - Python
  - Go
  • 前端
    • HTML
    • CSS
    • JavaScript
  • 后端
    • Python
    • Go

链接和图片

链接

[显示的文字](网址)

例如:[Butea Studio](https://butea.io)Butea Studio

想让一段网址自动变成链接,可以用尖括号包起来:

<https://www.markdownguide.org>

图片

跟链接几乎一样,前面多一个 !

![图片描述](图片路径)

例如:

blog placeholder

图片描述(alt text)不是装饰——它在图片加载失败时显示,也帮助视障用户理解内容。养成写描述的好习惯。


引用:用 > 开头

> 好的设计是尽可能少的设计。
> — Dieter Rams

好的设计是尽可能少的设计。 — Dieter Rams

引用可以嵌套,也可以在里面用其他 Markdown 语法:

提示: 你可以在引用里使用 斜体代码、甚至 链接


代码:行内和代码块

行内代码

用反引号把代码包起来:

运行 `npm run dev` 启动开发服务器。

效果:运行 npm run dev 启动开发服务器。

代码块

用三个反引号包裹,第一行可以标注语言名称来启用语法高亮:

```javascript
function greet(name) {
  return `Hello, ${name}!`;
}
```

效果:

function greet(name) {
  return `Hello, ${name}!`;
}

支持的语言:html css javascript typescript python bash json markdown 等几十种。


表格:用竖线和短横线画格子

| 工具 | 用途 | 难度 |
|------|------|------|
| Markdown | 写作 | 简单 |
| HTML | 网页 | 中等 |
| LaTeX | 论文 | 地狱 |
工具用途难度
Markdown写作简单
HTML网页中等
LaTeX论文地狱

表格不需要对齐得很完美,解析器不在乎你的空格数。但对齐了看源码更舒服。


分割线:三个短横线

---

就像这样,在两个章节之间画一条线:


脚注:给文章加注释

Markdown 由 John Gruber 在 2004 年创建[^1]。

[^1]: 他与 Aaron Swartz 合作完成了最初的设计。

Markdown 由 John Gruber 在 2004 年创建1


进阶技巧

任务列表(待办清单)

- [x] 学会标题和段落
- [x] 学会加粗和列表
- [ ] 学会表格和代码块
- [ ] 写一篇自己的博客
  • 学会标题和段落
  • 学会加粗和列表
  • 学会表格和代码块
  • 写一篇自己的博客

HTML 混写

Markdown 里可以直接写 HTML,应对一些 Markdown 搞不定的场景:

H<sub>2</sub>O 是水的化学式

按 <kbd>Ctrl</kbd> + <kbd>C</kbd> 复制

<mark>高亮文字</mark> 用 mark 标签

H2O 是水的化学式

Ctrl + C 复制

高亮文字 用 mark 标签


显示特殊符号:用反斜杠转义

如果你想显示 *#- 等符号本身,而不是让它们触发格式,在前面加一个反斜杠 \

\* 这不是列表,只是一个星号
\# 这不是标题,只是一个井号

效果:

* 这不是列表,只是一个星号
# 这不是标题,只是一个井号


速查表

你想做什么怎么写
标题## 标题文字
加粗**加粗文字**
斜体*斜体文字*
链接[文字](网址)
图片![描述](路径)
无序列表- 列表项
有序列表1. 列表项
强制换行文字<br>
引用> 引用文字
行内代码`代码`
代码块```语言名 代码 ```
表格| 列1 | 列2 |
分割线---
删除线~~删除的文字~~
显示特殊符号\*

现在你已经掌握了 Markdown 的核心语法。最好的练习方式就是马上写一篇文章——打开编辑器,从 ## 开始,边写边查这份速查表,几篇下来就完全内化了。

Footnotes

  1. 他与 Aaron Swartz 合作完成了最初的设计。