Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gurusabarish/hugo-profile.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgurusabarish <gurusabarisha@gmail.com>2022-01-25 20:38:26 +0300
committergurusabarish <gurusabarisha@gmail.com>2022-01-25 20:38:26 +0300
commitbbcf135e1737bed612159361fde439ad45fc3675 (patch)
tree7835cab1a0f827325d3efa1187cc5b4fb197e452
parent5cc0bc0a4662a83fc2092ba70257ccbd59e201a7 (diff)
Auto darkmode fix
-rw-r--r--.gitignore18
-rw-r--r--layouts/_default/baseof.html35
-rw-r--r--layouts/index.html53
-rw-r--r--layouts/partials/sections/v3/auto_darkmode.html1
-rw-r--r--static/js/auto_darkmode.js54
5 files changed, 87 insertions, 74 deletions
diff --git a/.gitignore b/.gitignore
index e638b80..ec3db1e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,19 @@
-/public
/config.yaml
/content
/static/images
-.vscode \ No newline at end of file
+.vscode
+
+### Hugo ###
+# Generated files by hugo
+/public/
+/resources/_gen/
+/assets/jsconfig.json
+hugo_stats.json
+
+# Executable may be added to repository
+hugo.exe
+hugo.darwin
+hugo.linux
+
+# Temporary lock file while building
+/.hugo_build.lock \ No newline at end of file
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 551f32a..f1d35b8 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -56,6 +56,20 @@
$('[data-toggle="tooltip"]').tooltip()
})
</script>
+
+ <!-- Darkmode -->
+ <script>
+ function autoDarkMode() {
+ $("body").toggleClass("darkmode");
+ $(".fa-moon").addClass("d-none");
+ $(".fa-sun").removeClass("d-none");
+ $("nav").toggleClass("navbar-dark");
+ $("nav").toggleClass("navbar-light");
+ $('.text-dark').toggleClass('darkmode-text-dark');
+ $('.text-muted').toggleClass('darkmode-text-muted');
+ };
+ </script>
+ <script src="/js/auto_darkmode.js"></script>
<script>
$('.darkmode-label').click(function () {
$("body").toggleClass("darkmode");
@@ -63,26 +77,13 @@
$(".fa-sun").toggleClass("d-none");
$("nav").toggleClass("navbar-dark");
$("nav").toggleClass("navbar-light");
- $('.text-dark').addClass('darkmode-text-dark').removeClass('text-dark');
- $('.text-muted').addClass('darkmode-text-muted').removeClass('text-muted');
- if ($('input.custom-control-input').is(':checked')) {
- $('.darkmode-text-dark').addClass('text-dark').removeClass('darkmode-text-dark');
- $('.darkmode-text-muted').addClass('text-muted').removeClass('darkmode-text-muted');
- };
+ $('.text-dark').toggleClass('darkmode-text-dark');
+ $('.text-muted').toggleClass('darkmode-text-muted');
+
switchDarkmodeSetting();
});
- if ($('input.custom-control-input').is(':checked')) {
- $("body").toggleClass("darkmode");
- $(".fa-moon").addClass("d-none");
- $(".fa-sun").removeClass("d-none");
- $("nav").toggleClass("navbar-dark");
- $("nav").toggleClass("navbar-light");
- $('.text-dark').addClass('darkmode-text-dark').removeClass('text-dark');
- $('.text-muted').addClass('darkmode-text-muted').removeClass('text-muted');
- switchDarkmodeSetting();
- };
</script>
- {{- partial "sections/v3/auto_darkmode.html" . -}}
+
</body>
{{ else }}
diff --git a/layouts/index.html b/layouts/index.html
index 3fc8c64..e01e9a9 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -115,6 +115,23 @@
{{- partial "sections/v3/footer.html" . -}}
{{- partial "sections/v3/scripts.html" . -}}
</div>
+
+ <!-- Darkmode -->
+ <script>
+ function autoDarkMode() {
+ $("body").toggleClass("darkmode");
+ $(".fa-moon").addClass("d-none");
+ $(".fa-sun").removeClass("d-none");
+ $("nav").toggleClass("navbar-dark");
+ $("nav").toggleClass("navbar-light");
+ $(".text-dark").toggleClass("darkmode-text-dark");
+ $(".text-muted").toggleClass("darkmode-text-muted")
+ $(".about-backdark").toggleClass("about-back");
+ $(".education-backdark").toggleClass("education-back");
+ $(".achievements-backdark").toggleClass("achievements-back");
+ }
+ </script>
+ <script src="/js/auto_darkmode.js"></script>
<script>
/*
document.onreadystatechange = function () {
@@ -131,6 +148,7 @@
}
};
*/
+
$(".darkmode-label").click(function () {
$("body").toggleClass("darkmode");
$(".fa-moon").toggleClass("d-none");
@@ -140,40 +158,17 @@
$(".achievements-backdark").toggleClass("achievements-back");
$("nav").toggleClass("navbar-dark");
$("nav").toggleClass("navbar-light");
- $(".text-dark").addClass("darkmode-text-dark").removeClass("text-dark");
- $(".text-muted")
- .addClass("darkmode-text-muted")
- .removeClass("text-muted");
- if ($("input.custom-control-input").is(":checked")) {
- $(".darkmode-text-dark")
- .addClass("text-dark")
- .removeClass("darkmode-text-dark");
- $(".darkmode-text-muted")
- .addClass("text-muted")
- .removeClass("darkmode-text-muted");
- }
+ $(".text-dark").toggleClass("darkmode-text-dark");
+ $(".text-muted").toggleClass("darkmode-text-muted")
+
switchDarkmodeSetting();
});
- if ($("input.custom-control-input").is(":checked")) {
- $("body").toggleClass("darkmode");
- $(".fa-moon").addClass("d-none");
- $(".fa-sun").removeClass("d-none");
- $("nav").toggleClass("navbar-dark");
- $("nav").toggleClass("navbar-light");
- $(".text-dark").addClass("darkmode-text-dark").removeClass("text-dark");
- $(".text-muted")
- .addClass("darkmode-text-muted")
- .removeClass("text-muted");
- $(".about-backdark").toggleClass("about-back");
- $(".education-backdark").toggleClass("education-back");
- $(".achievements-backdark").toggleClass("achievements-back");
- switchDarkmodeSetting();
- }
+
+
</script>
- {{- partial "sections/v3/auto_darkmode.html" . -}}
</body>
{{ else }}
{{ end }}
-</html>
+</html> \ No newline at end of file
diff --git a/layouts/partials/sections/v3/auto_darkmode.html b/layouts/partials/sections/v3/auto_darkmode.html
deleted file mode 100644
index 4477fd9..0000000
--- a/layouts/partials/sections/v3/auto_darkmode.html
+++ /dev/null
@@ -1 +0,0 @@
-<script src="/js/auto_darkmode.js"></script> \ No newline at end of file
diff --git a/static/js/auto_darkmode.js b/static/js/auto_darkmode.js
index 817549d..51a8fd7 100644
--- a/static/js/auto_darkmode.js
+++ b/static/js/auto_darkmode.js
@@ -1,21 +1,21 @@
-function setCookie(cname, cvalue) {
- document.cookie = cname + "=" + cvalue + ";path=/;";
+function setCookie(name,value,days) {
+ var expires = "";
+ if (days) {
+ var date = new Date();
+ date.setTime(date.getTime() + (days*24*60*60*1000));
+ expires = "; expires=" + date.toUTCString();
+ }
+ document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
-
-function getCookie(cname) {
- let name = cname + "=";
- let decodedCookie = decodeURIComponent(document.cookie);
- let ca = decodedCookie.split(';');
- for(let i = 0; i <ca.length; i++) {
- let c = ca[i];
- while (c.charAt(0) == ' ') {
- c = c.substring(1);
- }
- if (c.indexOf(name) == 0) {
- return c.substring(name.length, c.length);
- }
+function getCookie(name) {
+ var nameEQ = name + "=";
+ var ca = document.cookie.split(';');
+ for(var i=0;i < ca.length;i++) {
+ var c = ca[i];
+ while (c.charAt(0)==' ') c = c.substring(1,c.length);
+ if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
- return "";
+ return null;
}
function getDarkmodeSetting() {
@@ -31,14 +31,14 @@ function getDarkmodeSetting() {
function setDarkmodeSetting(value) {
if (value) {
- setCookie("darkmode", "true");
+ setCookie("darkmode", "true", 100);
} else {
- setCookie("darkmode", "false");
+ setCookie("darkmode", "false", 100);
}
}
function switchDarkmodeSetting() {
- let darkmode = getDarkmodeSetting();
+ const darkmode = getDarkmodeSetting();
switch(darkmode) {
case true:
setDarkmodeSetting(false);
@@ -49,11 +49,15 @@ function switchDarkmodeSetting() {
default:
setDarkmodeSetting(true);
break;
- }
+ }
}
-let darkmode = getDarkmodeSetting();
-let darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches;
-if ((darkmode_prefer && darkmode===null) || darkmode) {
- $(".darkmode-label").click();
-} \ No newline at end of file
+
+const check_darkmode = getDarkmodeSetting();
+const darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches;
+if (darkmode_prefer && check_darkmode === null) {
+ autoDarkMode();
+ setDarkmodeSetting(true);
+} else if (check_darkmode) {
+ autoDarkMode();
+}