索引參考
<script src=“https://gist.github.com/dominique-pfister/92cb67b6f95e1edee6a7d6508b124039.js”></script>
此 include
和 exclude
區段會指定要將哪些檔案編列索引。 所有包含但未排除的內容都會編列索引。 雙星號 **
會比對首碼下的所有專案, 包含 前置詞,所以在上述範例中,路徑 /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
此 value
或 values
屬性包含要套用至所有所選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