{{/*
We use the front matter keywords field to determine related content. To ensure
consistency, during site build we validate each keyword against the entries in
data/keywords.yaml.

As of March 5, 2025, this feature is experimental, pending usability
assessment. We anticipate that the number of additions to data/keywords.yaml
will decrease over time, though the initial implementation will require some
effort.
*/}}

{{- $t := debug.Timer "validateKeywords" }}
{{- $allowedKeywords := collections.Apply hugo.Data.keywords "strings.ToLower" "." }}
{{- range $p := site.Pages }}
	{{- range .Params.keywords }}
		{{- if not (in $allowedKeywords (lower .)) }}
			{{- warnf "The word or phrase %q is not in the keywords data file. See %s." . $p.Page.String }}
		{{- end }}
	{{- end }}
{{- end }}
{{- $t.Stop }}
