mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-18 07:23:09 +00:00
prevent loading twice
This commit is contained in:
@@ -29,12 +29,11 @@
|
||||
|
||||
// Event listener for language selection
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const storedLanguage = getLanguage()
|
||||
const languageItems = document.querySelectorAll(
|
||||
'#language-selector .dropdown-item')
|
||||
|
||||
if (languageItems.length > 0) {
|
||||
const storedLanguage = getLanguage()
|
||||
|
||||
// Redirect if the stored language differs from the active language
|
||||
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
|
||||
languageItems.forEach(item => {
|
||||
@@ -56,7 +55,10 @@
|
||||
})
|
||||
}
|
||||
else{
|
||||
removeSelectedLanguage(); // Remove stored language if no language selection is available in the dropdown menu.
|
||||
// Redirect to the localized homepage
|
||||
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
|
||||
let language = storedLanguage ? storedLanguage : defaultLang
|
||||
window.location.href = '/' + language + '/'
|
||||
}
|
||||
})
|
||||
})()
|
||||
|
@@ -1,8 +0,0 @@
|
||||
window.onload = function () {
|
||||
removeSelectedLanguage()
|
||||
}
|
||||
|
||||
// Function to remove the selected language from localStorage
|
||||
function removeSelectedLanguage () {
|
||||
localStorage.removeItem('selectedLanguage')
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
---
|
||||
author: Mark Dumay
|
||||
title: Remove selected language
|
||||
slug: remove-selected-language
|
||||
date: 2024-08-09
|
||||
description: Remove selected language
|
||||
tags:
|
||||
- shortcode
|
||||
thumbnail:
|
||||
url: img/boots.jpg
|
||||
author: Nathan Dumlao
|
||||
authorURL: https://unsplash.com/@nate_dumlao
|
||||
origin: Unsplash
|
||||
originURL: https://unsplash.com/photos/QLPWQvHvmII
|
||||
---
|
||||
|
||||
Via the adjustable configuration
|
||||
|
||||
`enableLanguageSelectionStorage = true`
|
||||
|
||||
in **params.toml** (\exampleSite\config\_default\params.toml)
|
||||
the selected language is stored in the browser *localStorage* in the "**selectedLanguage**" key.
|
||||
|
||||
The script can be found here:
|
||||
**assets\js\critical\languageSelector.js**
|
||||
|
||||
## Remove selected language
|
||||
|
||||
If the key is to be removed, the shortcode
|
||||
**remove-selected-language**
|
||||
can be used on the respective page.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* remove-selected-language */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
{{< remove-selected-language >}}
|
@@ -302,7 +302,6 @@
|
||||
"mt-auto",
|
||||
"multi-docs-collapse-15",
|
||||
"multi-file-collapse-1",
|
||||
"multi-file-collapse-2",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
"mx-md-2",
|
||||
@@ -491,7 +490,6 @@
|
||||
"blog",
|
||||
"body-docs-collapse-15",
|
||||
"body-file-collapse-1",
|
||||
"body-file-collapse-2",
|
||||
"bouton",
|
||||
"breadcrumb",
|
||||
"btn-webshare",
|
||||
@@ -518,7 +516,6 @@
|
||||
"file",
|
||||
"footer-docs-collapse-15",
|
||||
"footer-file-collapse-1",
|
||||
"footer-file-collapse-2",
|
||||
"formula-katex",
|
||||
"formule-katex",
|
||||
"groupe-de-boutons",
|
||||
@@ -560,7 +557,6 @@
|
||||
"projets",
|
||||
"publication",
|
||||
"release",
|
||||
"remove-selected-language",
|
||||
"réduire",
|
||||
"spinner",
|
||||
"sub",
|
||||
|
@@ -7,6 +7,10 @@
|
||||
<meta name="robots" content="noindex">
|
||||
<meta charset="utf-8">
|
||||
<noscript><meta http-equiv="refresh" content="0; url={{ .Permalink }}"></noscript>
|
||||
<script src='{{ partial "utilities/GetStaticURL" (dict "url" "js/alias.js") }}'></script>
|
||||
{{ if site.Params.main.enableLanguageSelectionStorage }}
|
||||
{{- partial "footer/scripts.html" (dict "filename" "js/critical.bundle.js" "match" "js/critical/**.js" "header" true "page" page) -}}
|
||||
{{ else }}
|
||||
<script src='{{ partial "utilities/GetStaticURL" (dict "url" "js/alias.js") }}'></script>
|
||||
{{ end }}
|
||||
</head>
|
||||
</html>
|
@@ -25,13 +25,13 @@
|
||||
{{- $state := .state | default "async" -}}
|
||||
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
|
||||
|
||||
{{ $config := $page.Scratch.Get "modules" }}
|
||||
{{ if not $config }}
|
||||
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
|
||||
{{ end }}
|
||||
|
||||
{{- $modules := "" -}}
|
||||
{{ if $core }}
|
||||
{{ $config := $page.Scratch.Get "modules" }}
|
||||
{{ if not $config }}
|
||||
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
|
||||
{{ end }}
|
||||
|
||||
{{- $modules = $config.core -}}
|
||||
{{- if reflect.IsSlice $config.localize -}}
|
||||
{{- range $index, $mod := $modules -}}
|
||||
|
@@ -1,2 +0,0 @@
|
||||
{{ $languageSelectorRemover := resources.Get "js/optional/languageSelectorRemover.js" | minify | fingerprint -}}
|
||||
<script defer src="{{ $languageSelectorRemover.RelPermalink }}"></script>
|
1
package-lock.json
generated
1
package-lock.json
generated
@@ -4335,6 +4335,7 @@
|
||||
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
|
||||
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ansi-styles": "^3.2.1",
|
||||
"chalk": "^2.4.1",
|
||||
|
Reference in New Issue
Block a user