{{/* Search */}} {{- if (site.Params.search.enable | default true) -}} {{- $searchType := site.Params.search.type | default "flexsearch" -}} {{- if eq $searchType "flexsearch" -}} {{- $jsSearchScript := printf "%s.search.js" .Language.Lang -}} {{- $jsSearch := resources.Get "js/flexsearch.js" | resources.ExecuteAsTemplate $jsSearchScript . -}} {{- if hugo.IsProduction -}} {{- $jsSearch = $jsSearch | minify | fingerprint -}} {{- end -}} {{- $flexSearchVersion := site.Params.search.flexsearch.version | default "0.8.143" -}} {{- $flexSearchJsUrl := printf "https://cdn.jsdelivr.net/npm/flexsearch@%s/dist/flexsearch.bundle%s.js" $flexSearchVersion (cond hugo.IsProduction ".min" ".debug") -}} {{ with try (resources.GetRemote $flexSearchJsUrl) -}} {{ with .Err -}} {{ errorf "Could not retrieve FlexSearch js file from %s. Reason: %s." $flexSearchJsUrl . -}} {{ else with.Value -}} {{ with resources.Copy (printf "js/flexsearch.js") . -}} {{ $flexSearchJs := . | fingerprint -}} {{ end -}} {{ end -}} {{ end -}} {{- else -}} {{- warnf `search type "%s" is not supported` $searchType -}} {{- end -}} {{- end -}}