diff options
author | Wang Chucheng <wangchucheng@outlook.com> | 2020-12-18 18:50:53 +0300 |
---|---|---|
committer | Wang Chucheng <wangchucheng@outlook.com> | 2020-12-18 18:50:53 +0300 |
commit | 2d177e5bae58e9bd2b31a8c817877cf6e84a2dbb (patch) | |
tree | ccad68b4b09ef866bdaadfb9b3868446c753fa62 | |
parent | 5c8e0b6c72d45d4f76979d4b9de14f8fa58e3b7a (diff) |
refactor: header menus
-rw-r--r-- | layouts/partials/header.html | 43 | ||||
-rw-r--r-- | package.json | 2 |
2 files changed, 9 insertions, 36 deletions
diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 3865b47..3332566 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -1,21 +1,15 @@ <script> let storageColorScheme = localStorage.getItem("lightDarkMode") {{- if eq .Site.Params.colorScheme "light" }} - if (storageColorScheme == 'Auto' && window.matchMedia("(prefers-color-scheme: dark)").matches) { - document.getElementsByTagName('html')[0].classList.add('dark') - } else if (storageColorScheme == "Dark") { + if ((storageColorScheme == 'Auto' && window.matchMedia("(prefers-color-scheme: dark)").matches) || storageColorScheme == "Dark") { document.getElementsByTagName('html')[0].classList.add('dark') } {{- else if eq .Site.Params.colorScheme "dark" }} - if (storageColorScheme == 'Auto' && window.matchMedia("(prefers-color-scheme: light)").matches) { - document.getElementsByTagName('html')[0].classList.remove('dark') - } else if (storageColorScheme == "Light") { + if ((storageColorScheme == 'Auto' && window.matchMedia("(prefers-color-scheme: light)").matches) || storageColorScheme == "Light") { document.getElementsByTagName('html')[0].classList.remove('dark') } {{- else }} - if ((storageColorScheme == 'Auto' || storageColorScheme == null) && window.matchMedia("(prefers-color-scheme: dark)").matches) { - document.getElementsByTagName('html')[0].classList.add('dark') - } else if (storageColorScheme == "Dark") { + if (((storageColorScheme == 'Auto' || storageColorScheme == null) && window.matchMedia("(prefers-color-scheme: dark)").matches) || storageColorScheme == "Dark") { document.getElementsByTagName('html')[0].classList.add('dark') } {{- end }} @@ -28,11 +22,12 @@ <div id="target" class="hidden block md:flex md:flex-grow md:justify-between md:items-center w-full md:w-auto text-primary-text z-20"> - <div class="text-sm md:flex-grow pb-4 md:pb-0 border-b md:border-b-0" id="current-url" - currenturl="{{ .Permalink }}"> + <div class="text-sm md:flex-grow pb-4 md:pb-0 border-b md:border-b-0"> + {{- $permalink := .Permalink }} {{- range .Site.Menus.main }} - <a href="{{ .URL | relLangURL }}" - class="block mt-4 md:inline-block md:mt-0 hover:text-eureka mr-4 main-a">{{ .Name }}</a> + {{- $url := .URL | absLangURL }} + <a href="{{ $url }}" + class="block mt-4 md:inline-block md:mt-0 {{ if hasPrefix $permalink $url }} text-eureka {{ end }} hover:text-eureka mr-4">{{ .Name }}</a> {{- end }} </div> @@ -132,26 +127,4 @@ switchLanguage() {{- end }} }); - - let currenturl = document.getElementById('current-url').getAttribute('currenturl') - if (currenturl.length > 1) { - currenturl = currenturl.substr(0, currenturl.length - 1) - } - - sessionStorage.setItem("mainKey", currenturl) - - let elements = document.getElementsByClassName('main-a'); - for (let i in elements) { - if (typeof elements[i] === "object") { - let elementurl = elements[i].getAttribute('href') - if (elementurl.length > 1 && elementurl.charAt(elementurl.length - 1) == '/') { - elementurl = elementurl.substr(0, elementurl.length - 1) - } - if (elementurl == sessionStorage.getItem("mainKey")) { - elements[i].classList.add('text-eureka') - } else { - elements[i].classList.remove('text-eureka') - } - } - } </script>
\ No newline at end of file diff --git a/package.json b/package.json index 376de1b..1dc52fb 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Starter files for the eureka theme for hugo.", "main": "index.js", "repository": "https://github.com/wangchucheng/hugo-eureka", - "author": "C. Wang <web@wangchucheng.com>", + "author": "C. Wang <wangchucheng@outlook.com>", "license": "MIT", "scripts": { "start": "hugo --gc" |