相關內容

根據 front matter,Hugo 會根據多個因素來識別與指定頁面相關的內容。您可以使用預設的 相關內容配置,或者調整結果以符合所需的索引和參數。詳細資訊請參見 細節說明

傳遞給 Related 方法的參數可以是 Page 或選項映射。例如,傳遞當前頁面:

layouts/_default/single.html
{{ with .Site.RegularPages.Related . | first 5 }}
  <p>相關頁面:</p>
  <ul>
    {{ range . }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

傳遞選項映射:

layouts/_default/single.html
{{ $opts := dict
  "document" .
  "indices" (slice "tags" "keywords")
}}
{{ with .Site.RegularPages.Related $opts | first 5 }}
  <p>相關頁面:</p>
  <ul>
    {{ range . }}
      <li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
    {{ end }}
  </ul>
{{ end }}

選項

indices
(slice) 要搜尋的索引。
document
(page) 要查找相關內容的頁面。在指定選項映射時為必填項。
namedSlices
(slice) 要搜尋的關鍵字,作為使用 keyVals 函數生成的 KeyValues 切片。
fragments
(slice) 用於類型為 “fragments” 的索引的特殊關鍵字列表。這將匹配文檔中的 fragment 標識符。

以下是使用上述所有選項的範例:

{{ $page := . }}
{{ $opts := dict
  "indices" (slice "tags" "keywords")
  "document" $page
  "namedSlices" (slice (keyVals "tags" "hugo" "rocks") (keyVals "date" $page.Date))
  "fragments" (slice "heading-1" "heading-2")
}}