链接到 asciidoc 中同一页面的部分

Lui*_*uis 4 asciidoc asciidoctor

我正在编写一些将转换为 HTML 的文本,作为一个长页面。

无法弄清楚如何像在 HTML 中一样使用 链接到部分#some-id,以便用户在单击它时会向上或向下浏览网页

<h2 id="some-id">Section A</h2>
<p>Lot's of lines</p>
<a href="#some-id">Go to section</a>
Run Code Online (Sandbox Code Playgroud)

esk*_*yrd 8

您所指的称为“内部交叉引用”。

内部交叉引用的标记是:

<<id,caption>>
Run Code Online (Sandbox Code Playgroud)

其中id是页面上具有标识符(通常是标题)的元素,并且caption是应出现在链接中的可选文本。

您可以链接到具有自动生成的 id 的标题,但 id 的形成可能会根据属性idprefix和(对于 Asciidoctor)而有所不同idseparator。默认是使标题文本小写,前缀为下划线,并用下划线替换空格和其他标点符号。标题“让我们做个游戏吧!”的 id 会_lets_make_a_game

通常,您最好指定自己的 id,即使您编辑标题的文本,该 id 也会保持稳定。你可以这样做:

[[id,label]]
Run Code Online (Sandbox Code Playgroud)

whereid是您要指定的标识符,label是可用于交叉引用的可选默认标签(如果交叉引用本身未指定 a caption)。

如果交叉引用指向的元素是标题,则可以省略标题和标签,链接将使用标题的文本作为自己的文本。

对于 Asciidoc,请参阅:http ://asciidoc.org/userguide.html#_internal_cross_references

对于 Asciidoctor,请参阅:https ://asciidoctor.org/docs/user-manual/#internal-cross-references


n m*_*n m 8

另一种选择是使用link:宏。以下是我的 Asciidoctor 文档中的一个示例:

link:#_explore_the_public_directory[17.4. Explore the `public` directory]
Run Code Online (Sandbox Code Playgroud)

有关此信息的信息位于https://asciidoctor.org/docs/user-manual/#url。以下是相关部分的摘录:

当 URL 不以常见方案之一开头,或者 URL 没有被单词边界包围时,您必须使用链接宏。