Markdown 快速入门下(扩展语法篇)
1. 简介
在Markdown创世人 John Gruber最初设计文档中的基础语法基本可以满足一般日常文档编写,比如非专业技术性文章。但对文档内容形式有特殊需求的,基础语法还是不够的,扩展语法由此应运而生。
对于扩展语法的贡献主要是一些个人和组织,扩展的语法包括但不限于表格、代码块、高亮、URL 自动连接、脚注等。
需要注意的并不是所有的Markdown应用软件都支持高级的扩展语法,当你需要使用扩展语法时,请务必检查使用的工具是否支持。
2. 扩展语法
这里只涉及一些比较常用的语法,更多的扩展语法可以查看所使用的Markdown编辑软件的帮助文档。
一、高亮、上标、下表、公式
在Typora 中需要手动在preference->Markdown->syntax support 中选中(重启生效), CSDN 似乎不支持,话不多说直接上图。
二、表格
-
基本语法 Markdown使用三个或更多的中划线(---)来标识表格每一列的标题,并用竖线(|)来分隔列。 纯文本形式的每一格的宽度并不需要相等,这极大的方便了表格的创建和编辑,只需要在每一格(| |)中自由编辑就能达到形式一致的格式。
-
示例 | 课程 | 学科 | 成绩| | --- | --- |---| | 物理 | 理学 | 95| | 计算机 | 工学 |96|
-
效果
| 课程 | 学科 | 成绩 |
|---|---|---|
| 物理 | 理学 | 95 |
| 计算机 | 工学 | 96 |
-
对齐 Markdown 支持三种对齐方式,分别是左对齐、右对齐、居中。可以在分隔标题那一栏的左边、右边或者两侧加上冒号(:)来标注。
-
示例 | 课程 | 学科 | 成绩| | :--- | ---: |:---:| | 物理 | 理学 | 95| | 计算机 | 工学 |96|
-
效果
| 课程 | 学科 | 成绩 |
|---|---|---|
| 物理 | 理学 | 95 |
| 计算机 | 工学 | 96 |
-
表格格式化及其限制 Markdown支持在表格中的嵌套格式化,比如表格中可以标注超链接、代码块、加粗等。 但是像跳转、引用、列表、图片等是不支持的。
三、用特殊符号隔离的代码块
在Markdown基础语法中我们可以使用缩进四个空格或者一个Tab来标注代码块。扩展语法中则更方便地支持在代码前后分别加三个反引号(```)或者波浪线(~)来标注。
-
语法高亮 可以在反引号或者波浪线后面指定语言来标注
-
示例 ```c void bubbleSort(int arr[], int len) { for (int i = 0; i < len - 1; ++i) { for (int j = i + 1; j <= len - 1; ++j) { if (arr[i] < arr[j]) { Swap(&arr[i], &arr[j]); } } } } \ ```
-
效果
-
void bubbleSort(int arr[], int len)
{
for (int i = 0; i < len - 1; ++i)
{
for (int j = i + 1; j <= len - 1; ++j)
{
if (arr[i] < arr[j])
{
Swap(&arr[i], &arr[j]);
}
}
}
}
四、删除线
删除线比较简单,可以在内容的前后分别加上两个波浪线(~ ~)来标注。
-
示例 ~~The world is flat.~~ We now know that the world is round.
-
效果 The world is flat. We now know that the world is round.
五、任务列表
任务列表形式简单,内容表达简洁干练。Markdown用-[]来创建列表,并且用x来表示选中,反之不选。
-
示例 - [x] Write the press release -[] Update the website - [ x] Contact the media
-
效果 (CSDN不支持,直接上图)
-
六、Emoji
Emoji 是个比较有可玩性的表情包,就像在wechat中的一样,markdown 扩展语法也支持这一有趣的属性,使用方法是在一堆冒号中间输入Emoji的名称,
-
示例 \:smile\: \:scream\:
-
效果 \???? \????
更多的Emoji名字可以在如下连接中找到,本文没有全部验证过这些名字,不过应该是个通用库。 https://www.webfx.com/tools/emoji-cheat-sheet/
七、URL自动连接
-
许多的Markdown编辑软件会自动将URLs转换为超连接,当时你使用这样的编辑器时,即使没有主动使用标准语法中的超连接语法,同样可以得到一个URL的超链接形式。
-
示例
http://www.example.com
-
如果不想自动转换为超链接形式,可以在网址前后用反引号标注
-
效果
http://www.example.com