三股水
Markdown 语法完全指南(最全整理)
本文从 Obsidian 撰写发布

Markdown 语法完全指南(最全整理)

本指南涵盖所有标准 Markdown 语法、GFM(GitHub Flavored Markdown)扩展、常用技巧及注意事项。

1. 基础语法

1.1 标题

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

注意# 后需加空格,最多六级。也可用 =(一级)和 -(二级)表示:

一级标题
========
二级标题
--------

1.2 段落与换行

这是一个段落。段落由空行分隔。

这是第二段。
行尾加两个空格  
实现换行(软换行)。

或者使用空行实现新段落。

注意:连续两个空格+回车 = 换行;空行 = 新段落。


1.3 强调

*斜体* 或 _斜体_
**加粗** 或 __加粗__
***加粗斜体*** 或 ___加粗斜体___
~~删除线~~
<u>下划线(HTML标签)</u>

注意:嵌套时需注意符号匹配,推荐使用 ***


1.4 列表

无序列表

- 项目1
- 项目2
  - 子项目2.1
  - 子项目2.2
* 项目3(使用*)
+ 项目4(使用+)

有序列表

1. 第一项
2. 第二项
   3. 子项2.1
   4. 子项2.2
5. 第三项

注意:有序列表数字不必连续,但建议保持规范。列表项之间用空行可产生更宽松间距。

任务列表(GFM)

- [ ] 未完成
- [x] 已完成

1.5 引用

> 单层引用
> 继续引用

>> 嵌套引用

> 引用中可包含其他语法:
> - 列表
> **加粗**

注意> 后可加空格,需在每行开头。


1.6 代码

行内代码

使用 `code` 表示行内代码。

缩进式代码块

    缩进4个空格或1个Tab
    这是代码块

围栏式代码块(GFM,推荐)

print("Hello, World!")

console.log("Hello");

echo "Hello"

注意:围栏式可指定语法高亮语言。


1.7 分割线

---
***
___

注意:至少三个符号,前后需有空行避免与标题冲突。


1.8 链接

行内链接

[链接文本](https://example.com "可选标题")

参考式链接

[链接文本][引用标识]

[引用标识]: https://example.com "可选标题"

自动链接

<https://example.com>
<email@example.com>

相对路径

[关于](/about/)
[文件](./file.md)

1.9 图片

![替代文本](图片URL "可选标题")

![本地图片](./image.png)

![网络图片](https://example.com/image.jpg)

![带引用的图片][图片引用]
[图片引用]: ./image.png "标题"

注意:图片语法与链接类似,前加 !


1.10 转义字符

\* 显示星号
\_ 显示下划线
\# 显示井号
\[ \] \{ \} \( \)
\` 显示反引号
\. 显示点号
\! 显示感叹号
\- 显示减号
\+ 显示加号
\\ 显示反斜杠本身

2. GFM 扩展语法

2.1 表格

| 左对齐 | 居中对齐 | 右对齐 |
| :--- | :---: | ---: |
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |

注意:冒号位置决定对齐方式,表头与内容间必须有分隔线。


2.2 脚注

这是带脚注的句子[^1]。

[^1]: 这是脚注内容。

注意:脚注标识可以是数字或单词。


2.3 删除线

~~删除线~~

2.4 自动URL链接

直接输入链接:https://example.com 会自动识别。

注意:某些解析器需要加 <> 才自动链接。


2.5 Emoji(GFM)

:smile: :heart: :rocket: :+1:

注意:GitHub 支持完整 Emoji 短代码。


2.6 高亮(部分扩展)

==高亮文本==(非标准,需解析器支持)

2.7 下标/上标(部分扩展)

H~2~O(下标)
X^2^(上标)

3. 高级与扩展语法

3.1 定义列表(部分扩展)

术语
: 定义内容

术语2
: 定义2
: 另一个定义

3.2 缩写(部分扩展)

*[HTML]: Hyper Text Markup Language
*[CSS]: Cascading Style Sheets

我们使用HTML和CSS构建网页。

3.3 图表与流程图(Mermaid)

graph TD;

A-->B;
A-->C;

3.4 数学公式(KaTeX / MathJax)

行内:$E=mc^2$

块级:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

3.5 警告/提示框(部分平台)

> [!NOTE]
> 这是一个提示。

> [!WARNING]
> 警告信息。

> [!IMPORTANT]
> 重要信息。

3.6 HTML 标签支持

<span style="color:red">红色文字</span>
<div align="center">居中内容</div>
<br> 换行
<kbd>Ctrl</kbd> + <kbd>C</kbd>

注意:大多数 Markdown 解析器允许行内 HTML。


4. 特殊用法与技巧

4.1 嵌套与混合

> 引用中的列表:
> - 项目1
> - 项目2
>   > 嵌套引用

- 列表中的代码块:

print("Hello")


1. 有序列表中的表格:
 | 列1 | 列2 |
 | --- | --- |
 | a   | b   |

4.2 列表中的段落与多行内容

- 第一项

  这是第一项的后续段落(缩进4空格或1Tab)。

- 第二项

4.3 避免列表自动识别

2022\. 以数字开头加反斜杠避免被识别为有序列表。
\- 以减号加反斜杠避免被识别为无序列表。

4.4 锚点跳转

[跳转到标题](#标题名称)

注意:标题名称需转为小写,空格转 -,特殊字符去除。


4.5 图片大小控制(HTML方式)

<img src="image.png" width="300" height="200" alt="描述">

4.6 注释/隐藏内容

<!-- 这是HTML注释,在大多数Markdown解析器中不可见 -->

5. 最佳实践与注意事项

5.1 通用注意事项

  1. 空格与空行:多数符号后需空格(如 # - > ),空行用于分段。
  2. 特殊字符转义:避免与语法冲突时使用 \ 转义。
  3. 不要混用不同符号:如列表使用 - 就统一,避免混用 * +
  4. 代码块语言标识:尽量指定,便于语法高亮。
  5. 链接文本与URL:尽量简洁明了,URL可加标题。
  6. 图片替代文本:务必填写,便于可访问性。
  7. 表格格式:保持列对齐,便于阅读和编辑。
  8. 避免过度嵌套:嵌套过深可能导致解析错误。
  9. 跨平台兼容性:非标准语法可能不被所有解析器支持。
  10. 缩进一致性:使用空格或Tab,推荐统一使用4空格缩进。

5.2 编辑器推荐

  • Typora:实时预览,支持GFM及扩展。
  • Obsidian:支持双向链接、图谱、丰富扩展。
  • VS Code:安装 Markdown All in One 插件。
  • 在线工具Markdown Live PreviewStackEdit
  • 格式转换:Pandoc 可转 PDF、Word、HTML 等。

5.3 常见问题

  • 换行无效:检查是否行尾有两个空格或使用空行。
  • 列表错乱:检查缩进是否统一,是否有空行干扰。
  • 代码块不生效:检查围栏 ` 是否独立成行。
  • 表格不渲染:检查表头分隔线 --- 是否存在。
  • 链接跳转失败:锚点名称是否与标题匹配。
  • 图片不显示:检查路径是否正确,URL是否有效。

6. 速查表(简要版)

# 标题1         ## 标题2        ### 标题3
**加粗**        *斜体*          ***加粗斜体***
~~删除线~~      `行内代码`      --- 分割线
- 无序列表      1. 有序列表     - [ ] 任务列表
> 引用          [链接](url)     ![图片](url)
| 表格 | 列2 |   :---: 居中对齐
```代码块```    ^[脚注]         :emoji:

7. 结束语

本指南涵盖了标准 Markdown、GFM 以及主流扩展语法。实际使用中请根据解析器支持情况灵活选择。建议保存此文档为 markdown-cheatsheet.md,以便随时查阅。

😊
提交