On , I learnt ...

How to list pages with matching tag in Hugo

In a detail template, you can grab a post’s tags with {{ .GetTerms "tags" }}. You can then loop over this and fetch a list of pages with each tag, excluding the current post:

{{ range $tag_pages }}
    {{ $related_tag_pages := where .Pages "Title" "!=" $.Title }}
    {{ if $related_tag_pages }}
        <p>Other posts about <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>:</p>
        <ul>
        {{ range $related_tag_pages }}
            <li><a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a></li>
        {{ end }}
        </ul>
    {{ end }}
{{ end }}

Tested in Hugo v0.72.0.