Markdown 语法大全(最全最完整版)

版本:v1.0
日期:2026-05-26
说明:本文档涵盖了 Markdown 的所有标准语法、扩展语法、主流平台(GitHub Flavored Markdown、CommonMark、MultiMarkdown、Marxico、Typora、Obsidian 等)支持的语法,以及 HTML 内嵌用法,力求成为最全面、最广泛的 Markdown 语法参考手册。


目录


一、概述与基础概念

1.1 什么是 Markdown

Markdown 是一种轻量级标记语言,由 John Gruber 于 2004 年创建。它的设计理念是:易于阅读、易于书写、易于转换为 HTML 和其他格式

1.2 Markdown 的标准与变体

标准/变体 说明
Original Markdown John Gruber 的原始规范
CommonMark 标准化、无歧义的 Markdown 规范(最通用)
GitHub Flavored Markdown (GFM) GitHub 扩展,增加了表格、任务列表、删除线、自动链接等
MultiMarkdown (MMD) 扩展了脚注、定义列表、元数据、公式等
Markdown Extra PHP 扩展,支持表格、定义列表、脚注等
Marxico 印象笔记 Markdown 编辑器,支持绘图等
Obsidian Flavored Markdown Obsidian 笔记软件扩展,支持双链、Callout 等
MDX 支持在 Markdown 中嵌入 JSX 组件

1.3 设计哲学

  • 纯文本格式,任何文本编辑器均可打开
  • 语法简洁直观,即使不渲染也具有可读性
  • 可方便地转换为 HTML、PDF、Word 等格式

二、标题(Headings)

Markdown 支持 6 级标题,使用 # 号标记:

2.1 ATX 风格(推荐)

一级标题(H1)

二级标题(H2)

三级标题(H3)

四级标题(H4)

五级标题(H5)
六级标题(H6)

注意# 与标题文字之间必须至少有 1 个空格。部分编辑器要求更严格,建议保持 1 个空格。

2.2 Setext 风格(仅支持 H1 和 H2)

一级标题

二级标题

=- 的数量至少为 1 个,但建议使用 3 个以上以提高可读性。

2.3 可选的闭合 #

一级标题

二级标题

三级标题 ### 闭合的 # 号数量不需要与开头一致

闭合 # 号为可选语法,并非所有解析器都支持,不建议使用。

2.4 标题最佳实践

  • 一个文档通常只使用 一个 H1 标题
  • 标题层级不要跳级(如 H1 直接到 H3)
  • 标题前后建议空一行,保证兼容性

三、段落与换行

3.1 段落

段落之间使用 一个或多个空行 分隔:

这是第一段。

这是第二段。

3.2 换行

方式 语法 说明
方式一 在行尾加 两个空格 然后回车 标准 Markdown
方式二 使用 <br> 标签 HTML 标签
方式三 直接回车(无需两个空格) GFM 等扩展支持

第一行(末尾有两个空格)
第二行

第一行
第二行

3.3 空行技巧

在部分编辑器中,多个空行可能会被合并为一个。如需强制插入多个空行,可使用:

第一段


第二段(中间有一个空行间距)

或者使用 HTML 实体:

第一段

 

第二段


四、文本样式(强调)

4.1 基础样式一览

样式 语法 渲染效果
加粗 **加粗**__加粗__ 加粗
斜体 *斜体*_斜体_ 斜体
加粗斜体 ***加粗斜体***___加粗斜体___ 加粗斜体
删除线 ~~删除线~~ 删除线
行内代码 `行内代码` | 行内代码
超链接 [文本](URL) 超链接

4.2 加粗(Bold)

加粗文本
加粗文本

加粗可以包含斜体在内

注意:推荐使用 **(星号),因为 _(下划线)在部分解析器中与单词中间的下划线冲突。

4.3 斜体(Italic)

斜体文本
斜体文本

最佳实践:推荐使用 *(星号)。

4.4 加粗 + 斜体组合

加粗且斜体
加粗且斜体
加粗且斜体
加粗且斜体
加粗且斜体
加粗且斜体

4.5 嵌套强调

这是加粗文本,其中包含斜体部分
这是斜体文本,其中包含加粗部分

4.6 行内代码中的强调

行内代码中不支持 Markdown 语法,所有符号原样显示:

这段**不会被加粗**

渲染为:这段**不会被加粗**


五、列表

5.1 无序列表

使用 *+- 作为列表标记:

  • 项目一
  • 项目二
  • 项目三
  • 项目一
  • 项目二
  • 项目三
  • 项目一
  • 项目二
  • 项目三

三种写法效果完全相同,推荐统一使用 -

5.2 有序列表

使用数字加 .) 标记:

  1. 第一项

  2. 第二项

  3. 第三项

  4. 第一项

  5. 第二项

  6. 第三项

  1. 第一项
  2. 第二项
  3. 第三项

注意:有序列表的数字并不影响渲染结果,但推荐使用正确的顺序以提高可读性。

5.3 嵌套列表(子列表)

子列表需要 缩进 2~4 个空格或 1 个制表符

  • 项目一
    • 子项目 1.1
      • 子子项目 1.1.1
    • 子项目 1.2
  • 项目二
    1. 子项目 2.1(有序)
    2. 子项目 2.2(有序)

5.4 列表中包含段落

列表项之间插入空行,即可包含多个段落,后续段落需缩进:

  1. 第一段内容。

    这是同列表项中的第二段内容。(需要缩进 4 个空格或 1 个制表符)

  2. 第二项。

5.5 列表中包含引用

  • 项目一

    这是一条引用
    列表中的引用需要缩进

  • 项目二

5.6 列表中包含代码块

  • 项目一

    ```python
    print("Hello, World!")
  • 项目二

列表中的代码块需要 额外缩进(通常再缩进 4 个空格)。

5.7 列表中包含图片

  1. 项目一

    图片描述

  2. 项目二

5.8 有序与无序混合嵌套

  1. 第一项
    • 无序子项
    • 无序子项
  2. 第二项
    1. 有序子项
    2. 有序子项

5.9 定义列表(MultiMarkdown / PHP Markdown Extra)

术语 A
定义 A 的说明
术语 B
定义 B 的说明

5.10 列表最佳实践

  • 无序列表统一使用 -
  • 子列表缩进使用 2 个或 4 个空格(保持一致)
  • 列表前后建议空一行
  • 列表项之间需要空行来分隔多段内容

六、链接

链接文本
链接文本

示例:

百度

链接文本

或者:

链接文本

或者:

链接文本

隐式链接名

百度

6.3 自动链接(URL / 邮箱)

GFM 扩展语法,直接写 URL 会自动转换为链接:

https://example.com

[email protected]

标准 Markdown 中需要使用尖括号:

https://example.com
[email protected]

6.4 带格式的链接

加粗链接
斜体链接
代码链接

6.5 链接到标题(锚点)

跳转到二级标题

标题的锚点规则:

  • 字母转小写
  • 空格转为 -
  • 特殊字符被移除
  • 中文通常保持原样或被移除(取决于解析器)

6.6 链接在新标签页打开

Markdown 本身不支持此功能,需使用 HTML

新窗口打开链接


七、图片

7.1 基本语法

替代文本
替代文本

示例:

Markdown Logo

7.2 引用式图片

替代文本

7.3 带链接的图片

图片替代文本

7.4 设置图片大小

标准 Markdown 不支持设置图片大小,需使用 HTML

替代文本 替代文本

7.5 图片居中

替代文本

或者:

替代文本

7.6 带标题的图片(figure)

替代文本
图片标题说明

7.7 图片画廊(部分编辑器支持)

图片1 图片2 图片3

7.8 Base64 内嵌图片

替代文本


八、引用(Blockquote)

8.1 基本语法

这是一段引用文本。
可以有多行。

8.2 省略中间的 >

这是一段引用。
虽然这行没有 > 符号,但仍然属于引用。
这行又回到了引用。

8.3 嵌套引用

第一层引用

第二层引用

第三层引用

8.4 引用中包含其他元素

引用中的列表

  • 列表项 1
  • 列表项 2
    • 子列表项

引用中的代码块

print("引用中的代码块")

引用中的标题

引用中的标题

引用中的段落内容。

引用中的表格

列 1 列 2
A B

8.5 引用最佳实践

  • 空行也建议加 > 以提高可读性
  • 引用块前后建议空一行

九、分隔线(Horizontal Rule)

使用三个或更多的 *-_







注意:使用 --- 时需确保上一行不是文本,否则会被解析为 Setext 风格的二级标题。


十、代码

10.1 行内代码(Inline Code)

使用反引号包裹:

使用 console.log() 来输出调试信息。

10.2 行内代码中包含反引号

使用双反引号包裹:

这是一个包含 ` 反引号的代码

10.3 代码块(Code Block)— 缩进式

缩进 4 个空格或 1 个制表符:

第一行代码
第二行代码
第三行代码

10.4 代码块(Fenced Code Block)— 围栏式(推荐)

使用三个或更多反引号 ``或波浪号~~~`:

代码内容
代码内容

10.5 代码块指定语言(语法高亮)

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

支持的常用语言标识

标识 语言 标识 语言
bash / shell Shell 脚本 python / py Python
javascript / js JavaScript typescript / ts TypeScript
java Java c C 语言
cpp / c++ C++ csharp / cs C#
go Go rust Rust
ruby / rb Ruby php PHP
swift Swift kotlin / kt Kotlin
sql SQL html HTML
css CSS scss / sass SASS/SCSS
json JSON xml XML
yaml / yml YAML toml TOML
markdown / md Markdown latex / tex LaTeX
diff Diff dockerfile Dockerfile
makefile Makefile graphql GraphQL
protobuf Protocol Buffers r R 语言
matlab MATLAB perl / pl Perl
lua Lua scala Scala
haskell Haskell elixir Elixir
erlang Erlang clojure Clojure
dart Dart objectivec / obj Objective-C
powershell PowerShell vb.net VB.NET
assembly / asm 汇编 plaintext / text 纯文本
console / terminal 终端输出 git Git
nginx Nginx 配置 ini / conf 配置文件
graphql GraphQL mermaid Mermaid 图表

语言标识不区分大小写。

10.6 代码块中的行号高亮(部分编辑器支持)

function example() {
  const a = 1;      // 高亮
  const b = 2;
  const c = 3;      // 高亮
  const d = 4;      // 高亮
  const e = 5;      // 高亮
  return a + b;
}

10.7 代码块标题(部分编辑器/插件支持)

example.js
console.log("Hello");

或:

console.log("Hello");

10.8 代码块 Diff 显示

+ 新增的行
- 删除的行
  未修改的行

十一、表格

11.1 基本语法

列标题 1 列标题 2 列标题 3
内容 1 内容 2 内容 3
内容 4 内容 5 内容 6

11.2 对齐方式

左对齐 居中对齐 右对齐
内容 1 内容 2 内容 3
内容 4 内容 5 内容 6
  • :------:左对齐(默认)
  • :---::居中对齐
  • ---::右对齐

11.3 简化写法

列两侧的 | 可以省略,分隔线的 - 至少需要一个:

标题 1 标题 2
内容 内容

11.4 表格中包含其他元素

包含链接

名称 链接
百度 百度

包含行内代码

函数 说明
printf() 格式化输出
scanf() 格式化输入

包含加粗/斜体

项目 状态
核心模块 已完成

11.5 表格中使用 | 字符

使用 HTML 实体 &#124; 表示管道符:

表达式 说明
a | b 按位或

11.6 多行表格(部分扩展支持)

MultiMarkdown 扯展:

列 1 列 2
内容跨越
多行
第二列

十二、脚注(Footnote)

支持:MultiMarkdown、Obsidian、Typora、Marxico 等

12.1 基本语法

这是一段带有脚注的文本1

这是另一段文本2

12.2 命名脚注

这是脚注3

12.3 行内脚注(部分解析器支持)

这是行内脚注^[行内脚注的内容]。


十三、任务列表(Task List)

GFM 扩展语法

13.1 基本语法

  • 已完成的任务
  • 未完成的任务
  • 另一个未完成任务

13.2 嵌套任务列表

  • 任务组 A
    • 子任务 A.1
    • 子任务 A.2
  • 任务组 B
    • 子任务 B.1
    • 子任务 B.2

13.3 有序任务列表

  1. 第一步
  2. 第二步
  3. 第三步

注意[x][ ] 中的 x 不区分大小写,[] 与内容之间无空格。


十四、删除线(Strikethrough)

GFM 扩展语法

这段文本会被加上删除线

渲染效果:这段文本会被加上删除线


十五、表情符号(Emoji)

15.1 使用 Emoji 代码

:smile: :heart: :thumbsup: :rocket: :fire:

15.2 直接使用 Unicode Emoji

😀 ❤️ 👍 🚀 🔥 ✅ ❌ ⭐ 📌 📝 🎉 💡 ⚠️ 🔗 💻 📱 🌍 🎯 📊 📅

15.3 常用 Emoji 代码表

代码 Emoji 代码 Emoji 代码 Emoji
:smile: 😄 :laughing: 😆 :blush: 😊
:heart: ❤️ :thumbsup: 👍 :thumbsdown: 👎
:rocket: 🚀 :fire: 🔥 :star:
:check: :x: :warning: ⚠️
:bulb: 💡 :link: 🔗 :computer: 💻
:memo: 📝 :chart: 📊 :date: 📅
:lock: 🔒 :unlock: 🔓 :email: 📧
:phone: 📱 :globe: 🌍 :eye: 👁️
:coffee: :beer: 🍺 :cake: 🍰
:music: 🎵 :movie_camera: 🎥 :book: 📖
:wrench: 🔧 :hammer: 🔨 :gear: ⚙️
:bug: 🐛 :bomb: 💣 :gift: 🎁
:trophy: 🏆 :medal: 🏅 :calendar: 📆
:cloud: ☁️ :sunny: ☀️ :umbrella: ☂️
:mag: 🔍 :key: 🔑 :bell: 🔔
:+1: 👍 :-1: 👎 :100: 💯
:ok_hand: 👌 :clap: 👏 :pray: 🙏

十六、高亮标记(Highlight)

支持:Marxico、Obsidian、Typora 等

高亮文本

渲染效果:高亮文本(带黄色背景)

HTML 方式(更通用):

高亮文本


十七、下标与上标(Subscript / Superscript)

MultiMarkdown、Obsidian 等支持

17.1 下标

H2O 是水的化学式

渲染效果:H₂O

17.2 上标

X2 是 X 的平方

渲染效果:X²

17.3 HTML 方式

H2O
X2


十八、定义列表(Definition List)

MultiMarkdown / PHP Markdown Extra 支持

术语 1
定义 1
术语 2
定义 2a
定义 2b

HTML 方式(更通用):

术语 1
定义 1
术语 2
定义 2a
定义 2b

十九、缩写(Abbreviation)

MultiMarkdown / PHP Markdown Extra 支持

HTMLCSS 是前端开发的基础。

文档中所有出现的 HTMLCSS 会自动添加 <abbr> 标签,鼠标悬停时显示全称。


二十、数学公式(Math / LaTeX)

支持:Typora、Obsidian、Marxico、GitLab、Notion、Jupyter 等

20.1 行内公式

这是一个行内公式:\(E = mc^2\)

20.2 块级公式

\[E = mc^2\]

或:
\[\sum_{i=1}^{n} x_i = x_1 + x_2 + \cdots + x_n\]

20.3 常用数学公式示例

分数

\[\frac{a}{b}\]

根号

\[\sqrt{x^2 + y^2}\]

求和

\[\sum_{i=0}^{n} i^2\]

积分

\[\int_{0}^{\infty} e^{-x} dx\]

矩阵

\[\begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix}\]

方程组

\[\begin{cases} x + y = 1 \\ x - y = 0 \end{cases}\]

多行公式对齐

\[\begin{aligned} f(x) &= x^2 + 2x + 1 \\ &= (x+1)^2 \end{aligned}\]

条件函数

\[f(x) = \begin{cases} 1, & x > 0 \\ 0, & x = 0 \\ -1, & x < 0 \end{cases}\]

希腊字母

\[\alpha, \beta, \gamma, \delta, \epsilon, \zeta, \eta, \theta, \lambda, \mu, \nu, \xi, \pi, \rho, \sigma, \tau, \phi, \chi, \psi, \omega\]

集合运算

\[A \cup B, \quad A \cap B, \quad A \setminus B, \quad A \subseteq B, \quad A \in B\]

箭头

\[\leftarrow, \rightarrow, \leftrightarrow, \Leftarrow, \Rightarrow, \Leftrightarrow, \mapsto\]

二十一、流程图与图表(Mermaid)

支持:GitHub、GitLab、Obsidian、Typora、Notion、Docusaurus 等

21.1 基本用法

graph TD A[开始] --> B{判断} B -->|是| C[执行操作] B -->|否| D[结束] C --> D

21.2 流程图(Flowchart)

graph LR A[矩形] --> B(圆角矩形) B --> C{菱形判断} C -->|条件1| D[(数据库)] C -->|条件2| E((圆形))

节点形状

语法 形状 说明
A[文本] 矩形 普通节点
A(文本) 圆角矩形 圆角节点
A{文本} 菱形 判断/条件
A((文本)) 圆形 圆形节点
A>文本] 旗帜形 右旗帜形
A[(文本)] 圆柱体 数据库
A[[文本]] 子流程 子流程
A[(文本)] 数据库 数据库图标
A((文本)) 圆形 连接点

箭头类型

语法 说明
--> 实线箭头
--- 实线无箭头
-> 实线箭头(短)
-.-> 虚线箭头
-.- 虚线无箭头
==> 粗线箭头
=== 粗线无箭头
--文本--> 带标签箭头

方向

关键字 说明
TB / TD 从上到下
BT 从下到上
LR 从左到右
RL 从右到左

21.3 时序图(Sequence Diagram)

sequenceDiagram participant A as 用户 participant B as 服务器 participant C as 数据库 A->>B: 发送请求 B->>C: 查询数据 C-->>B: 返回数据 B-->>A: 返回响应 Note over A,C: 这是一个跨越所有参与者的注释 Note right of B: 右侧注释

消息类型

语法 说明
-> 实线无箭头
--> 虚线无箭头
->> 实线箭头
-->> 虚线箭头
-x 实线叉号
--x 虚线叉号
-) 实线开放箭头
--) 虚线开放箭头

21.4 甘特图(Gantt Chart)

gantt title 项目开发计划 dateFormat YYYY-MM-DD section 需求阶段 需求分析 :a1, 2024-01-01, 10d 需求评审 :after a1, 5d section 设计阶段 系统设计 :2024-01-16, 10d 详细设计 :2024-01-26, 8d section 开发阶段 编码实现 :2024-02-03, 20d 单元测试 :2024-02-23, 10d section 测试阶段 集成测试 :2024-03-04, 10d 验收测试 :2024-03-14, 5d

21.5 类图(Class Diagram)

classDiagram class Animal { +String name +int age +makeSound() void } class Dog { +String breed +fetch() void } class Cat { +String color +purr() void } Animal <|-- Dog Animal <|-- Cat

21.6 状态图(State Diagram)

stateDiagram-v2 [*] --> 待处理 待处理 --> 处理中 : 开始处理 处理中 --> 已完成 : 处理成功 处理中 --> 已失败 : 处理失败 已完成 --> [*] 已失败 --> 待处理 : 重试

21.7 饼图(Pie Chart)

pie title 编程语言使用占比 "JavaScript" : 35 "Python" : 25 "Java" : 15 "Go" : 10 "其他" : 15

21.8 ER 图(Entity Relationship)

erDiagram CUSTOMER ||--o{ ORDER : places CUSTOMER { string name string email int age } ORDER ||--|{ LINE_ITEM : contains ORDER { int orderNumber date created string status } LINE_ITEM { string productName int quantity float price }

21.9 用户旅程图(User Journey)

journey title 用户购物体验 section 浏览商品 打开首页: 5: 用户 搜索商品: 4: 用户 查看详情: 4: 用户 section 下单支付 加入购物车: 5: 用户 填写地址: 3: 用户 完成支付: 3: 用户 section 收货评价 等待发货: 2: 用户 确认收货: 5: 用户 发表评价: 4: 用户

21.10 Git 图(Git Graph)

gitGraph commit commit branch develop checkout develop commit commit checkout main merge develop commit

21.11 思维导图(Mindmap)

mindmap root((中心主题)) 主题A 子主题A1 子主题A2 主题B 子主题B1 子主题B2 主题C 子主题C1 子主题C2

二十二、HTML 内嵌

Markdown 天然支持 HTML 标签,可以在 Markdown 文档中直接使用 HTML

22.1 文本样式

加粗
加粗(语义化)
斜体
斜体(语义化)
下划线
删除线
删除线(语义化)
高亮
下标
上标
插入的文本
键盘文本
小号文本

22.2 键盘按键样式

Ctrl + C 复制

22.3 缩写

HTML 是一种标记语言。

22.4 引用与出处

这是一段引用。

—— 引用来源

22.5 上下标

H2O
X2

22.6 文本对齐

左对齐
居中对齐
右对齐

或:

居中文本

22.7 字体颜色与大小

红色文本
红色文本
红色文本
大号文本
黄色背景文本

22.8 折叠内容(Details / Summary)

点击展开(折叠内容)

这里是折叠的内容,可以包含 Markdown 语法(取决于解析器)。

  • 列表项 1
  • 列表项 2

22.9 表格(HTML 方式)

列 1 列 2
内容 1 内容 2
合并行 内容 3
内容 4

22.10 iframe 嵌入

22.11 视频嵌入

22.12 音频嵌入

22.13 有序/无序列表(HTML 方式)

  1. 有序列表项 1
  2. 有序列表项 2
  • 无序列表项 1
  • 无序列表项 2
  1. 从 5 开始编号
  2. 编号为 6
  1. 项目 1
    • 子项目 1a
    • 子项目 1b

二十三、转义字符

23.1 使用反斜杠转义

以下字符前加 \ 可以转义,使其显示为原文字符:

\ 反斜杠
` 反引号

  • 星号
    _ 下划线
    {} 花括号
    [] 方括号
    () 小括号

    井号

  • 加号
  • 减号(连字符)
    . 点号
    ! 感叹号
    | 管道符

示例:

*这不是斜体*
#这不是标题
[这不是链接]

23.2 HTML 实体

实体 字符 说明
& & & 符号
< < 小于号
> > 大于号
" " 双引号
' ' 单引号
&nbsp; 不换行空格
&mdash; 长破折号
&ndash; 短破折号
&copy; © 版权符号
&reg; ® 注册商标
&trade; 商标符号
&#124; | 管道符
&rarr; 右箭头
&larr; 左箭头
&hellip; 省略号
&bull; 项目符号
&deg; ° 度数符号
&plusmn; ± 正负号
&times; × 乘号
&divide; ÷ 除号
&euro; 欧元符号
&pound; £ 英镑符号
&yen; ¥ 人民币/日元符号
&sect; § 章节符号
&para; 段落符号
&dagger; 剑号
&Dagger; 双剑号
&laquo; « 左书名号
&raquo; » 右书名号

二十四、元数据 / YAML Front Matter

支持:Jekyll、Hugo、Hexo、Gatsby、Docusaurus、Obsidian 等

24.1 基本语法

在文件开头使用 --- 包围的 YAML 块:


title: 文章标题
date: 2024-01-01
author: 作者名
tags:

  • 标签1
  • 标签2
    categories:
  • 分类1
    description: 文章描述
    draft: false

正文开始

这里是文章内容。

24.2 常用 Front Matter 字段

字段 说明 示例
title 标题 title: 我的文章
date 日期 date: 2024-01-01
updated 更新日期 updated: 2024-06-01
author 作者 author: 张三
tags 标签 tags: [JavaScript, React]
categories 分类 categories: 前端开发
description 描述 description: 文章摘要
summary 摘要 summary: 简短描述
slug URL 别名 slug: my-article
url 自定义 URL url: /custom/path
draft 是否草稿 draft: true
layout 布局模板 layout: post
permalink 永久链接 permalink: /2024/01/01/title/
toc 是否显示目录 toc: true
mathjax 是否启用公式 mathjax: true
mermaid 是否启用图表 mermaid: true
comments 是否启用评论 comments: true
cover 封面图片 cover: /images/cover.jpg
aliases 别名(Obsidian) aliases: [别名1, 别名2]
publish 是否发布 publish: false
lang 语言 lang: zh-CN
series 系列 series: React 入门
weight 排序权重 weight: 10
icon 图标 icon: 📝
keywords 关键词 keywords: [MD, 语法]
robots 搜索引擎指令 robots: noindex

24.3 多作者示例

---
title: 协作文章
authors:
  - name: 张三
    url: https://example.com/zhangsan
  - name: 李四
    url: https://example.com/lisi
---

二十五、目录(Table of Contents)

25.1 自动目录(各平台)

平台 语法 说明
GitHub [[_TOC_]] 自动生成目录
GitLab [[_TOC_]]{{< toc >}} 自动生成目录
Hugo {{< toc >}} 短代码
Docusaurus `toctable-of-contents 插件
Obsidian [[toc]] 自动生成目录
VS Code 插件 <!-- TOC --> 由插件生成
Markdown All in One <!-- TOC -->...<!-- /TOC --> 自动维护

25.2 手动目录

手动创建目录链接到各标题的锚点:

目录


二十六、嵌入视频与音频

26.1 YouTube 嵌入

26.2 Bilibili 嵌入

26.3 本地视频

26.4 本地音频

26.5 视频链接卡片(部分平台)

视频标题


二十七、嵌入 iframe

27.1 基本用法

27.2 嵌入 Google 地图

27.3 嵌入 CodePen


二十八、注释 / HTML 注释

28.1 HTML 注释

28.2 用于占位或编辑说明


二十九、锚点与内部跳转

29.1 自动锚点

Markdown 标题会自动生成锚点:

这是标题

跳转到标题

锚点生成规则

原始标题 生成的锚点
## Hello World #hello-world
## Hello-World #hello-world
## Hello_World #hello_world
## 你好世界 #你好世界(部分平台)或被移除
## Hello (World) #hello-world
## Hello & World #hello--world#hello-world
## 1. Introduction #1-introduction

注意:不同平台的锚点生成规则可能不同。

29.2 手动锚点(HTML

跳转到自定义锚点

或:

自定义锚点标题

29.3 属性方式锚点(部分解析器)

标题


三十、Diff 语法

30.1 使用 diff 语言标识

+ 新增的行(绿色)
+ 另一个新增行
- 删除的行(红色)
- 另一个删除行
  未修改的行

30.2 在代码中标注

def greet(name):
-   print("Hello")        # 旧代码
+   print(f"Hello, {name}!")  # 新代码

三十一、Callout / Admonition(提示框)

31.1 Obsidian Callout

[!NOTE]
这是一个提示信息。

[!WARNING]
这是一个警告信息。

[!IMPORTANT]
这是一个重要信息。

[!TIP]
这是一个小贴士。

[!CAUTION]
这是一个注意/小心信息。

[!INFO]
这是一个信息说明。

[!QUOTE]
这是一段引用。

[!EXAMPLE]
这是一个示例。

[!ABSTRACT]
这是一个摘要。

[!SUCCESS]
这是一个成功信息。

[!QUESTION]
这是一个问题。

[!FAILURE]
这是一个失败信息。

[!DANGER]
这是一个危险警告。

[!BUG]
这是一个 Bug 说明。

31.2 可折叠的 Callout

[!NOTE]+ 点击展开
这是可折叠的内容,默认展开。

[!NOTE]- 点击展开
这是可折叠的内容,默认收起。

31.3 嵌套 Callout

[!NOTE]
外层提示

[!WARNING]
内层警告

31.4 自定义标题

[!NOTE] 自定义标题
带有自定义标题的提示框。

31.5 GitHub Admonition(Beta)

[!NOTE]
GitHub 也在逐步支持 Callout 语法。

[!WARNING]
警告信息。

[!TIP]
提示信息。

[!IMPORTANT]
重要信息。

[!CAUTION]
注意信息。

31.6 Docusaurus Admonition

提示信息

小贴士

信息说明

警告信息

危险警告

📝 自定义标题

带自定义标题的提示框


三十二、属性语法(Attribute)

支持:Marxico、Obsidian、部分 Markdown 扩展

32.1 给元素添加 ID 和类

标题

图片{width=300 .custom-class}

链接{target=_blank}

32.2 给链接添加属性

链接{:target="_blank" rel="noopener"}

32.3 给图片添加属性

图片{: width="300" height="200" .border}


三十三、Obsidian 特殊语法

[[笔记名称]]
[[笔记名称|显示文本]]
[[笔记名称#标题]]
[[笔记名称#标题|显示文本]]
[[笔记名称#^块ID]]

33.2 标签(Tag)

标签名

多级/标签

标签-连字符

标签中不能包含空格。

33.3 嵌入(Embed)

![[笔记名称]]
![[图片名.png]]
![[图片名.png|300]]
![[笔记名称#标题]]

33.4 块引用

^块ID

33.5 查询(Dataview 插件)

TABLE file.ctime AS 创建时间
FROM "日记"
SORT file.ctime DESC
LIMIT 10

33.6 内联查询

$= dv.pages("#标签").length 篇笔记


三十四、Docusaurus / MDX 扩展

34.1 提示框(Admonition)

📝 提示标题

提示内容

提示内容

信息内容

警告内容

危险内容

34.2 选项卡

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

这是 Apple 的内容。 这是 Orange 的内容。

34.3 代码块标题

src/components/Hello.js
function Hello() {
  return <div>Hello, World!</div>;
}

34.4 代码块交互

function MyComponent() {
  return <button onClick={() => alert('Hello!')}>Click Me</button>;
}

34.5 可导入的代码

import CodeBlock from '@theme/CodeBlock';
import MyComponentSource from '!!raw-loader!./myComponent';

<CodeBlock title="src/components/myComponent.jsx" showLineNumbers>
  {MyComponentSource}
</CodeBlock>

三十五、GitBook 扩展语法

35.1 提示框

{% hint style="info" %}
信息提示
{% endhint %}

{% hint style="warning" %}
警告提示
{% endhint %}

{% hint style="danger" %}
危险提示
{% endhint %}

{% hint style="success" %}
成功提示
{% endhint %}

35.2 可折叠内容

{% collapsible title="点击展开" %}
折叠的内容
{% endcollapsible %}

35.3 页面嵌入

{% content-ref url="./other-page.md" %}
other-page.md
{% endcontent-ref %}

35.4 API 定义

{% swagger method="get" path="/api/users" baseUrl="https://api.example.com" summary="获取用户列表" %}
{% swagger-parameter type="query" name="page" %}
页码
{% endswagger-parameter %}

{% swagger-response status="200" description="成功响应" %}

{
  "users": []
}
{% endswagger-response %}
{% endswagger %}

三十六、Markdown 编辑器快捷键速查

36.1 通用快捷键

操作 快捷键 效果
加粗 Ctrl + B **文本**
斜体 Ctrl + I *文本*
链接 Ctrl + K [文本](URL)
行内代码 Ctrl + `` `代码`
标题 Ctrl + Shift + H 切换标题级别

36.2 VS Code(Markdown All in One 插件)

操作 快捷键
预览 Ctrl + Shift + V
侧边预览 Ctrl + K V
加粗 Ctrl + B
斜体 Ctrl + I
链接 Ctrl + K
有序列表 Ctrl + Shift + [
无序列表 Ctrl + Shift + ]
标题升级 Ctrl + ]
标题降级 Ctrl + [
目录 Ctrl + MT

36.3 Typora 快捷键

操作 快捷键
加粗 Ctrl + B
斜体 Ctrl + I
下划线 Ctrl + U
删除线 Alt + Shift + 5
行内代码 Ctrl + Shift + ``
代码块 Ctrl + Shift + K
公式块 Ctrl + Shift + M
引用 Ctrl + Shift + Q
链接 Ctrl + K
图片 Ctrl + Shift + I
标题 1~6 Ctrl + 1~6
段落 Ctrl + 0
表格 Ctrl + T
无序列表 Ctrl + Shift + ]
有序列表 Ctrl + Shift + [
任务列表 Ctrl + Shift + X
源码模式 Ctrl + /
聚焦模式 F8
打字机模式 F9
大纲 Ctrl + Shift + 1

三十七、各平台兼容性速查表

功能 GFM CommonMark MultiMarkdown Obsidian Typora Hugo Jekyll
标题
加粗/斜体
无序列表
有序列表
链接
图片
引用
行内代码
代码块
表格
任务列表 ⚠️
删除线 ⚠️
自动链接
脚注 ⚠️
数学公式 ⚠️ ⚠️
高亮 ⚠️ ⚠️
下标/上标 ⚠️ ⚠️
定义列表 ⚠️ ⚠️
缩写 ⚠️ ⚠️
Front Matter
Mermaid ⚠️ ⚠️
Callout ✅(Beta) ⚠️ ⚠️
双链

✅ 原生支持 | ⚠️ 需插件/扩展 | ❌ 不支持


三十八、完整示例

以下是一个综合运用各种 Markdown 语法的完整示例:


title: Markdown 完整示例
date: 2024-01-01
author: 作者
tags: [Markdown, 教程]
description: 一个展示所有 Markdown 语法的完整示例

Markdown 完整示例

Logo

[!NOTE] 关于本文
本文档展示了 Markdown 的各种语法特性。

目录


1. 文本样式

这是一段普通文本,包含 加粗斜体加粗斜体删除线行内代码

还可以组合使用 高亮文本(部分编辑器支持)。

化学式 H2O 和数学公式 X2(部分编辑器支持)。

1.1 链接

行内链接
引用链接

1.2 图片

示例图片


2. 列表

2.1 无序列表

  • 项目 A
    • 子项目 A.1
    • 子项目 A.2
  • 项目 B
  • 项目 C

2.2 有序列表

  1. 第一步
  2. 第二步
    1. 子步骤 2.1
    2. 子步骤 2.2
  3. 第三步

2.3 任务列表

  • 已完成
  • 未完成
  • 另一个未完成

3. 代码

行内代码:const x = 10;

代码块:

// JavaScript 示例
function fibonacci(n) {
  if (n <= 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

console.log(fibonacci(10)); // 55

Diff:

- const old = "旧代码";
+ const new = "新代码";

4. 表格

功能 语法 说明
加粗 **文本** 左对齐
斜体 *文本* 居中
代码 `代码` 右对齐

5. 数学公式

行内公式:\(E = mc^2\)

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

6. 引用

这是一段引用。

嵌套引用。

引用中可以包含 加粗代码


7. Mermaid 图表

graph LR A[开始] --> B{判断} B -->|是| C[执行] B -->|否| D[结束] C --> D

8. 脚注

这是一段带有脚注的文本1,还有另一个脚注4


9. HTML 扩展

点击展开详情

折叠的内容可以包含任何 Markdown 语法。

  • 列表项 1
  • 列表项 2
| 居中表格 | 示例 | |----------|------| | 内容 1 | 内容 2 |

10. 注释


最后更新:2024-01-01

回到顶部


附录 A:Markdown 特殊字符速查

A.1 必须转义的字符

字符 转义写法 常见用途
\ \\ 转义字符
* \* 斜体/加粗/列表
_ \_ 斜体/加粗
# \# 标题
+ \+ 列表
- \- 列表/分隔线
. \. 有序列表
! \! 图片
{ \{ 花括号
} \} 花括号
[ \[ 链接/图片
] \] 链接/图片
( \( 链接
) \) 链接
` | \` 代码
| \| 表格

A.2 特殊排版符号

效果 语法 备注
空行 <br>&nbsp; 强制换行/空行
空格 &nbsp; 不换行空格
省略号 &hellip;
破折号 &mdash;
连接号 &ndash;
项目符号 &bull;

附录 B:Emoji 速查表(常用)

B.1 表情与手势

Emoji 代码 说明
😀 :grinning: 咧嘴笑
😃 :smiley: 笑脸
😄 :smile: 微笑
😁 :grin: 露齿笑
😆 :laughing: 大笑
😊 :blush: 脸红
😎 :sunglasses: 戴墨镜
😍 :heart_eyes: 花痴
🤔 :thinking: 思考
😴 :sleeping: 睡觉
👍 :+1:
👎 :-1:
👌 :ok_hand: OK
👏 :clap: 鼓掌
🙏 :pray: 合十
💪 :muscle: 肌肉
🤝 :handshake: 握手
✌️ :v:
🖖 :vulcan_salute: 瓦肯举手礼

B.2 物品与符号

Emoji 代码 说明
🚀 :rocket: 火箭
🔥 :fire:
:star:
💡 :bulb: 灯泡
📌 :pushpin: 图钉
📝 :memo: 备忘录
:white_check_mark: 对勾
:x: 叉号
⚠️ :warning: 警告
🔗 :link: 链接
🔒 :lock:
🔑 :key: 钥匙
🎯 :dart: 飞镖
🏆 :trophy: 奖杯
💎 :gem: 宝石
🎁 :gift: 礼物
📊 :bar_chart: 图表
💻 :computer: 电脑
📱 :iphone: 手机
⚙️ :gear: 齿轮
🔧 :wrench: 扳手
🐛 :bug: 虫子
🎉 :tada: 庆祝

B.3 自然与天气

Emoji 代码 说明
☀️ :sunny: 晴天
🌧️ :rain: 下雨
❄️ :snowflake: 雪花
🌈 :rainbow: 彩虹
🌍 :earth_africa: 地球
🌙 :moon: 月亮
🌸 :cherry_blossom: 樱花
🍀 :four_leaf_clover: 四叶草

附录 C:LaTeX 数学符号速查

C.1 希腊字母

小写 语法 大写 语法
α \alpha A A
β \beta B B
γ \gamma Γ \Gamma
δ \delta Δ \Delta
ε \epsilon E E
ζ \zeta Z Z
η \eta H H
θ \theta Θ \Theta
ι \iota I I
κ \kappa K K
λ \lambda Λ \Lambda
μ \mu M M
ν \nu N N
ξ \xi Ξ \Xi
π \pi Π \Pi
ρ \rho P P
σ \sigma Σ \Sigma
τ \tau T T
φ \phi Φ \Phi
χ \chi X X
ψ \psi Ψ \Psi
ω \omega Ω \Omega

C.2 运算符

符号 语法 说明
+ +
-
× \times
÷ \div
± \pm 正负
\mp 负正
· \cdot 点乘
\circ 圆圈运算
\oplus 直和
\otimes 张量积

C.3 关系符

符号 语法 说明
= = 等于
\neq 不等于
< < 小于
> > 大于
\leq 小于等于
\geq 大于等于
\approx 约等于
\equiv 恒等于
\sim 相似
\propto 正比于
\in 属于
\notin 不属于
\subset 真子集
\supset 真超集
\subseteq 子集
\supseteq 超集
\cup 并集
\cap 交集
\emptyset 空集
\forall 任意
\exists 存在

C.4 箭头

符号 语法 说明
\leftarrow 左箭头
\rightarrow 右箭头
\leftrightarrow 左右箭头
\Leftarrow 双线左箭头
\Rightarrow 双线右箭头
\Leftrightarrow 双线左右箭头
\uparrow 上箭头
\downarrow 下箭头
\mapsto 映射到
\longrightarrow 长右箭头

C.5 求和/积分/极限

符号 语法 说明
\sum 求和
\prod 求积
\int 积分
\iint 二重积分
\iiint 三重积分
\oint 曲线积分
\partial 偏导数
\infty 无穷
lim \lim 极限
lim sup \limsup 上极限
lim inf \liminf 下极限

C.6 函数

符号 语法
sin \sin
cos \cos
tan \tan
log \log
ln \ln
exp \exp
max \max
min \min
sup \sup
inf \inf
det \det
dim \dim
gcd \gcd
arg \arg

C.7 其他符号

符号 语法 说明
\sqrt{x} 根号
√[n]{x} \sqrt[n]{x} n 次根号
\ldots 底部省略号
\cdots 中部省略号
\vdots 垂直省略号
\ddots 对角省略号
\hbar 约化普朗克常数
\ell 手写体 l
\Re 实部
\Im 虚部
\aleph 阿列夫
\nabla 梯度算子

C.8 格式化

语法 效果 说明
\frac{a}{b} a/b 分数
\sqrt{x} √x 根号
\overline{x} 上划线
\underline{x} 下划线
\hat{x} 帽子
\vec{x} x⃗ 向量箭头
\dot{x} 一阶导数点
\ddot{x} 二阶导数点
\tilde{x} 波浪号
\bar{x} 横线
\widehat{xy} x̂ŷ 宽帽子
\widetilde{xy} x̃ỹ 宽波浪号
\overset{a}{b} b 上方放 a 上方叠加
\underset{a}{b} b 下方放 a 下方叠加
\binom{n}{k} C(n,k) 二项式系数

附录 D:Mermaid 图表类型速查

D.1 支持的图表类型

关键字 图表类型 版本
graph / flowchart 流程图 所有版本
sequenceDiagram 时序图 所有版本
classDiagram 类图 所有版本
stateDiagram / stateDiagram-v2 状态图 所有版本
erDiagram ER 图 8.x+
gantt 甘特图 所有版本
pie 饼图 8.x+
journey 用户旅程图 8.x+
gitGraph Git 图 9.x+
mindmap 思维导图 9.x+
timeline 时间线 9.x+
quadrantChart 象限图 9.x+
requirementDiagram 需求图 9.x+
C4Context / C4Container / C4Deployment C4 架构图 9.x+
sankey 桑基图 10.x+
block 块图 10.x+
xychart XY 图表 10.x+

D.2 甘特图状态关键字

关键字 说明
active 当前活跃
done 已完成
crit 关键路径

D.3 流程图方向关键字

关键字 说明
TB Top → Bottom(上到下)
TD Top → Down(上到下)
BT Bottom → Top(下到上)
LR Left → Right(左到右)
RL Right → Left(右到左)

D.4 时序图激活/停用

sequenceDiagram participant A participant B A->>B: 请求 activate B B-->>A: 响应 deactivate B

简写方式:

sequenceDiagram A->>+B: 请求(激活 B) B-->>-A: 响应(停用 B)

D.5 时序图循环/条件/并行

sequenceDiagram loop 每分钟 A->>B: 心跳检测 end alt 成功 B-->>A: 响应成功 else 失败 B-->>A: 响应失败 end par 并行操作 A->>C: 操作1 and A->>D: 操作2 end

变更日志

版本 日期 作者 变更内容
v1.0 2026-05-26 Cline 初始版本,包含完整 Markdown 语法大全

提示:本文档力求最全面,但 Markdown 语法在不同平台和编辑器中可能存在差异。如需特定平台的支持细节,请查阅对应平台的官方文档。


  1. 这是第一个脚注。 

  2. 这是第二个脚注的内容。脚注可以很长,
    续行需要缩进。 

  3. 命名脚注的内容。 

  4. 这是一个命名脚注。