{{- define "partials/inline/breadcrumbData" -}} {{- $scratchCtx := .scratch -}} {{- with .parent }} {{ partial "inline/breadcrumbData" (dict "scratch" $scratchCtx "parent" .Parent) }} {{- $scratchCtx.Add "listItem" (slice (dict "@type" "ListItem" "position" ($scratchCtx.Get "count") "name" (.Title | humanize | title) "item" .Permalink )) -}} {{- $scratchCtx.Add "count" 1 -}} {{- end }} {{- end -}} {{ if .IsHome -}} {{ else if .IsPage }} {{- $iso8601 := "2006-01-02T15:04:05-07:00" -}} {{- $summary := .Summary -}} {{- $summary := replaceRE "]*>(.*?)" "$1" $summary -}} {{- $summary := replaceRE "\\s*" " " $summary -}} {{- $summary := replaceRE "\\s+" " " $summary -}} {{- $summary := trim $summary " " -}} {{- /* Source: https://bullaki.com/projects/web-design/seo-with-hugo-5-breadcrumbs/ */}} {{- $scratch := newScratch -}} {{- $scratch.Set "count" 1 -}} {{ partial "inline/breadcrumbData" (dict "scratch" $scratch "parent" .Parent) }} {{- with index (.GetTerms "categories") 0 -}} {{- $scratch.Add "listItem" (slice (dict "@type" "ListItem" "position" ($scratch.Get "count") "name" .LinkTitle "item" .Permalink )) -}} {{- $scratch.Add "count" 1 -}} {{- end }} {{- $scratch.Add "listItem" (slice (dict "@type" "ListItem" "position" ($scratch.Get "count") "name" (.Title | humanize | title) )) -}} {{- $scratch.SetInMap "breadcrumb" "@context" "https://schema.org" -}} {{- $scratch.SetInMap "breadcrumb" "@type" "BreadcrumbList" -}} {{- $scratch.SetInMap "breadcrumb" "itemListElement" ($scratch.Get "listItem") -}} {{- end }}