Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。本文旨在提供一份详尽的语法参考,助你快速掌握 Markdown。


第一部分:基础语法

0.目录

使用 [TOC] 来标示插入目录,目录分级取决于文章已有的分级标题。 最高层级不一定要从一级标题开始,目录解析过程会自动识别整个目录的最高层级。 示例:

1
[TOC]

1. 标题 (Headers)

Markdown 支持 1 到 6 级标题。

1
2
3
4
5
6
# H1 一级标题 (通常用于文章主标题)
## H2 二级标题 (文章主要章节)
### H3 三级标题 (子章节)
#### H4 四级标题
##### H5 五级标题
###### H6 六级标题

2. 文本样式 (Emphasis)

对文本进行加粗、斜体或删除线处理。

语法写法 效果展示 说明
*斜体文本*_斜体文本_ 斜体文本 单个星号或下划线
**粗体文本** 粗体文本 双星号或双下划线
***粗斜体*** 粗斜体 三星号
~~删除线~~ 删除线 双波浪线

3. 列表 (Lists)

3.1 无序列表

使用 *、+ 或 - 作为标记。

  • 项目 1

  • 项目 2

    • 子项目 A (前面加2个或4个空格)

    • 子项目 B

3.2 有序列表

使用数字加点 1.。数字本身不重要,Markdown 会自动排序,但建议从 1 开始。

  1. 第一步

  2. 第二步

  3. 第三步

    1. 第三步的子步骤

    2. 另一个子步骤

4.1 超链接

语法:[显示文本](链接地址 "可选标题")

4.2 图片

图片语法与链接非常像,只是前面多了一个感叹号 !。 语法:![图片替代文字](图片地址)

示例:Markdown Logo

5. 引用 (Blockquotes)

使用 > 符号。引用可以嵌套。 这是一个引用段落。

这是一个嵌套引用。

回到第一层引用。

6. 代码 (Code)

6.1 代码块

使用三个反引号 ``` 包裹,并指定语言(可选,用于语法高亮)。

def hello():
    print("Hello, Markdown!")

6.2 行内代码块

示例:

1
`行内代码块`

效果:
行内代码块

7. 分割线 (Horizontal Rules)

使用三个或以上的 *、- 或 _。 示例:

百年孤独

然而,在晚年无法穿透的孤独中,她获得了非凡的洞察力,能察觉到家中任何不起眼的小事,也第一次看清了过去因忙碌而忽略的真相。在培养何塞·阿尔卡蒂奥为上神学院作准备的那段时期,她细细回顾了马孔多创建以来家中的大事小情,彻底改变了对子孙的一贯看法。

作者:奥雷里亚诺·布

8. 表格支持

语法:

|        base_uri        |   uri   |            result            |
| :--------------------: | :-----: | :--------------------------: |
| chengxiaobai.cn/first/ | /second |    chengxiaobai.cn/second    |
| chengxiaobai.cn/first/ | second  | chengxiaobai.cn/first/second |
| chengxiaobai.cn/first  | /second |    chengxiaobai.cn/second    |
| chengxiaobai.cn/first  | second  |    chengxiaobai.cn/second    |

示例

base_uri uri result
chengxiaobai.cn/first/ /second chengxiaobai.cn/second
chengxiaobai.cn/first/ second chengxiaobai.cn/first/second
chengxiaobai.cn/first /second chengxiaobai.cn/second
chengxiaobai.cn/first second chengxiaobai.cn/second

9. 文本高亮

使用 == 包裹起来的文本会被高亮展示,无 JavaScript 依赖,默认开启,参考文档: MDN-Mark ,现代浏览器基本都支持

示例: 多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个==遥远的下午==

效果:
多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个==遥远的下午==

10.任务列表

任务列表展示,无 JavaScript 依赖,只读模式

示例:

1
2
3
- [x] Typecho 最新版本插件系统适配
- [x] MarkdownParse 适配 GFM
- [ ] MarkdownParse 发布 2.0 版本

效果:

  • Typecho 最新版本插件系统适配
  • MarkdownParse 适配 GFM
  • MarkdownParse 发布 2.0 版本

第二部分:进阶语法 (Extended Syntax)

1.HTML 标签

Markdown 支持原生 HTML。如果某些效果 Markdown 实现不了(比如改变字体颜色),你可以直接写 HTML。

示例: (通过HTML实现)

1
<span style="color:red">这是红色的文字</span>

效果:
这是红色的文字

2.转义字符

如果你想显示 * 或 _ 等特殊符号原本的样子,需要在前面加反斜杠 \。

示例:

\*这不是斜体*

效果:
*这不是斜体*

3.脚注 (Footnotes)

注:此功能需要编辑器或插件支持。

这是一个脚注示例^1

第三部分:写作建议

  • 空格的使用: 在 # 后、- 后建议都加上一个空格,这是标准规范。

  • 换行: 在 Markdown 中,如果你想在段落内强制换行,可以在行尾敲两个空格然后回车,或者直接使用空行分段。

  • 中英文混排: 建议在中英文之间留一个空格,虽然不是语法要求,但能显著提升阅读体验。

    • Bad: 学习Markdown语法

    • Good: 学习 Markdown 语法