forked from drowl87/hextra_mirror

* chore: upgrade flexsearch to 0.8.x - use cdn to download flexsearch js bundle * chore: remove flexsearch.bundle.min.js
27 lines
1.4 KiB
HTML
27 lines
1.4 KiB
HTML
{{/* 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 -}}
|
|
<script defer src="{{ $flexSearchJs.RelPermalink }}" integrity="{{ $flexSearchJs.Data.Integrity }}" crossorigin="anonymous"></script>
|
|
{{ end -}}
|
|
{{ end -}}
|
|
{{ end -}}
|
|
<script defer src="{{ $jsSearch.RelPermalink }}" integrity="{{ $jsSearch.Data.Integrity }}"></script>
|
|
{{- else -}}
|
|
{{- warnf `search type "%s" is not supported` $searchType -}}
|
|
{{- end -}}
|
|
{{- end -}}
|