索引参考

<script src=“https://gist.github.com/dominique-pfister/92cb67b6f95e1edee6a7d6508b124039.js”></script>

includeexclude部分规定了要索引的文档。 包括但未排除的所有内容都将编制索引。 双星号**与前缀​ 包含 ​前缀下的所有内容匹配,因此在上例中,路径/documents也被编入索引。 如果您完全忽略该部分,则​ 所有内容 ​都将编制索引。

select属性是一个CSS选择器,可从文档中获取与HTML元素匹配的​ 所有。 索引器会将您的选择器应用于HTML标记,而不是应用于渲染的DOM,因此您必须相应地编写它们。 (在要从中提取信息的页面上,右键单击 — >查看页面Source,可查看索引器将处理的确切HTML)。

如果您只想返回​ 第一个 ​匹配元素,请使用selectFirst而不是select

first-img:
  selectFirst: img
  value: attribute(el, "src")

要验证输入的CSS选择器是否选择了所需内容,您可以使用aem cli - aem up -–print-index,导航到选择器应提取有意义的值的页面,然后检查控制台。 cli将使用本地文件系统中的helix-query.yaml文件,并将打印提取的值;如果找不到所查找的信息,则打印空字符串。

aem up --print-index
...
info: Index information for /my/test/page
info: Index: mysite
info:            author: "John Smith"

请注意,并非所有CSS选择器都受支持。 在内部,我们使用名为hast-util-select的库,支持的选择器列表可在此处找到: https://github.com/syntax-tree/hast-util-select#support

valuevalues属性包含要应用于所有选定HTML元素的表达式。 当您需要字符串时,首选属性名称value,而values则会为您提供一个包含找到的所有匹配项的数组。 表达式可以包含函数和变量的组合:

innerHTML(el)

返回元素的HTML内容。

textContent(el)

返回所选元素的文本内容及其所有后代。

attribute(el, name)

返回具有指定元素名称的属性的值。

匹配(el, re)

匹配包含括号的正则表达式,以捕获传递的元素中的项目。 在上面的作者示例中,所选<p>元素的实际内容可能包含by John Smith,因此它将捕获by 之后的所有内容。

字符(el、start、end)

返回给定元素或文本从startend的子字符串。 如果startend为负数,则它们将处理从文本结尾开始计数的位置。 end是可选的,默认为文本的长度。

单词数(el、start、end)

这对Teaser很有用,可从HTML元素中选择一系列单词。

replace(el, substr, newSubstr)

使用替换内容替换文本中第一次出现的子字符串。

replaceAll(el, substr, newSubstr)

将文本中所有出现的子字符串替换为替换内容。

parseTimestamp(el,格式)

解析以自定义格式的字符串形式提供的时间戳,并将其值作为自1970年1月1日以来的秒数返回。

dateValue(el,格式)

解析以字符串形式指定的时间戳,并将其值作为序列号返回,其中1900年1月1日是序列号1。 有关详细信息,请参阅DATEVALUE函数

el

返回由select属性选择的HTML元素。

路径

返回正在编制索引的HTML文档的路径。

标头[名称]

返回在获取HTML文档时,具有指定名称的HTTP响应标头的值。

1 helix-query.yaml的完整定义在以下位置提供: https://github.com/adobe/helix-shared/blob/main/docs/indexconfig.md

recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec