mirror of
https://github.com/adityatelange/hugo-PaperMod.git
synced 2023-12-21 10:22:58 +01:00
4cc3fb26ce
First part of the breadcrumbs generation algorithm is to remove the base URL from the parent's permalink URL. In the existing code, this is achieve by replacing all instances of base URL in the parent's permalink URL by an empty string. This algorithm fails to produces breadcrumbs in the instance where the base URL is "/" for example. I believe this is erroneous as only the first instance of the base URLi, starting at the beginning of the parent's permalink URL should be replaced by an empty string. This is the reason I replaced the call to "replace" by a call to "replaceRE".
20 lines
688 B
HTML
20 lines
688 B
HTML
{{- if (.Param "ShowBreadCrumbs") -}}
|
|
<div class="breadcrumbs">
|
|
{{- $url := replaceRE (printf "^%s" site.BaseURL) "" .Parent.Permalink }}
|
|
{{- $lang_url := strings.TrimPrefix (printf "%s/" .Lang) $url -}}
|
|
|
|
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
|
|
{{- $scratch := newScratch }}
|
|
{{- range $index, $element := split $lang_url "/" }}
|
|
|
|
{{- $scratch.Add "path" (printf "%s/" $element )}}
|
|
{{- $bc_pg := site.GetPage ($scratch.Get "path") -}}
|
|
|
|
{{- if (and ($bc_pg) (gt (len . ) 0))}}
|
|
{{- print " » " | safeHTML -}}<a href="{{ $bc_pg.Permalink }}">{{ $bc_pg.Name }}</a>
|
|
{{- end }}
|
|
|
|
{{- end -}}
|
|
</div>
|
|
{{- end -}}
|