mirror of
https://github.com/gohugoio/hugoDocs.git
synced 2025-10-04 11:56:02 -04:00
1.4 KiB
1.4 KiB
title | linktitle | description | godocref | date | publishdate | lastmod | categories | menu | tags | ns | signature | workson | hugoversion | relatedfuncs | deprecated | aliases | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
intersect | intersect | Returns the common elements of two arrays or slices. | 2017-02-01 | 2017-02-01 | 2017-02-01 |
|
|
|
false |
Given two arrays (or slices), intersect
returns the common elements. The elements supported are strings, integers, and floats (only float64).
A useful example of intersect
functionality is a "related posts" block. isset
allows us to create a list of links to other posts that have tags that intersect with the tags in the current post.
The following is an example of a "related posts" partial template that could be added to a single page template:
{{% code file="layouts/partials/related-posts.html" download="related-posts.html" %}}
<ul>
{{ $page_link := .Permalink }}
{{ $tags := .Params.tags }}
{{ range .Site.Pages }}
{{ $page := . }}
{{ $has_common_tags := intersect $tags .Params.tags | len | lt 0 }}
{{ if and $has_common_tags (ne $page_link $page.Permalink) }}
<li><a href="{{ $page.Permalink }}">{{ $page.Title }}</a></li>
{{ end }}
{{ end }}
</ul>
{{% /code %}}