mirror of https://github.com/gohugoio/hugo
2.2 KiB
2.2 KiB
title | description | categories | keywords | action | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Related | Returns a collection of pages related to the given page. |
|
Based on front matter, Hugo uses several factors to identify content related to the given page. Use the default related content configuration, or tune the results to the desired indices and parameters. See details.
The argument passed to the Related
method may be a Page
or an options map. For example, to pass the current page:
{{< code file=layouts/_default/single.html >}} {{ with .Site.RegularPages.Related . | first 5 }}
Related pages:
-
{{ range . }}
- {{ .LinkTitle }} {{ end }}
To pass an options map:
{{< code file=layouts/_default/single.html >}} {{ $opts := dict "document" . "indices" (slice "tags" "keywords") }} {{ with .Site.RegularPages.Related $opts | first 5 }}
Related pages:
-
{{ range . }}
- {{ .LinkTitle }} {{ end }}
Options
- indices
- (
slice
) The indices to search within. - document
- (
page
) The page for which to find related content. Required when specifying an options map. - namedSlices
- (
slice
) The keywords to search for, expressed as a slice ofKeyValues
using thekeyVals
function.
- fragments
- (
slice
) A list of special keywords that is used for indices configured as type "fragments". This will match the fragment identifiers of the documents.
A contrived example using all of the above:
{{ $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")
}}