定义和修改属性
除了某些内在属性是只读的之外,任何AsciiDoc文档属性(以下简称为属性)都可以从CLI、playbook、组件描述符或页面头部使用属性条目定义。优先级匹配该顺序(从高到低),除非使用修饰符为给定属性改变了优先级。这些不同的范围使您能够根据需要定义属性的粒度,并能够为不同环境或情况覆盖它们的值。
本页面解释了如何使用属性条目在页面级别定义和修改属性。或者,这些属性可以在CLI、playbook或组件描述符中设置更高级别。定义或修改属性的结果是相同的(处理器不关心它是如何定义的)。
什么是属性条目?
属性条目是定义页面属性的主要机制,如果适用,还可以为其分配一个值。您可以将属性条目视为AsciiDoc中的全局变量赋值。
属性条目由两部分组成:一个名称和一个值。每个属性条目必须单独在页面头部的一行中输入。属性条目以一个开放冒号(:
)开头,直接跟着属性的名称,然后是一个闭合冒号(:
)。这会激活或设置属性,以便您可以在页面中使用它。
= 页面标题
:属性名称: (1)
1 | 属性的名称直接前面是一个开放冒号(: ),直接后面是一个闭合冒号(: )。 |
在许多情况下,您可以通过在属性条目中的名称后输入信息来显式地为属性分配一个值。值必须至少与闭合冒号(:
)相隔一个空格。
= 页面标题
:属性名称: 属性的值 (1)
1 | 显式分配的值必须至少与闭合冒号(: )相隔一个空格。在值的末尾,按Enter。 |
某些内置的AsciiDoc属性在属性条目中不需要显式分配值,因为它们是布尔属性或具有默认值。
= 页面标题
:属性名称: (1)
1 | 如果您不想显式为属性分配值,请在闭合冒号(: )后按Enter。 |
内置布尔属性的值始终为空,因为它们唯一接受的值是一个空字符串。其他内置属性可能具有默认值。如果设置了内置属性并将其值留空,Antora会在处理时将默认值(如果有)分配给属性。
为内置属性分配值
在下一个示例中,让我们为内置AsciiDoc属性分配一个值。属性xrefstyle
有三个内置值可接受,short
、full
和basic
。
= 页面标题
:xrefstyle: short (1)
1 | 在页面头部设置xrefstyle 并将其分配为值short 。显式值必须至少与闭合冒号(: )相隔一个空格。 |
当将short
值分配给xrefstyle
时,对具有锚点的块的内部引用将显示块的标签和编号,例如,列表1,如果在引用中未指定链接文本。
某些内置的AsciiDoc属性在Antora环境中不适用。这些属性包括data-uri 、allow-uri-read 、docinfo 、linkcss 、noheader 、nofooter 、webfonts 和outfilesuffix 。设置这些属性要么没有效果,要么可能导致Antora发生故障。其他属性,如imagesdir ,由Antora自动设置,不能被覆盖。 |
定义自定义属性
自定义属性通常存储经常使用的文本和URL。然后,通过简单地输入它们的名称(而不是重复输入文本或URL)在整个页面中引用它们。在可以引用自定义属性之前,必须为其定义一个用户定义的名称并分配一个值。
属性的名称必须:
-
至少为一个字符长,
-
以字母字符(A-Z、a-z、0-9或_)开头,并且
-
只包含字母字符和连字符,这意味着名称不能包含点(
.
)或空格。
虽然属性名称中允许大写字符,但名称在存储之前会自动转换为小写。最佳实践是只在名称中使用小写字母,并避免以数字开头。
属性值可以:
-
是任何内联内容,并且
-
包含换行符,但只有在使用显式换行符(
+
)时才能包含。
在示例2中,使用属性条目定义了自定义属性的名称和值。
= 页面标题
:url-repo: https://gitlab.com/antora/demo/docs-site
现在,您可以在整个页面中需要的任何地方通过在一对大括号内输入其名称({属性名称}
)来引用该属性。您可以在为URL创建属性中看到另一个示例,其中使用自定义属性来替换复杂的URL。