{{ define "left" }} {{ partial "sidebar/mainnav.html" . }}
{{ partialCached "icon" "filter_alt" "filter_alt" }} Filters
{{ template "taxofilters" site.Taxonomies.products }} {{ template "taxofilters" site.Taxonomies.subjects }} {{ template "taxofilters" site.Taxonomies.levels }} {{ template "taxofilters" site.Taxonomies.languages }}
{{ end }} {{ define "taxofilters" }} {{- $taxonomy := .Page.Data.Plural }}
{{ humanize $taxonomy }}
{{- range . }} {{- $term := .Page.Data.Term }}
{{- $id := anchorize (fmt.Printf "%s-%s" $taxonomy $term) }}
{{ end }}
{{ end }} {{ define "main" }}
{{- partial "breadcrumbs.html" . }}

{{ .Title }}

{{ .Content }}

Featured

{{- $featured := where .Pages "Params.featured" true }} {{- with $featured }} {{- range . }} {{- end }} {{- end }}

{{- $taxonomies := slice "products" "subjects" "levels" "languages" }}
Array.isArray(arr) && arr.length === 0); }, showItem(taxonomies) { if (this.noFilters()) return true; let match = false; for (const taxonomy in this.filters) { const selectedTerms = this.filters[taxonomy]; if (selectedTerms.length > 0) { const itemTerms = taxonomies[taxonomy] || []; // Check if all selected terms are included in the item's terms const hasAnyTerms = selectedTerms.some(term => itemTerms.includes(term)); if (hasAnyTerms) { match = true; break; } } } return match; }, init() { const url = new URL(window.location.href); for (const [key, value] of url.searchParams.entries()) { if (value) { this.filters[key] = value.split('~'); } } } }" x-cloak @guide-filter.window="filters = $event.detail.filters; document.getElementById('all-guides').scrollIntoView({ behavior: 'smooth' })">

All guides

{{- range .Pages }} {{- $opts := dict "page" . "taxonomies" $taxonomies }} {{- $filters := partial "utils/filter-terms.html" $opts }}
{{ .Title }}
{{ template "guide-metadata" . }}
{{- end }}
{{ end }} {{- define "guide-metadata" }}
{{- $taxoterms := .GetTerms "languages" }} {{- $taxoterms = $taxoterms | append (.GetTerms "levels") }} {{- $taxoterms = $taxoterms | append (.GetTerms "subjects") }} {{- range $taxoterms }} {{- .Page.LinkTitle }} {{- end }}
{{- with .Params.time }}
{{ partialCached "icon" "schedule" "schedule" }} {{ . }}
{{- end }}
{{- end }}