{{- $id := .Get "term_id" -}} {{- $length := .Get "length" -}} {{- $prepend := .Get "prepend" }} {{- $glossaryBundle := site.GetPage "page" "docs/reference/glossary" -}} {{- $glossaryItems := $glossaryBundle.Resources.ByType "page" -}} {{- $term_info := $glossaryItems.GetMatch (printf "%s*" $id ) -}} {{- if not $term_info -}} {{- errorf "[%s] %q: %q is not a valid glossary term_id, see ./docs/reference/glossary/* for a full list" site.Language.Lang .Page.Path $id -}} {{- end -}} {{- with $term_info -}} {{- if (strings.Contains "short" $length) -}} {{- with .Summary -}} {{- if $prepend }}{{- replace . "

" (printf "

%s %s" $prepend .) -}}{{ else }}{{- . -}}{{ end -}} {{- else -}} {{- partial "templates/errorthrower.html" (dict "block" "summary" "purpose" .purpose "describes the key term in greater depth, supplementing the short_description") . -}} {{- end -}} {{- end -}} {{- if (strings.Contains "all|long" $length) -}} {{- with .Content -}} {{- if $prepend }} {{- $firstPara := index (findRE "(?s)

.*?

" . 1) 0 -}} {{- $firstPara := $firstPara | strings.TrimSuffix "

" | strings.TrimPrefix "

" -}} {{- $first := slicestr $firstPara 0 1 | lower }} {{- $prepended := printf "

%s %s%s

" $prepend $first (slicestr $firstPara 1) -}} {{- replace . $firstPara $prepended | safeHTML -}}{{ else }}{{- . -}}{{ end -}} {{- end -}} {{- end -}} {{- end -}}