虽然 Markdown 扩展语法不在 CommonMark Spec 标准中,但许多 Markdown 编辑器也都尽量支持,因此学习一些常用的 Markdown 扩展语法也是有必要的。本文介绍的主要是 GitHub Flavored Markdown,也就是 GitHub 风格的 Markdown 扩展语法。
删除线
使用两个飘号 ~~
包裹需要表示删除的文字。
下划线
由于 Markdown 和 HTML 的暧昧关系,因此在 Markdown 中,下划线可以通过 <u> </u>
标签来实现。
上标与下标
上标使用 ^
包裹
下标使用 ~
包裹
高亮
用两个等号 ==
包裹表示高亮
锚点
锚点的作用是标记文档中的特定位置,使用锚点可以跳转到当前文档或其他文档中指定的标记位置(可以理解为相对链接)。锚点常见于目录链接,因此有时候也称其为书签。锚点的语法格式如下:
语法说明:
- 锚点名不能含有空格;
- 锚点名不能含有特殊字符;
- 锚点名是区分大小写英文字母的;
- 锚点名建议使用字母和数字,也可以使用中文,不过要留意你所使用的编辑器或部署的网站是否支持。
示例:
在 Chapter1.md 文档中,创建 Section1 和 Section2 标题
表格
表格的处理在 Markdown 中是比较有争议的,但大多数都遵循下面这种简单的表格标记语法:
语法说明:
- 单元格使用竖线
|
进行分隔; - 表头与内容行使用短横线
---
分隔; - 默认左对齐,可以在短横线在左侧或右侧添加冒号
:
来调整对齐方式,比如:
- 左对齐
:---
- 右对齐
---:
- 居中对齐
:---:
待办事项
待办事项也就是 Check Box,在 Markdown 扩展语法中的格式如下:
语法说明:
- 方括号内填充小写字母 x 表示选中,填充空格表示未选中;
- 方括号外面两边的空格是必须的。
数学区块
Markdown 扩展语法支持 LaTeX 数学表达式,使用 $
符包裹 LaTeX 表达式即可。与代码块类似,数学表达式也分为“行内”和“块”两种。
行内数学表达式:
数学表达式块:
语法说明:
- 行内表达式使用一个
$
包裹; - 块表达式使用两个
$$
包裹。
LaTex 表达式比较复杂,后面会专门用一个篇幅来介绍。
表情符号
Markdown 是支持 Emoji 表情的,格式是使用冒号 :
包裹表情代码。
示例:
表情的使用关键在于要知道支持哪些表情代码,后面也会专门用一个篇幅来介绍这个有趣的话题。
目录
Markdown 的标题本身可以作为目录,但是如果想在为当前文章增加目录,可以使用 [TOC]
自动生成目录。
注脚
注脚(也称为脚注,英文 footnote)用于为正文条目补充注解,常见于论文引用资料来源的说明。在 Markdown 中注脚的写法与 上一节 讲的参考式链接类似,格式如下:
示例:
YAML 头信息
如果你使用过 Hexo、Jekyll、Sphinx 等静态网站生成工具写博客或制作在线文档,你就会看到 Markdown 文档的头部有一些信息,这个头部信息就是 YAML 头信息。它的作用是描述该文档的信息,不会显示出来,类似于 HTML 的 <head> </head>
包裹的头部信息。
YAML 头信息必须放在文件的开始位置,并且需要按照 YAML 的格式写在两行三虚线 ---
之间。
比如你现在看到的这篇文章的 YAML 头信息是这样的:
YAML 头信息的字段与你所使用的工具有关,具体的字段需要结合相关的工具来填写。后面我们讲博客和在线文档搭建的时候会详细介绍,现在你只要知道有这个东西就可以了~
图表
Markdown 扩展语法支持图表,但不同工具对图表的支持和兼容差别较大,后面会安排专门的章节来展开描述。
关于 Markdown 扩展语法的介绍就先到这里啦,别忘了把上述示例复制到你的 Markdown 编辑器中看看效果哦。