{{- $page := .page }} {{- $to := $page }} {{- $pageurl := partial "relLangPrettyUglyURL.hugo" (dict "to" $page) }} {{- $lasturl := partial "relLangPrettyUglyURL.hugo" (dict "to" $page) }} {{- if .dirOnly }} {{- $page = $page.Parent }} {{- $to = $page }} {{- $lasturl = partial "relLangPrettyUglyURL.hugo" (dict "to" $page) }} {{- end }} {{- $depth := add 1 (int (partial "get-page-depth.hugo" (dict "page" $page))) }} {{- if .page.Site.Params.disableRootBreadcrumb }} {{- $depth = add $depth -1 }} {{- end }} {{- $breadcrumb := slice }} {{- range seq $depth }} {{- if $to }} {{- if $to.Title }} {{- $breadcrumb = $breadcrumb | append $to }} {{- end }} {{- else }} {{- break }} {{- end }} {{- $to = $to.Parent }} {{- end }} {{- $len := len $breadcrumb -}} {{- $breadcrumbReversed := slice }} {{- range seq $len }} {{- $breadcrumbReversed = $breadcrumbReversed | append (index $breadcrumb (sub $len .)) }} {{- end }} {{- range $i, $e := $breadcrumbReversed }} {{- $to := $e }} {{- $title := $to.Title }} {{- if eq .Kind "taxonomy" }} {{- $title = i18n $to.Data.Plural }} {{- if not $title }} {{- $title = $to.Data.Plural }} {{- end }} {{- else if eq .Kind "term" }} {{- $title = i18n $to.Data.Singular }} {{- if not $title }} {{- $title = $to.Data.Singular }} {{- end }} {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) $to.Title }} {{- end }} {{- if not $title }} {{- $title = $to.Site.Title }} {{- end }} {{- $url := partial "relLangPrettyUglyURL.hugo" (dict "to" $to) }} {{- $isPage := eq $url $pageurl }} {{- $isLast := eq $url $lasturl }} {{- $link := and $url (not $isPage) }} {{- printf "{{ if $link }}{{end}}{{ $title }}{{ if $link }}{{ end }}{{ if not $isLast }}{{ (printf " %s " (default ">" .Site.Params.breadcrumbSeparator)) | safeHTML }}{{ end }} {{- end }}