索引參考

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

includeexclude 區段會指定要將哪些檔案編列索引。 所有包含但未排除的內容都會編列索引。 雙星號 ** 會比對首碼下的所有專案, 包含 前置詞,所以在上述範例中,路徑 /documents 也會編列索引。 如果您完全忽略該區段, 全部 已編制索引。

select 屬性是從檔案中擷取HTML元素的CSS選取器。 索引子會將您的選取器套用在HTML標籤上,而不是套用至轉譯的dom,因此您必須據此撰寫。 (在您要從中擷取資訊的頁面上按一下滑鼠右鍵 — > 「檢視頁面來源」 ,即可檢視索引器將使用的確切HTML)。

若要確認輸入的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)

這對Teaser相當實用,可從HTML元素中選取一個範圍的單字。

replace(el, substr, newSubstr)

以取代取代取代文字中第一次出現的子字串。

replaceAll(el, substr, newSubstr)

以取代取代取代文字中子字串的所有出現次數。

parseTimestamp(el, format)

剖析在中以字串形式指定的時間戳記 自訂格式,並傳回自1970年1月1日以來的秒數。

dateValue(el,格式)

解析以字串形式指定的時間戳記,並傳回其值作為序號,其中1900年1月1日為序號1。 如需詳細資訊,請參閱 DATEVALUE函式

el

傳回由選取的HTML元素 select 屬性。

路徑

傳回正在編制索引之HTML檔案的路徑。

headers[name]

傳回擷取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