<!-- Search for [[wikilink]] instead of "wikilink" when finding backlinks to prevent false positives: Otherwise, for a note whose filename/title is "now", every note containing the word "now" would be appended as a backlink) Regex not working for notes with colons on filename because hugo .File.BaseFileName returns a string with colons removed. --> {{ $firstBracket := "\\[\\[" }} {{ $lastBracket := "\\]\\]" }} {{ $filename := .File.BaseFileName }} {{ $wikilink := printf "%s%s%s" $firstBracket $filename $lastBracket }} {{- $.Scratch.Add "backlinks" slice -}} <h3>{{ i18n "backlinks" }}</h3> <ul> {{- range .Site.RegularPages -}} {{ if (findRE $wikilink .Content) }} {{ $.Scratch.Set "title" "" }} <!-- If bear mode is on we'll show the filename instead of the yaml title --> {{ if eq (.Param "bear") true }} {{ $.Scratch.Set "title" .File.BaseFileName }} {{ else }} {{ $.Scratch.Set "title" .Title }} {{ end }} {{ $title := $.Scratch.Get "title" }} {{ $.Scratch.Add "backlinks" (dict .Permalink $title) }} <li><a href="{{ .Permalink }}">{{ $title }}</a></li> {{ end }} {{- end -}} {{- $backlinks := $.Scratch.Get "backlinks" -}} {{ if le (len $backlinks) 0 }} <li>{{ i18n "no-backlinks" }}</li> {{ end }} </ul>