Xref 宏和页面链接

要创建一个页面链接,您需要了解:

  • 如何构建和使用 AsciiDoc xref 宏,

  • 如何将页面的资源ID分配给 AsciiDoc xref 宏,

  • 您要链接到的页面(目标页面)的资源ID,以及

  • 您希望链接显示在其中的页面的资源ID(当前页面)。

AsciiDoc xref 宏

AsciiDoc xref 宏用于从一个资源到一个可发布的资源创建源到源的交叉引用。术语交叉引用通常缩写为xref,意味着使用 AsciiDoc xref 宏引用可发布资源的源文件。xref 宏接受指定可发布页面、附件或偶尔图片的Antora 资源ID作为值。当 Antora 运行时,xref 宏及其值会转换为指向目标资源已发布 URL 的链接。

Xref 宏结构

图 1 显示了 xref 宏的结构。

带有 Antora 资源ID 的 AsciiDoc xref 宏的图表
图 1. 引用页面的 Xref 宏结构

至少,xref 宏由宏的前缀(xref:)、目标页面的资源ID和一组方括号([])组成。 目标页面是当前页面引用的页面源文件。目标页面通过将其资源ID分配给当前页面的 xref 宏来引用。 当前页面是包含引用目标页面的 xref 宏的页面源文件。 图 1 中显示的 xref 宏的每个部分将在下面更详细地描述。

xref:

xref 宏以宏的名称xref开头,后跟一个冒号(:)。

目标页面的资源ID

xref 宏接受页面的资源ID作为其值。该值直接跟在宏名称后面的冒号(xref:)之后。您需要指定目标页面的资源ID坐标的数量取决于目标页面与当前页面的组件版本和模块之间的关系。当目标资源是页面时,在资源ID中不需要page$家族坐标。还要记住,目标页面的文件坐标是从pages家族目录计算出来的。

#fragment

片段是链接到目标页面内部的部分、块或内联位置的元素ID。片段也称为深链接。片段是可选的。片段以井号符号(#)开头,并直接跟在目标页面的资源ID后面。当指定片段时,目标页面的引用文本,无论是默认分配的还是使用reftext属性分配的,都不会用作链接文本

下一节将逐步解释如何创建交叉引用。

让我们分解 xref 宏和资源ID坐标,以便从您当前正在编辑的页面(目标页面)创建到页面的交叉引用。

  1. 在您的集成开发环境或文本编辑器中,打开要创建交叉引用的页面。在此步骤和后续步骤中,让我们假设您已打开了文件satellites.adocsatellites.adoc 是当前页面。

    示例 1. satellites.adoc(当前页面)
    === Console options
    
    查看
  2. 在当前页面中,选择要显示指向目标页面的链接的内容流位置。输入 xref 宏的名称,后跟一个冒号,xref:

    示例 2. satellites.adoc(当前页面)
    === Console options
    
    查看 xref:
  3. 将目标页面的资源ID分配给 xref 宏。在示例 3中,让我们使用modes.adoc作为目标页面,并假设它和当前页面satellites.adoc属于同一组件版本和模块。因此,只需要指定目标页面的文件坐标。

    示例 3. satellites.adoc(当前页面)
    === Console options
    
    查看 xref:modes.adoc

    modes.adoc页面的文件坐标是modes.adoc。目标页面的文件坐标仅由其文件名和文件扩展名组成,因为它存储在pages目录的根目录中。

    对于modes.adoc的资源ID不包括page$家族坐标。当未指定时,xref 宏会假定家族坐标为page$
  4. 在目标页面的资源ID之后,输入一个开方括号([),然后是一个闭方括号(]),后跟任何后续内容。

    示例 4. satellites.adoc(当前页面)
    === Console options
    
    查看 xref:modes.adoc[] 以获取更多选项。

    我们没有在宏的方括号之间输入任何文本,因为我们希望使用目标页面的引用文本作为链接文本。当 Antora将xref宏和目标页面的资源ID转换时,它将自动使用目标页面的默认引用文本或分配给reftext属性的文本填充链接文本。

satellites.adoc)创建了对目标页面( modes.adoc)的交叉引用。

了解更多

创建页面链接展示了如何在目标页面存储在子目录中或属于另一个模块、组件或版本时创建到页面的xrefs。

xref 宏还可以创建到附件的链接。