mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-10-10 22:09:31 +00:00
Merge pull request #2935 from aplgr/feature/client-language-redirect
✨ Add opt-in client-side language redirect
This commit is contained in:
5 files changed
+382
No files matched your search
@@ -139,6 +139,7 @@
|
||||
type="text/javascript"
|
||||
src="{{ $jsAppearance.RelPermalink }}"
|
||||
integrity="{{ $jsAppearance.Data.Integrity }}"></script>
|
||||
{{ partial "language-redirect.html" . }}
|
||||
{{ $enableA11y := .Site.Params.enableA11y | default false }}
|
||||
{{ if $enableA11y }}
|
||||
{{ $jsA11y := resources.Get "js/a11y.js" | resources.Minify | resources.Fingerprint $alg }}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{{ $params := site.Params.languageRedirect | default dict }}
|
||||
{{ if and ($params.enabled | default false) hugo.IsMultilingual }}
|
||||
{{ $translations := slice }}
|
||||
{{ range .AllTranslations }}
|
||||
{{ $translations = $translations | append (dict "lang" .Language.Lang "languageCode" (.Language.LanguageCode | default "") "url" .RelPermalink) }}
|
||||
{{ end }}
|
||||
|
||||
{{ $browserRedirectHomeOnly := true }}
|
||||
{{ if isset $params "browserredirecthomeonly" }}
|
||||
{{ $browserRedirectHomeOnly = $params.browserRedirectHomeOnly }}
|
||||
{{ end }}
|
||||
|
||||
{{ $storedLanguageRedirect := true }}
|
||||
{{ if isset $params "storedlanguageredirect" }}
|
||||
{{ $storedLanguageRedirect = $params.storedLanguageRedirect }}
|
||||
{{ end }}
|
||||
|
||||
{{ $fallbackLanguage := hugo.Sites.Default.Language.Lang }}
|
||||
{{ with $params.fallbackLanguage }}
|
||||
{{ $fallbackLanguage = . }}
|
||||
{{ end }}
|
||||
|
||||
{{ $config := dict "enabled" true "storageKey" ($params.storageKey | default "blowfish_preferred_language") "fallbackLanguage" $fallbackLanguage "browserRedirectHomeOnly" $browserRedirectHomeOnly "storedLanguageRedirect" $storedLanguageRedirect "currentLanguage" .Language.Lang "currentLanguageCode" (.Language.LanguageCode | default "") "isHome" .IsHome "translations" $translations }}
|
||||
<script>
|
||||
window.BlowfishLanguageRedirectConfig = {{ $config | jsonify | safeJS }};
|
||||
</script>
|
||||
{{ $alg := site.Params.fingerprintAlgorithm | default "sha512" }}
|
||||
{{ with resources.Get "js/language-redirect.js" }}
|
||||
{{ $jsLanguageRedirect := . | resources.Minify | resources.Fingerprint $alg }}
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="{{ $jsLanguageRedirect.RelPermalink }}"
|
||||
integrity="{{ $jsLanguageRedirect.Data.Integrity }}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
Reference in new issue
Block a user