全部文章

Markdown 语法入门:用纯文本写出清晰的文章

  • Markdown
  • 写作

写笔记、整理文档或发布博客时,我们经常需要标题、列表、链接和代码块。Markdown 用少量符号表达这些结构,让你在纯文本里完成排版:源文件容易阅读,渲染后也能呈现清晰的层次。

这篇文章从最常用的语法讲起。你可以把示例复制到 Markdown 编辑器里,对照预览查看效果。Markdown 文件通常使用 .md 扩展名。

1. 标题:用井号划分层次

在一行开头写上 #,再加一个空格,就能创建标题。井号的数量对应标题级别,最多六级。

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

一篇文档通常用一级标题表示主题,二级标题划分章节,三级标题细分内容。不要仅仅为了让字变小而跳过层级,标题首先表达的是文章结构。

如果博客模板已经把文章标题显示为一级标题,正文从二级标题开始即可,这篇文章就是这样写的。

2. 段落与换行:空一行很重要

两个段落之间留一个空行:

这是第一段,可以包含多个句子。

这是第二段。

只按一次回车,通常仍然属于同一个段落,不一定产生可见的换行。有些平台会改变这一行为,因此要以实际预览为准。

如果需要在同一段落中强制换行,可以在行末添加两个空格,再按回车。不过行末空格不容易察觉,也可能被编辑器自动清除;普通文章优先使用段落分隔,维护起来更方便。

3. 强调:粗体与斜体

用一对星号包围文字表示斜体,用两对星号表示粗体:

这是 *斜体*。
这是 **粗体**。
这是 ***粗斜体***。

渲染效果:

  • 这是 斜体。
  • 这是 粗体。
  • 这是 粗斜体。

粗体适合标出关键概念或操作提示。如果整段文字都加粗,读者反而难以找到重点。

4. 列表:整理要点和操作步骤

无序列表

在每项前面写 - 和一个空格:

- 阅读文档
- 整理笔记
- 完成练习

* 和 + 也可以作为无序列表标记,同一份文档里保持一种写法即可。

有序列表

有先后顺序的内容,用数字、英文句点和空格表示:

1. 新建一个 Markdown 文件。
2. 写入标题和正文。
3. 打开预览,检查效果。

嵌套列表

将子列表缩进到父项的内容区域内。对于下面这样的短标记,使用四个空格很方便:

- 写作计划
    - 确定主题
    - 收集资料
- 发布准备
    - 检查链接
    - 校对文字

列表前后留空行,能够减少不同渲染器对结构的误判。

5. 引用:突出一段文字

在行首添加 > 和一个空格:

> 把复杂的事情写清楚,往往需要先想清楚。
>
> 这是引用中的第二段。

渲染效果:

把复杂的事情写清楚,往往需要先想清楚。

这是引用中的第二段。

引用适合摘录他人的话,也可以用于补充说明。引用外部内容时,记得标明出处。

6. 链接与图片:方括号加圆括号

链接

链接的基本格式是 [显示文字](目标地址):

[访问文章列表](/posts.html)
[发送邮件](mailto:hello@example.com)

第一条示例会显示为 访问文章列表。描述性文字能够告诉读者链接的用途,比单独写“点这里”更清楚。

以 / 开头的地址从网站根目录解析,相对路径则取决于当前文档或页面所在的位置。博客发布后的位置可能与源文件目录不同,发布前应检查链接。

图片

图片比链接多一个开头的感叹号:

![傍晚的天空,云层被夕阳染成粉色](./images/sunset.jpg)

方括号里的内容是替代文本,用来描述图片。图片无法加载时,或者读者使用屏幕阅读器时,这段文字仍然能够传达信息。

示例中的图片路径仅用于说明写法,使用时需要换成实际存在的文件或图片地址。

7. 代码:保留符号和缩进

行内代码

用一对反引号包围命令、文件名或代码片段:

运行 `npm install` 安装依赖。
配置文件名是 `config.json`。

渲染后会显示为:运行 npm install 安装依赖。

如果代码本身包含反引号,可以用两个反引号作为外层边界:

用 `` `内容` `` 表示行内代码。

代码块

多行代码可以用三个反引号围起来,在开头注明语言:

```python
def greet(name):
    print(f"你好,{name}!")

greet("Markdown")
```

渲染效果:

def greet(name):
    print(f"你好,{name}!")

greet("Markdown")

语言名称用于提示语法高亮,具体颜色和支持的语言取决于平台。代码块里的缩进会被保留,特别适合展示程序、命令和配置文件。

如果要展示包含三个反引号的 Markdown 示例,外层可以使用四个反引号,上面的示例就是这样组织的。

8. 分隔线与转义

分隔线

单独一行写三个或更多连字符,可以生成分隔线。前后留空行,避免它被解释为其他结构:

上一部分的内容。

---

下一部分的内容。

分隔线适合区分内容片段。如果文章已有明确的章节标题,通常不需要频繁添加。

转义字符

如果想显示符号本身,可以在部分标点符号前加反斜杠,阻止它们被解释为 Markdown 标记:

\*这句话不会变成斜体\*
\# 这不是标题

渲染效果:

*这句话不会变成斜体*

# 这不是标题

对于整段语法示例,使用代码块比逐个转义更省事。

9. 常见扩展:表格、删除线与任务列表

Markdown 存在不同的语法变体。表格、删除线和任务列表在许多平台上可用,但并非所有渲染器都支持,使用时应查看目标平台的预览。

表格

用竖线分隔列,在表头下方添加分隔行:

| 语法 | 用途 | 示例 |
| --- | --- | --- |
| 标题 | 划分章节 | `## 小节` |
| 粗体 | 强调重点 | `**重点**` |
| 行内代码 | 展示代码片段 | 使用反引号 |

渲染效果:

语法 用途 示例
标题 划分章节 ## 小节
粗体 强调重点 **重点**
行内代码 展示代码片段 使用反引号

在分隔行中加冒号可以指定对齐方式::--- 左对齐,:---: 居中,---: 右对齐。表格适合短内容对照,长段落放进表格后容易变得难读。

删除线

用两对波浪号包围文字:

~~这是一条已经取消的安排。~~

支持这一扩展的平台会显示为:这是一条已经取消的安排。

任务列表

在无序列表标记后添加 [ ] 或 [x],分别表示未完成和已完成:

- [x] 确定文章主题
- [x] 完成初稿
- [ ] 校对并发布

支持任务列表的平台通常会把它们显示为复选框,但是否可以点击、点击后是否保存状态,取决于平台的实现。

10. 一份可以直接套用的文档

把前面的语法组合起来,就能写出一份结构完整的笔记:

# 我的学习笔记

今天学习了 **Markdown**,准备用它整理知识。

## 学习目标

- 掌握标题和列表。
- 学会插入链接与代码。

## 操作步骤

1. 新建 `notes.md`。
2. 写入内容。
3. 检查预览。

## 示例代码

```python
print("Hello, Markdown!")
```

> 写完以后,检查内容是否清楚、链接是否正确。

刚开始使用 Markdown,不必一次记住所有语法。先掌握标题、段落、列表、链接和代码,就足以完成大部分日常写作。遇到新的排版需求,再补充相应语法,并在最终发布的平台检查一次效果。