diff --git a/layouts/partials/schema.html b/layouts/partials/schema.html index 1681f5f..6eb53b1 100644 --- a/layouts/partials/schema.html +++ b/layouts/partials/schema.html @@ -1,3 +1,17 @@ +{{- 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 -}} -{{ end }} + {{- /* 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 }}