{{/* FlexSearch Index Data */}} {{- $indexType := site.Params.search.flexsearch.index | default "content" -}} {{- if not (in (slice "content" "summary" "heading" "title" ) $indexType) -}} {{- errorf "unknown flexsearch index type: %s" $indexType -}} {{- end -}} {{- $pages := where .Site.Pages "Kind" "in" (slice "page" "section") -}} {{- $pages = where $pages "Params.excludeSearch" "!=" true -}} {{- $pages = where $pages "Content" "!=" "" -}} {{- $output := dict -}} {{- range $index, $page := $pages -}} {{- $pageTitle := $page.LinkTitle | default $page.File.BaseFileName -}} {{- $pageLink := $page.RelPermalink -}} {{- $data := partial "utils/fragments" (dict "context" $page "type" $indexType) -}} {{- $output = $output | merge (dict $pageLink (dict "title" $pageTitle "data" $data)) -}} {{- end -}} {{/* Extract glossary data entries */}} {{- $glossaryEntries := dict -}} {{- with (index .Site.Data .Site.Language.Lang "termbase") -}} {{- range . -}} {{- $entry := cond (.abbr) (printf "%s %s %s" .abbr .term .definition) (printf "%s %s" .term .definition) -}} {{- $glossaryEntries = $glossaryEntries | merge (dict .term $entry) -}} {{- end -}} {{- end -}} {{- $glossary := dict "title" "Glossary" "data" $glossaryEntries -}} {{- $output = $output | merge (dict (relLangURL "glossary") $glossary )}} {{- $output | jsonify -}}