相关页面
Syntax
PAGES.Related PAGE/OPTIONS
Returns
page.Pages
根据前置元数据,Hugo使用多个因素来确定与给定页面相关的内容。可以使用默认的 相关内容配置,也可以调整结果以满足所需的索引和参数。详见 详情。
传递给 “Related” 方法的参数可以是 Page
或 options map。例如,要传递当前页面:
layouts/_default/single.html
{{ with .Site.RegularPages.Related . | first 5 }}
<p>相关页面:</p>
<ul>
{{ range . }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
要传递 options map:
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 }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}
选项
- indices
- (
slice
) 要搜索的索引。 - document
- (
page
) 要查找相关内容的页面。在指定 options map 时是必需的。 - namedSlices
- (
slice
) 要搜索的关键词,以keyVals
函数使用KeyValues
的切片表示。
- fragments
- (
slice
) 用于类型配置为 “fragments” 的索引的特殊关键词列表。这将匹配文档的 片段 标识符。
一个使用了上述所有选项的例子:
{{ $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")
}}