Markdown 常见扩展语法
基础语法(CommonMark)足以应付大多数日常写作,但表格、删除线、任务列表这些高频需求它并没有规定——这就是扩展语法的用武之地。
扩展语法不是标准
本节所有语法都不在 CommonMark 规范内,各家支持情况不一。它们主要来自 GFM(GitHub Flavored Markdown)、markdown-it 插件与 VitePress 自带扩展。
本站都支持,但复制到别的平台(公众号、WPS、另一套博客)前请先在目标环境确认。投稿给本站时,请以本篇和本站特有的 Markdown 语法列出的写法为准。
表格
用管道 | 分隔列,第二行用 - 分隔表头与表体(- 至少三个,但写一个也能工作):
| 语法 | 说明 |
| --- | --- |
| `*斜体*` | 行内强调 |
| `**粗体**` | 更强的强调 || 语法 | 说明 |
|---|---|
*斜体* | 行内强调 |
**粗体** | 更强的强调 |
对齐
在第二行的 - 两侧加冒号控制列对齐::--- 左对齐、:---: 居中、---: 右对齐。
| 左对齐 | 居中 | 右对齐 |
| :--- | :---: | ---: |
| 甲 | 乙 | 丙 |
| 长一点的内容 | 内容 | 123 || 左对齐 | 居中 | 右对齐 |
|---|---|---|
| 甲 | 乙 | 丙 |
| 长一点的内容 | 内容 | 123 |
写表格的几条经验
- 首尾的
|可以省略,但写上更清晰、也更容易增删列; - 表格里要显示
|字符本身,得转义成\|; - 单元格内不能用多行,需要换行时用
<br>; - 表格是「块级」的,前后要留空行。
删除线
用两个波浪号包围,适合标注已过时或已更正的内容:
| Markdown | HTML | 渲染效果 |
|---|---|---|
~~文字~~ | <s>文字</s> |
任务列表
在列表项标记后加 [x](已完成)或 [ ](未完成):
- [x] 已完成的项
- [ ] 未完成的项
- [ ] 待办第三项勾选框不可交互
本站的任务列表仅作展示,读者点击勾选不会保存——文章是静态内容,没有后端存储。需要收集填写结果请用表单类工具。
脚注
脚注用来补充说明,正文里放一个上标编号,注释内容自动排到文末,不打断阅读节奏。
正文里写 [^标识符],文档任意位置(通常放在该段之后或文末)写 [^标识符]: 注释内容:
南开大学始建于 1919 年[^founded],由严修、张伯苓创办。
[^founded]: 1919 年建校,初设文、理、商三科。标识符可以是数字或单词,不能含空格或制表符;它只用于把引用和注释对应起来,页面上的编号按出现顺序自动生成。注释里也能放多段落和代码块,只要缩进对齐即可:
[^bignote]: 第一段注释。
缩进四空格,作为注释的第二段。
`{ my code }`标题编号
给标题加大括号包起来的自定义 ID,可精确控制锚点:
### 马克思主义学院 {#marxism}HTML 为 <h3 id="marxism">马克思主义学院</h3>,随后可用 [马克思主义学院](#marxism) 跳到这一节。
本站所有标题都会自动生成 ID(取标题文字本身),日常用不到手写;只有标题文字过于简单、容易和别的标题撞车时才需要指定。
Emoji
直接粘贴 emoji 字符,或输入「冒号 + 名称」的短码:
去露营了!:tent: 很快回来。去露营了!⛺ 很快回来。
表情很全的中文站点推荐 emojiall。
短码因应用而异
短码表没有统一标准(:tent: 在 GitHub 与本站可用,在另一些编辑器里不认)。要保证到处都能显示,直接粘贴 emoji 字符更稳妥。
高亮
用两个等号包围:
| Markdown | HTML | 渲染效果 |
|---|---|---|
==文字== | <mark>文字</mark> | 文字 |
这是各家实现里「一半支持、一半不支持」的典型。本站与 Typora 等编辑器支持,GitHub 的 Markdown 则不支持(会原样显示 ==)。
本站的高亮称作「马克笔」,还支持配色后缀 {.tip} / {.caution} / {.warning},并与加粗共用同一条色带,详见本站特有的 Markdown 语法。
自动链接
很多处理器会把裸网址直接变成链接,本站也会:
https://www.nankai.edu.cn/这属于 GFM 扩展,不属于 CommonMark,换平台可能不生效。要万无一失,请改用基础语法里的尖括号写法 <https://…>;反过来,不想让它变成链接时,用反引号包起来即可:`https://www.nankai.edu.cn/`。
数学公式
本站已启用 KaTeX。行内公式用一对 $ 包围,独立成段的公式用两对:
当 $a \ne 0$ 时,方程 $ax^2 + bx + c = 0$ 有两个实数解。
$$ x = {-b \pm \sqrt{b^2-4ac} \over 2a} $$当
要显示美元符号本身而不触发公式,用反斜杠转义(\$)或放进行内代码。需要上标、下标的场合(幂运算、化学式等)也用公式表达:
提示容器
VitePress 内置的提示容器,适合写注意事项、补充说明。容器标记与内容之间要空一行:
::: tip 小技巧
这里是提示内容。
:::小技巧
这里是提示内容。
可用类型:tip(绿)/ info(灰)/ note(灰)/ warning(橙)/ danger(红)/ caution / important。本站还扩展了步骤条与时间线两种容器,见本站特有的 Markdown 语法。
兼容性速览
| 语法 | 出处 | GitHub | 本站 | 备注 |
|---|---|---|---|---|
| 表格 | GFM | ✅ | ✅ | 最通用的扩展 |
| 删除线 | GFM | ✅ | ✅ | ~~文字~~ |
| 任务列表 | GFM | ✅ | ✅ | 仅展示,不可交互 |
| 自动链接 | GFM | ✅ | ✅ | 裸网址变链接 |
| 脚注 | GFM 扩展 | ✅ | ✅ | 自动排到文末 |
| Emoji 短码 | GitHub | ✅ | ✅ | 短码表不统一 |
| 标题编号 | markdown-it | ❌ | ✅ | {#id} |
| 高亮 | markdown-it | ❌ | ✅ | ==文字== |
| 数学公式 | KaTeX | ✅ | ✅ | $…$ |
| 提示容器 | VitePress | ❌ | ✅ | ::: tip |
「出处」列写的是该语法最流行的来源,不等于只有它支持。判断某平台支不支持,最快的办法是贴进去预览一眼。
评论