项目

Markdown 扩展语法

概览

原始 Markdown 设计文档中概述的基本语法已经囊括了许多日常所需的元素,但对于一些人来说还不够。这就是扩展语法的用武之地。

一些个人和组织自行承担起扩展基本语法的任务,通过增加如表格、代码块、语法高亮、URL 自动链接和脚注等额外元素。这些元素可以通过使用建立在基本 Markdown 语法之上的轻量级标记语言来启用,或者在兼容的 Markdown 处理器中添加扩展来实现。

可用性

并非所有 Markdown 应用程序都支持扩展语法元素。您需要检查您的应用程序所使用的轻量级标记语言是否支持您想使用的扩展语法元素。如果不支持,仍可能通过在 Markdown 处理器中启用扩展来实现。

轻量级标记语言

有几种轻量级标记语言是 Markdown 的超集。它们包含了基本语法,并通过增加表格、代码块、语法高亮、URL 自动链接和脚注等额外元素进行了扩展。许多最受欢迎的 Markdown 应用程序采用了以下轻量级标记语言之一:

  • CommonMark
  • GitHub 风格 Markdown(GFM)
  • Markdown Extra
  • MultiMarkdown
  • R Markdown

Markdown 处理器

市面上有数十种 Markdown 处理器可供选择。其中许多允许您添加扩展以启用扩展语法元素。请查阅您的处理器文档以获取更多信息。

表格

要添加一个表格,使用三个或更多的连字符(---)来创建每列的标题,并使用竖线(|)来分隔每一列。为了确保兼容性,您还应该在行的开始和结束处各添加一个竖线。

| 语法 | 描述     |
| ---- | -------- |
| 标题 | 标题文本 |
| 段落 | 正文文本 |

渲染后的输出看起来像这样:

语法 描述
标题 标题文本
段落 正文文本

单元格的宽度可以不同,如下所示。渲染后的输出外观将保持一致。

| 语法 | 描述     |
| ---- | -------- |
| 标题 | 标题文本 |
| 段落 | 正文文本 |

提示:使用连字符和竖线创建表格可能会很繁琐。为了加快这一过程,可以尝试使用 Markdown Tables Generator 或 AnyWayData Markdown Export 等工具。通过图形界面构建表格后,将生成的 Markdown 格式文本复制到您的文件中。

对齐方式

您可以通过在表头行的破折号两边添加冒号(:)来使列中的文本左对齐、右对齐或居中对齐。

| 语法 |   描述   |   测试文本 |
| :--- | :------: | ---------: |
| 标题 | 标题文本 | 这里是这个 |
| 段落 |   文本   |   还有更多 |

渲染后的输出如下所示:

语法 描述 测试文本
标题 标题文本 这里是这个
段落 文本 还有更多

表格中文本格式化

您可以在表格中格式化文本。例如,您可以添加链接、代码(使用反引号(`)包裹的单词或短语,而不是代码块)以及强调格式。

但不能使用标题、区块引用、列表、水平线、图片或大多数 HTML 标签。

提示:您可以使用 HTML 来在单元格中创建换行和添加列表。

在表格中转义竖线字符

您可以通过使用其 HTML 字符编码(|)在表格中显示竖线(|)字符。

代码块

基础 Markdown 语法允许您通过缩进四空格或一个制表符来创建代码块。如果您觉得这样做不方便,可以尝试使用围栏式代码块。根据您的 Markdown 处理器或编辑器,您将在代码块前后使用三个反引号(```)或三个波浪线(~~~)。最棒的是?您不需要缩进任何行!

```
{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25
}
```

渲染结果看起来像这样:

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}

提示:需要在代码块中显示反引号?请 参阅此部分 学习如何转义它们。

语法高亮

许多 Markdown 处理器支持对围栏式代码块进行语法高亮。此功能允许您为所编写的代码语言添加颜色高亮。要添加语法高亮,请在围栏式代码块前的反引号旁边指定一种语言。

```json
{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25
}
```

渲染后的输出看起来像这样:

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}

脚注

脚注使您能够在不增加文档正文杂乱的情况下添加注释和参考内容。创建脚注时,会在插入脚注引用的位置出现一个上标数字和链接。读者可以点击该链接跳转到页面底部脚注内容处。

要创建脚注引用,需在方括号内添加一个脱字号和一个标识符([^1])。标识符可以是数字或单词,但不能包含空格或制表符。标识符仅用于关联脚注引用和脚注本身——在输出中,脚注会按顺序编号。

通过在另一个方括号内添加脱字号、数字、冒号以及文本来添加脚注内容([^1]: 我的脚注。)。脚注不必放在文档末尾。您可以将其放置在除列表、区块引用和表格等其他元素之外的任何位置。

下面是一个简单的脚注,[^1] 这里还有一个较长的脚注。[^bignote]

[^1]: 这是第一个脚注。
[^bignote]: 这里有一个包含多段落和代码的脚注。缩进段落以将它们包含在脚注中。 `{ 我的代码 }` 您可以随意添加多个段落。

渲染后的输出如下所示:

这里有一个简单的脚注 ^11,以及一个更长的脚注。^bignote 2

{ 我的代码 }

继续添加您喜欢的段落。

标题 ID

许多 Markdown 处理器支持为标题自定义 ID——有些 Markdown 处理器会自动添加它们。添加自定义 ID 使得您可以直接链接到标题,并通过 CSS 修改它们的样式。要添加自定义标题 ID,需在同一行标题后紧接使用花括号包围自定义 ID。

### 我的优秀标题 {#custom-id}

生成的 HTML 代码如下所示:

<h2 id="custom-id">我的优秀标题</h2>

链接到标题 ID

您可以通过创建带有井号(#)的标准链接,后面跟随自定义标题 ID,以此链接到文件中具有自定义 ID 的标题。这些通常被称为 锚点链接

Markdown HTML 渲染后的输出
[标题 IDs](BasicSyntax#标题) [标题IDs](/docs/zh-Hans/md-docs/master/#heading-ids) 标题 IDs

其他网站可以通过在网页的完整 URL 后加上自定义标题 ID 来链接到该标题(例如,[标题IDs](https://www.koudingke.cn/docs/zh-Hans/md-docs/latest/BasicSyntax#%E6%A0%87%E9%A2%98))。这样用户点击链接时,会直接跳转到该标题所在位置。

定义列表

一些 Markdown 处理器允许您创建 定义列表,列出术语及其相应的定义。要创建定义列表,请在第一行键入术语。在下一行,键入一个冒号后跟一个空格,然后是定义。

第一项
: 这是第一项的定义。
第二项
: 这是第二项的一个定义。
: 这是第二项的另一个定义。

生成的 HTML 代码如下所示:

<dl>
  <dt>第一项</dt>
  <dd>这是第一项的定义。</dd>
  <dt>第二项</dt>
  <dd>这是第二项的一个定义。</dd>
  <dd>这是第二项的另一个定义。</dd>
</dl>

渲染后的输出看起来像这样:

第一项
这是第一项的定义。
第二项
这是第二项的一个定义。
这是第二项的另一个定义。

删除线

您可以通过在单词中间添加横线来实现删除线效果。结果显示为:像这样。此功能允许您标示某些词语是错误的,不应包含在文档中。要给文字添加删除线,请在单词前后使用两个波浪线符号(~~)。

~~世界是平的。~~ 我们现在知道世界是圆的。

渲染后的输出看起来像这样: 世界是平的。 我们现在知道世界是圆的。

任务列表

任务列表(也称为检查表待办事项列表)使您能够创建带有复选框的项目列表。在支持任务列表的 Markdown 应用中,复选框会显示在内容旁边。要创建任务列表,请在任务列表项前添加破折号(-)和带空格的方括号([ ])。要选择复选框,请在方括号之间添加一个x[x])。

- [x] 撰写新闻稿
- [ ] 更新网站
- [ ] 联系媒体

渲染后的输出看起来像这样:

Markdown 任务列表

表情符号(Emoji)

在 Markdown 文件中添加表情符号有两种方法:复制粘贴表情符号到 Markdown 格式的文本中,或者使用表情符号简码

复制粘贴表情符号

大多数情况下,您可以直接从 Emojipedia 这样的源复制表情符号并粘贴到您的文档中。许多 Markdown 应用程序会自动在 Markdown 格式的文本中显示表情符号。从 Markdown 应用程序导出的 HTML 和 PDF 文件也应该能显示表情符号。

提示:如果您使用的是静态站点生成器,请确保将 HTML 页面编码为 UTF-8。

使用表情符号简码

一些 Markdown 应用程序允许您通过输入表情符号简码来插入表情符号。这些简码以冒号开始和结束,并包含表情符号的名称。

去露营了!:tent: 很快回来。

太好笑了!:joy:

渲染后的输出看起来像这样:

去露营了!🏕️ 很快回来。

太好笑了!😂

注意:您可以使用这个表情符号简码列表,但请记住,不同应用程序的表情符号简码可能有所不同。详情请参阅您的 Markdown 应用程序的文档。

高亮

这并不常见,但有些 Markdown 处理器允许您高亮文本。结果显示为:这样。要高亮文字,请在文字前后使用两个等号(==)。

我需要高亮这些==非常重要的词==。

渲染后的输出看起来像这样:

我需要高亮这些非常重要的词

或者,如果您的 Markdown 应用程序支持 HTML,您可以使用 mark HTML 标签。

我需要高亮这些 <mark>非常重要的词</mark>。

下标

这不太常见,但一些 Markdown 处理器允许您使用下标来将一个或多个字符置于正常文字行稍微偏下的位置。要创建下标,需在字符前后各使用一个波浪线符号(~)。

H~2~O

渲染后的输出看起来像这样:

H2O

提示:在使用之前,请务必在您的 Markdown 应用中测试这一点。有些 Markdown 应用使用波浪线符号(一个波浪线在文字前后)不是为了表示下标,而是为了表示删除线。

或者,如果您的 Markdown 应用支持 HTML,您可以使用sub HTML 标签。

H<sub>2</sub>O

上标

这同样不太常见,但部分 Markdown 处理器允许您使用上标来将一个或多个字符置于正常文字行稍微偏上的位置。要创建上标,需在字符前后各使用一个脱字号符号(^)。

X^2^

渲染后的输出看起来像这样:

X2

作为另一种选择,如果您的 Markdown 应用支持 HTML,您可以使用sup HTML 标签。

X<sup>2</sup>

自动 URL 链接

很多 Markdown 处理程序会自动将 URL 转换为链接。也就是说,如果你输入http://www.example.com,即使你没有使用方括号,Markdown 处理程序也会自动将其转换为一个链接。

http://www.example.com

渲染后的输出看起来像这样:

http://www.example.com

禁用自动 URL 链接

如果你不想让一个 URL 被自动链接,可以通过用反引号标注 URL 为代码的方式来移除链接。

`http://www.example.com`

渲染后的输出看起来像这样:

http://www.example.com

在本文档中