diff options
| author | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-17 12:32:24 +0200 |
|---|---|---|
| committer | Serghei Iakovlev <egrep@protonmail.ch> | 2022-07-17 12:32:24 +0200 |
| commit | be4957a05dfc36f870e608f119a878f911a4d48c (patch) | |
| tree | 84c4b0e6604c7fc2bde045070cc98acf0e105c0f /layouts | |
| parent | 581ad2adf8536d20a0a37e6b2158aa6438a1a130 (diff) | |
| download | gohugo-theme-ed-be4957a05dfc36f870e608f119a878f911a4d48c.tar.gz | |
Set up the pipeline for indexing content in multiple languages
Diffstat (limited to 'layouts')
| -rw-r--r-- | layouts/index.json | 10 | ||||
| -rw-r--r-- | layouts/shortcodes/form-search.html | 19 |
2 files changed, 18 insertions, 11 deletions
diff --git a/layouts/index.json b/layouts/index.json index 538cfcc..a71d1e6 100644 --- a/layouts/index.json +++ b/layouts/index.json @@ -21,20 +21,20 @@ {{ if .File }} {{- $pageData := (dict "objectID" $page.File.UniqueID - "date" $page.Date.UTC.Unix "publishDate" $page.PublishDate + "date" $page.Date.UTC.Unix "lastmod" $page.Lastmod.UTC.Unix - "expiryDate" $page.ExpiryDate.UTC.Unix - "lang" $page.Lang + "lang" ($page.Params.lang | default $page.Lang) "title" $page.Title "href" $page.Permalink "kind" $page.Kind "type" $page.Type "section" $page.Section - "tags" (delimit ($page.Params.tags | default slice) " ; ") - "categories" (delimit ($page.Params.categories | default slice) " ; ") "content" $page.Plain + "categories" ($page.Params.categories | default slice) + "tags" ($page.Params.tags | default slice) ) -}} + {{- $.Scratch.Add "pagesIndex" $pageData -}} {{- $.Scratch.Add "urlsAdded" $page.Permalink -}} {{- end -}} diff --git a/layouts/shortcodes/form-search.html b/layouts/shortcodes/form-search.html index 94a951c..a917aec 100644 --- a/layouts/shortcodes/form-search.html +++ b/layouts/shortcodes/form-search.html @@ -38,11 +38,18 @@ {{- $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 -}} - {{ $lunrSearch = $lunrSearch | append (resources.Get (printf "js/vendor/lunr.%s.js" .)) -}} +{{- $lunrLanguages := site.Params.search.languages | default slice -}} +{{- if gt (len $lunrLanguages) 0 -}} + {{- $lunrSearch = $lunrSearch | append (resources.Get "js/vendor/lunr.multi.js") -}} + {{- $lunrSearch = $lunrSearch | append (resources.Get "js/vendor/lunr.stemmer.support.js") -}} + + {{- range $lunrLanguages -}} + {{- $lang := . -}} + {{- $lang = $lang | lower -}} + {{- if and $lang (ne $lang "en") -}} + {{- $lunrSearch = $lunrSearch | append (resources.Get (printf "js/vendor/lunr.%s.js" $lang)) -}} + {{- end -}} + {{- end -}} {{- end -}} {{- /* Build lunr. */ -}} @@ -61,7 +68,7 @@ {{- /* Configure search engine. */ -}} {{- $maxSummaryLength := site.Params.search.maxSummaryLength | default 100 -}} -{{- $searchConfig := dict "indexURI" ("/index.json" | relLangURL) "maxSummaryLength" $maxSummaryLength -}} +{{- $searchConfig := dict "indexURI" ("/index.json" | relLangURL) "maxSummaryLength" $maxSummaryLength "lunrLanguages" $lunrLanguages -}} {{- $searchI18n := dict "noResults" (i18n "search_no_results") -}} {{- $searchParams := dict "searchConfig" $searchConfig "i18n" $searchI18n -}} |
