首页 > 解决方案 > 链接到 asciidoc 中同一页面的部分

问题描述

我正在写一些将转换为 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>

标签: asciidocasciidoctor

解决方案


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

内部交叉引用的标记是:

<<id,caption>>

whereid是页面上的一个元素,它有一个标识符,通常是一个标题,并且caption是应该出现在链接中的可选文本。

您可以链接到具有自动生成的 id 的标题,但 id 的形成可能会根据属性idprefix和(对于 Asciidoctor)而有所不同idseparator。默认情况下,标题文本为小写,前缀为下划线,空格和其他标点符号为下划线。标题“Let's make a game!”的 id 将是_lets_make_a_game

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

[[id,label]]

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

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

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

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

使用示例:

这就是我们分配 ID 的方式:

== Debug Running Pods [[debug_running_pods]]

参考身份证:

<<debug_running_pods>>

推荐阅读