扩展语法

基于基本 Markdown 语法构建的高级功能。

概述

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

一些个人和组织通过添加其他元素(如表格、代码块、语法高亮、URL 自动链接和脚注)来扩展基本语法。可以通过使用基于基本 Markdown 语法构建的轻量级标记语言,或者通过向兼容的 Markdown 处理器添加扩展来启用这些元素。

可用性

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

轻量级标记语言

有几种轻量级标记语言是 Markdown 的超集。它们包括基本语法,并通过添加其他元素(如表格、代码块、语法高亮、URL 自动链接和脚注)来构建它。许多最流行的 Markdown 应用程序使用以下轻量级标记语言之一:

Markdown 处理器

数十种 Markdown 处理器可用。其中许多允许您添加启用扩展语法元素的扩展。有关更多信息,请查看您的处理器的文档。

表格

要添加表,请使用三个或更多连字符 () 创建每列的标题,并使用竖线 () 分隔每列。为了兼容性,您还应该在行的任一端添加一个管道。---|

| Syntax      | Description |
| ----------- | ----------- |
| Header      | Title       |
| Paragraph   | Text        |

渲染的输出如下所示:

语法 描述
页眉 标题
发短信

单元格宽度可能会有所不同,如下所示。渲染的输出看起来将相同。

| Syntax | Description |
| --- | ----------- |
| Header | Title |
| Paragraph | Text |
提示:使用连字符和竖线创建表可能很乏味。为了加快这个过程,请尝试使用 Markdown Tables GeneratorAnyWayData Markdown Export。使用图形界面构建表格,然后将生成的 Markdown 格式文本复制到您的文件中。

对齐

您可以通过在标题行内连字符的左侧、右侧或两侧添加冒号 () 来将列中的文本向左、向右或居中对齐。:

| Syntax      | Description | Test Text     |
| :---        |    :----:   |          ---: |
| Header      | Title       | Here's this   |
| Paragraph   | Text        | And more      |

渲染的输出如下所示:

语法 描述 测试文本
页眉 标题 这是这个
发短信 以及更多

设置表格中文本的格式

您可以设置表格中文本的格式。例如,您可以添加链接代码(仅限反引号 () 中的单词或短语,而不是代码块)和强调`

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

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

在表中转义竖线字符

您可以使用表格的 HTML 字符代码 () 在表格中显示竖线 () 字符。||

代码块

基本的 Markdown 语法允许您通过用四个空格或 1 个制表符缩进行来创建代码块。如果你觉得这不方便,可以尝试使用围栏代码块。根据你的 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]: My footnote.

Here's a simple footnote,[^1] and here's a longer one.[^bignote]

[^1]: This is the first footnote.

[^bignote]: Here's one with multiple paragraphs and code.

    Indent paragraphs to include them in the footnote.

    `{ my code }`

    Add as many paragraphs as you like.

渲染的输出如下所示:

这里有一个简单的脚注,1这是一个更长的问题。2

  1. 这是第一个脚注。

  2. 下面是一个包含多个段落和代码的命令。

    缩进段落以将其包含在脚注中。

    { my code }

    根据需要添加任意数量的段落。

标题 ID

许多 Markdown 处理器支持标题的自定义 ID——一些 Markdown 处理器会自动添加它们。通过添加自定义 ID,您可以直接链接到标题并使用 CSS 对其进行修改。要添加自定义标题 ID,请将自定义 ID 括在与标题相同的行上的大括号中。

### My Great Heading {#custom-id}

HTML 如下所示:

<h3 id="custom-id">My Great Heading</h3>

链接到标题 ID

您可以链接到文件中具有自定义 ID 的标题,方法是创建一个带有数字符号 () 的标准链接,后跟自定义标题 ID。这些通常称为锚链接#

Markdown HTML 渲染输出
[Heading IDs](#heading-ids) <a href="#heading-ids">Heading IDs</a> 标题 ID

其他网站可以通过将自定义标题 ID 添加到网页的完整 URL 来链接到标题(例如,)。[Heading IDs](https://www.markdownguide.org/extended-syntax#heading-ids)

定义列表

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

First Term
: This is the definition of the first term.

Second Term
: This is one definition of the second term.
: This is another definition of the second term.

HTML 如下所示:

<dl>
  <dt>First Term</dt>
  <dd>This is the definition of the first term.</dd>
  <dt>Second Term</dt>
  <dd>This is one definition of the second term. </dd>
  <dd>This is another definition of the second term.</dd>
</dl>

渲染的输出如下所示:

第一学期
这是第一个术语的定义。
第二学期
这是第二个术语的一个定义。
这是第二个术语的另一个定义。

删除线

您可以通过在单词中心放置一条水平线来删除单词。结果如下所示。此功能允许您指示某些单词是错误,不应包含在文档中。要删除单词,请在单词前后使用两个波浪号()。~~

~~The world is flat.~~ We now know that the world is round.

渲染的输出如下所示:

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

任务列表

任务列表(也称为清单和待办事项列表)允许您创建带有复选框的项目列表。在支持任务列表的 Markdown 应用程序中,复选框将显示在内容旁边。要创建任务列表,请在任务列表项前添加短划线 () 和带空格 () 的括号。要选中复选框,请在方括号 () 之间添加一个。-[ ]x[x]

- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media

渲染的输出如下所示:

Markdown 任务列表

表情符号

有两种方法可以将表情符号添加到 Markdown 文件中:将表情符号复制并粘贴到 Markdown 格式的文本中,或键入表情符号短代码

复制和粘贴 Emoji

在大多数情况下,您可以简单地从 Emojipedia 等来源复制表情符号并将其粘贴到您的文档中。许多 Markdown 应用程序会自动以 Markdown 格式的文本显示表情符号。您从 Markdown 应用程序导出的 HTML 和 PDF 文件应该显示表情符号。

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

使用 Emoji 简码

一些 Markdown 应用程序允许您通过键入表情符号短代码来插入表情符号。这些图标以冒号开头和结尾,并包含表情符号的名称。

Gone camping! :tent: Be back soon.

That is so funny! :joy:

渲染的输出如下所示:

去露营了!⛺ 很快就会回来。

这太有趣了!😂

注意:您可以使用此表情符号短代码列表,但请记住,表情符号短代码因应用程序而异。有关更多信息,请参阅 Markdown 应用程序的文档。

高亮

这并不常见,但某些 Markdown 处理器允许您突出显示文本。结果如下所示。要突出显示单词,请在单词前后使用两个等号 ()。==

I need to highlight these ==very important words==.

渲染的输出如下所示:

我需要强调这些非常重要的词

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

I need to highlight these <mark>very important words</mark>.

下标

这并不常见,但某些 Markdown 处理器允许您使用下标将一个或多个字符定位在正常类型行略低于正常行的位置。要创建下标,请在字符前后使用一个波浪号()。~

H~2~O

渲染的输出如下所示:

H2O

提示:在使用 Markdown 应用程序之前,请务必在 Markdown 应用程序中对此进行测试。一些 Markdown 应用程序在单词前后使用一个波浪号,而不是用于下标,而是用于删除线

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

H<sub>2</sub>O

上标

这并不常见,但某些 Markdown 处理器允许你使用上标将一个或多个字符定位在正常类型行的略高于正常行的位置。要创建上标,请在字符前后使用一个插入符号 ()。^

X^2^

渲染的输出如下所示:

X2

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

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

将您的 Markdown 技能提升到一个新的水平。

在 60 页中学习 Markdown。《Markdown 指南》专为新手和专家设计,是一本全面的参考书,包含您入门和掌握 Markdown 语法所需的一切。

获取书籍