I’m using the Congo theme and would like to modify the breadcrumbs partial such that the breadcrumbs for only blog posts link to the home page while those for other types of pages link to the section index.
I know that I need to insert a conditional somewhere in this but I’m just not able to understand how this works
<ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden">
{{ template "crumb" (dict "p1" . "p2" .) }}
</ol>
{{ define "crumb" }}
{{ if .p1.Parent }}
{{ template "crumb" (dict "p1" .p1.Parent "p2" .p2 ) }}
{{ else if not .p1.IsHome }}
{{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
{{ end }}
<li class="{{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }} inline">
<a
class="dark:underline-neutral-600 decoration-neutral-300 hover:underline"
href="{{ .p1.RelPermalink }}"
>{{ if .p1.Title }}
{{- .p1.Title -}}
{{ else }}
{{- .p1.Section -}}
{{ end }}</a
><span class="px-1 text-primary-500">/</span>
</li>
{{ end }}
Not sure this is the best solution but I added a conditional in the <a> tag {{ if eq .p1.RelPermalink "/blog/" }} {{ .p1.Site.Home }} {{ else }} {{ .p1.RelPermalink }} {{ end }} and it seems to work?
<ol class="text-sm text-neutral-500 dark:text-neutral-400 print:hidden">
{{ template "crumb" (dict "p1" . "p2" .) }}
</ol>
{{ define "crumb" }}
{{ if .p1.Parent }}
{{ template "crumb" (dict "p1" .p1.Parent "p2" .p2 ) }}
{{ else if not .p1.IsHome }}
{{ template "crumb" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
{{ end }}
<li class="{{ if or (eq .p1 .p2) (.p1.IsHome) }}hidden{{ end }} inline">
<a
class="dark:underline-neutral-600 decoration-neutral-300 hover:underline"
href="{{ if eq .p1.RelPermalink "/blog/" }} {{ .p1.Site.Home }} {{ else }} {{ .p1.RelPermalink }} {{ end }}"
>{{ if .p1.Title }}
{{- .p1.Title -}}
{{ else }}
{{- .p1.Section -}}
{{ end }}</a
><span class="px-1 text-primary-500">/</span>
</li>
{{ end }}