Files
blowfish/layouts/partials/language-redirect.html

36 lines
1.7 KiB
HTML

{{ $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.Locale | 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.Locale | 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 }}