From 0e5fe09b09bf9491732748520e6ad37b74453488 Mon Sep 17 00:00:00 2001 From: Serghei Iakovlev Date: Mon, 11 Jul 2022 09:44:01 +0200 Subject: Rework site search to pass config params --- layouts/shortcodes/form-search.html | 56 +++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 18 deletions(-) (limited to 'layouts/shortcodes') diff --git a/layouts/shortcodes/form-search.html b/layouts/shortcodes/form-search.html index f328f38..873c73a 100644 --- a/layouts/shortcodes/form-search.html +++ b/layouts/shortcodes/form-search.html @@ -22,32 +22,52 @@
-{{- $vendors := slice (resources.Get "js/vendor/lunr.js") -}} -{{- $vendors = $vendors | append (resources.Get "js/vendor/lunr.multi.js" ) -}} -{{- $vendors = $vendors | append (resources.Get "js/vendor/lunr.stemmer.support.js" ) -}} +{{- $isProduction := (or (eq (getenv "HUGO_ENV") "production") (eq site.Params.env "production")) -}} + +{{- /* Add lunr.js. */ -}} +{{- $lunrSearch := slice (resources.Get "js/vendor/lunr.js") -}} + +{{- /* Add lunr multilanguage support. */ -}} +{{- $lunrSearch = $lunrSearch | append (resources.Get "js/vendor/lunr.multi.js" ) -}} +{{- $lunrSearch = $lunrSearch | append (resources.Get "js/vendor/lunr.stemmer.support.js" ) -}} {{- $lunrLangs := slice "de" "es" "fr" "it" "pt" "ru" -}} {{- range $lunrLangs -}} - {{ $vendors = $vendors | append (resources.Get (printf "js/vendor/lunr.%s.js" .) ) }} + {{ $lunrSearch = $lunrSearch | append (resources.Get (printf "js/vendor/lunr.%s.js" .) ) -}} {{- end -}} -{{- $vendors = $vendors | resources.Concat "js/lunr-bundle.js" -}} -{{- if or (eq (getenv "HUGO_ENV") "production") (eq site.Params.env "production") }} - {{- $vendors = $vendors | minify -}} +{{- /* Build lunr. */ -}} +{{- $lunrSearch = $lunrSearch | resources.Concat "js/lunr-bundle.js" -}} + +{{- if $isProduction -}} + {{- $lunrSearch = $lunrSearch | minify -}} {{- end -}} -{{- if not site.Params.assets.disable_fingerprinting -}} - {{- $vendors = $vendors | fingerprint -}} - + +{{- if or (site.Params.assets.disable_fingerprinting) (not $isProduction) }} + {{- else -}} - + {{- $lunrSearch = $lunrSearch | fingerprint }} + {{- end -}} -{{- $search := resources.Get "js/search.js" -}} -{{- if or (eq (getenv "HUGO_ENV") "production") (eq site.Params.env "production") }} - {{- $search = $search | minify -}} +{{- /* Configure search engine. */ -}} +{{- $maxSummaryLength := site.Params.search.maxSummaryLength | default 100 -}} +{{- $searchConfig := dict "indexURI" ("/index.json" | relLangURL) "maxSummaryLength" $maxSummaryLength -}} +{{- $searchI18n := dict "enterTerm" (i18n "search_enter_term") "noResults" (i18n "search_no_results") -}} +{{- $searchParams := dict "searchConfig" $searchConfig "i18n" $searchI18n -}} + +{{- $siteSearch := slice -}} +{{- $siteSearch = $siteSearch | append (resources.Get "js/search.js") -}} +{{- $siteSearch = $siteSearch | resources.Concat "js/search-bundle.js" -}} + +{{- if $isProduction -}} + {{- $siteSearch = $siteSearch | js.Build (dict "format" "iife" "params" $searchParams) | minify -}} +{{ else }} + {{- $siteSearch = $siteSearch | js.Build (dict "format" "iife" "sourceMap" "inline" "params" $searchParams) -}} {{- end -}} -{{- if not site.Params.assets.disable_fingerprinting -}} - {{- $search = $search | fingerprint -}} - + +{{- if or (site.Params.assets.disable_fingerprinting) (not $isProduction) }} + {{- else -}} - + {{- $siteSearch = $siteSearch | fingerprint }} + {{- end -}} -- cgit v1.2.3