{{- $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 (default $to.Data.Term $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 }} {{- $depth := 0 }} {{- range $i, $e := $breadcrumbReversed }} {{- $to := $e }} {{- $depth = add $depth 1 }} {{- $title := $to.Title }} {{- if eq $to.Kind "taxonomy" }} {{- $title = default (default .Data.Plural (i18n .Data.Plural)) .Title }} {{- else if eq $to.Kind "term" }} {{- $taxonomy_page := .Site.GetPage .Data.Plural }} {{- $title = default (default .Data.Singular (i18n .Data.Singular)) $taxonomy_page.Params.SingularTitle }} {{- $title = printf "%s %s %s" $title (default "::" .Site.Params.titleSeparator) (default $to.Data.Term $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 "