自动标识符扩展(Markdig 规范文档)
本节描述了自动标识符扩展
标题自动标识符
允许为标题自动生成标识符:
# 这是一个标题
.
<h1 id="this-is-a-heading">这是一个标题</h1>
仅保留标点符号 -
, _
和 .
,其他非字母字符都将被丢弃。
连续的相同字符 -
, _
或 .
被渲染为一个字符
字符串末尾的 -
, _
和 .
也会被丢弃。
# This - is a &@! heading _ with . and ! -
.
<h1 id="this-is-a-heading_with.and">This - is a &@! heading _ with . and ! -</h1>
格式化(强调)也会被丢弃:
# This is a *heading*
.
<h1 id="this-is-a-heading">This is a <em>heading</em></h1>
链接也会被移除:
# This is a [heading](/url)
.
<h1 id="this-is-a-heading">This is a [heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs//url)</h1>
如果有多个标题具有相同的文本,-1, -2...-n 将作为标题 id 的后缀。
# This is a heading
# This is a heading
.
<h1 id="this-is-a-heading">This is a heading</h1>
<h1 id="this-is-a-heading-1">This is a heading</h1>
标题 id 将从标题的第一个字母字符开始,所有之前的字符都将被丢弃:
# 1.0 This is a heading
.
<h1 id="this-is-a-heading">1.0 This is a heading</h1>
如果标题在上述规则下全部被剥离,将使用 section
作为 id:
# 1.0 & ^ % *
# 1.0 & ^ % *
.
<h1 id="section">1.0 & ^ % *</h1>
<h1 id="section-1">1.0 & ^ % *</h1>
当设置选项 "AutoLink" 时,可以使用与标题完全相同的标签文本链接到现有的标题:
# This is a heading
[This is a heading]
.
<h1 id="this-is-a-heading">This is a heading</h1>
<p>[This is a heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
标题前面的链接也有效:
[This is a heading]
# This is a heading
.
<p>[This is a heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
<h1 id="this-is-a-heading">This is a heading</h1>
链接文本可以更改:
[With a new text][This is a heading]
# This is a heading
.
<p>[With a new text](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
<h1 id="this-is-a-heading">This is a heading</h1>
自动生成的标识符不应与现有的链接冲突:
![scenario image][scenario]
## Scenario
[scenario]: ./scenario.png
.
<p># 自动标识符扩展(Markdig 规范文档)
本节描述了自动标识符扩展
## 标题自动标识符
允许为标题自动生成标识符:
```example
# 这是一个标题
.
<h1 id="this-is-a-heading">这是一个标题</h1>
仅保留标点符号 -
, _
和 .
,其他非字母字符都将被丢弃。
连续的相同字符 -
, _
或 .
被渲染为一个字符
字符串末尾的 -
, _
和 .
也会被丢弃。
# This - is a &@! heading _ with . and ! -
.
<h1 id="this-is-a-heading_with.and">This - is a &@! heading _ with . and ! -</h1>
格式化(强调)也会被丢弃:
# This is a *heading*
.
<h1 id="this-is-a-heading">This is a <em>heading</em></h1>
链接也会被移除:
# This is a [heading](/url)
.
<h1 id="this-is-a-heading">This is a [heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs//url)</h1>
如果有多个标题具有相同的文本,-1, -2...-n 将作为标题 id 的后缀。
# This is a heading
# This is a heading
.
<h1 id="this-is-a-heading">This is a heading</h1>
<h1 id="this-is-a-heading-1">This is a heading</h1>
标题 id 将从标题的第一个字母字符开始,所有之前的字符都将被丢弃:
# 1.0 This is a heading
.
<h1 id="this-is-a-heading">1.0 This is a heading</h1>
如果标题在上述规则下全部被剥离,将使用 section
作为 id:
# 1.0 & ^ % *
# 1.0 & ^ % *
.
<h1 id="section">1.0 & ^ % *</h1>
<h1 id="section-1">1.0 & ^ % *</h1>
当设置选项 "AutoLink" 时,可以使用与标题完全相同的标签文本链接到现有的标题:
# This is a heading
[This is a heading]
.
<h1 id="this-is-a-heading">This is a heading</h1>
<p>[This is a heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
标题前面的链接也有效:
[This is a heading]
# This is a heading
.
<p>[This is a heading](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
<h1 id="this-is-a-heading">This is a heading</h1>
链接文本可以更改:
[With a new text][This is a heading]
# This is a heading
.
<p>[With a new text](/docs/zh-Hans/net-lib-docs/master/Markdig/Specs/#this-is-a-heading)</p>
<h1 id="this-is-a-heading">This is a heading</h1>
自动生成的标识符不应与现有的链接冲突:
![scenario image][scenario]
## Scenario
[scenario]: ./scenario.png
.
<p><img src="./scenario.png" alt="scenario image" /></p>
<h2 id="scenario">Scenario</h2>