mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-18 15:33:10 +00:00
prevent loading twice
This commit is contained in:
@@ -29,12 +29,11 @@
|
|||||||
|
|
||||||
// Event listener for language selection
|
// Event listener for language selection
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const storedLanguage = getLanguage()
|
||||||
const languageItems = document.querySelectorAll(
|
const languageItems = document.querySelectorAll(
|
||||||
'#language-selector .dropdown-item')
|
'#language-selector .dropdown-item')
|
||||||
|
|
||||||
if (languageItems.length > 0) {
|
if (languageItems.length > 0) {
|
||||||
const storedLanguage = getLanguage()
|
|
||||||
|
|
||||||
// Redirect if the stored language differs from the active language
|
// Redirect if the stored language differs from the active language
|
||||||
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
|
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
|
||||||
languageItems.forEach(item => {
|
languageItems.forEach(item => {
|
||||||
@@ -56,7 +55,10 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
else{
|
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",
|
"mt-auto",
|
||||||
"multi-docs-collapse-15",
|
"multi-docs-collapse-15",
|
||||||
"multi-file-collapse-1",
|
"multi-file-collapse-1",
|
||||||
"multi-file-collapse-2",
|
|
||||||
"mx-auto",
|
"mx-auto",
|
||||||
"mx-md-0",
|
"mx-md-0",
|
||||||
"mx-md-2",
|
"mx-md-2",
|
||||||
@@ -491,7 +490,6 @@
|
|||||||
"blog",
|
"blog",
|
||||||
"body-docs-collapse-15",
|
"body-docs-collapse-15",
|
||||||
"body-file-collapse-1",
|
"body-file-collapse-1",
|
||||||
"body-file-collapse-2",
|
|
||||||
"bouton",
|
"bouton",
|
||||||
"breadcrumb",
|
"breadcrumb",
|
||||||
"btn-webshare",
|
"btn-webshare",
|
||||||
@@ -518,7 +516,6 @@
|
|||||||
"file",
|
"file",
|
||||||
"footer-docs-collapse-15",
|
"footer-docs-collapse-15",
|
||||||
"footer-file-collapse-1",
|
"footer-file-collapse-1",
|
||||||
"footer-file-collapse-2",
|
|
||||||
"formula-katex",
|
"formula-katex",
|
||||||
"formule-katex",
|
"formule-katex",
|
||||||
"groupe-de-boutons",
|
"groupe-de-boutons",
|
||||||
@@ -560,7 +557,6 @@
|
|||||||
"projets",
|
"projets",
|
||||||
"publication",
|
"publication",
|
||||||
"release",
|
"release",
|
||||||
"remove-selected-language",
|
|
||||||
"réduire",
|
"réduire",
|
||||||
"spinner",
|
"spinner",
|
||||||
"sub",
|
"sub",
|
||||||
|
@@ -7,6 +7,10 @@
|
|||||||
<meta name="robots" content="noindex">
|
<meta name="robots" content="noindex">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<noscript><meta http-equiv="refresh" content="0; url={{ .Permalink }}"></noscript>
|
<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>
|
</head>
|
||||||
</html>
|
</html>
|
@@ -25,13 +25,13 @@
|
|||||||
{{- $state := .state | default "async" -}}
|
{{- $state := .state | default "async" -}}
|
||||||
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
|
{{- 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 := "" -}}
|
{{- $modules := "" -}}
|
||||||
{{ if $core }}
|
{{ if $core }}
|
||||||
|
{{ $config := $page.Scratch.Get "modules" }}
|
||||||
|
{{ if not $config }}
|
||||||
|
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{- $modules = $config.core -}}
|
{{- $modules = $config.core -}}
|
||||||
{{- if reflect.IsSlice $config.localize -}}
|
{{- if reflect.IsSlice $config.localize -}}
|
||||||
{{- range $index, $mod := $modules -}}
|
{{- 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",
|
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
|
||||||
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
|
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-styles": "^3.2.1",
|
"ansi-styles": "^3.2.1",
|
||||||
"chalk": "^2.4.1",
|
"chalk": "^2.4.1",
|
||||||
|
Reference in New Issue
Block a user