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

github.com/reuixiy/hugo-theme-meme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorreuixiy <reuixiy@gmail.com>2020-06-24 12:39:37 +0300
committerreuixiy <reuixiy@gmail.com>2020-06-24 13:15:50 +0300
commit10fce2b9bc13f33ccf333333e1d8cdd0f6945f15 (patch)
tree8b11f1bc65f5d79dc651b078ae2cfce18e565ab4
parent066138ad581620c13e5561c4a234b2748d807546 (diff)
refactor: simplify utterances.html
Currently, `changeMode()` function in dark-mode.js can handle it well.
-rw-r--r--assets/js/dark-mode.js4
-rw-r--r--layouts/partials/third-party/utterances.html38
2 files changed, 9 insertions, 33 deletions
diff --git a/assets/js/dark-mode.js b/assets/js/dark-mode.js
index be82658..e943545 100644
--- a/assets/js/dark-mode.js
+++ b/assets/js/dark-mode.js
@@ -73,9 +73,9 @@ function changeMode() {
// Change Utterances Comments Theme
// https://github.com/utterance/utterances/issues/229
if (isDark) {
- changeUtterancesTheme('{{ .Site.Params.utterancesThemeDark }}');
+ changeUtterancesTheme('{{ .Site.Params.utterancesThemeDark | default "photon-dark" }}');
} else {
- changeUtterancesTheme('{{ .Site.Params.utterancesTheme }}');
+ changeUtterancesTheme('{{ .Site.Params.utterancesTheme | default "github-light" }}');
}
function changeUtterancesTheme(theme) {
const iframe = document.querySelector('.utterances-frame');
diff --git a/layouts/partials/third-party/utterances.html b/layouts/partials/third-party/utterances.html
index 4bcd9ae..94a12d8 100644
--- a/layouts/partials/third-party/utterances.html
+++ b/layouts/partials/third-party/utterances.html
@@ -1,15 +1,3 @@
-{{- if .Site.Params.enableDarkMode -}}
- {{- with .Site.Params.defaultTheme | default "light" -}}
- {{- if eq . "light" -}}
- {{- $.Scratch.Set "theme" $.Site.Params.utterancesTheme -}}
- {{- else -}}
- {{- $.Scratch.Set "theme" $.Site.Params.utterancesThemeDark -}}
- {{- end -}}
- {{- end -}}
-{{- else -}}
- {{- $.Scratch.Set "theme" $.Site.Params.utterancesTheme -}}
-{{- end -}}
-{{- $theme := $.Scratch.Get "theme" -}}
<script>
function loadComments() {
(function() {
@@ -20,7 +8,7 @@
script.crossOrigin = 'anonymous';
script.setAttribute('repo', '{{ .Site.Params.utterancesRepo }}');
script.setAttribute('issue-term', '{{ .Site.Params.utterancesIssueTerm }}');
- {{ template "theme" (dict "$" . "theme" $theme) }}
+ script.setAttribute('theme', '{{ template "utterances-theme" . }}');
{{ with .Site.Params.utterancesLabel }}
script.setAttribute('label', '{{ . }}');
{{ end }}
@@ -28,23 +16,11 @@
})();
}
</script>
-{{- define "theme" -}}
- {{- $ := index . "$" -}}
- {{- $theme := .theme -}}
- {{- if $.Site.Params.enableDarkMode -}}
- const userPrefers = localStorage.getItem('theme');
- const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
- const lightModeMediaQuery = window.matchMedia('(prefers-color-scheme: light)');
- if (userPrefers === "dark") {
- script.setAttribute('theme', '{{ $.Site.Params.utterancesThemeDark }}');
- } else if (userPrefers === "light") {
- script.setAttribute('theme', '{{ $.Site.Params.utterancesTheme }}');
- } else if (darkModeMediaQuery.matches) {
- script.setAttribute('theme', '{{ $.Site.Params.utterancesThemeDark }}');
- } else if (lightModeMediaQuery.matches) {
- script.setAttribute('theme', '{{ $.Site.Params.utterancesTheme }}');
- }
- {{- else -}}
- script.setAttribute('theme', '{{ $theme }}');
+
+{{- define "utterances-theme" -}}
+ {{- $theme := .Site.Params.utterancesTheme | default "github-light" -}}
+ {{- if and .Site.Params.enableDarkMode (eq .Site.Params.defaultTheme "dark") -}}
+ {{- $theme = .Site.Params.utterancesThemeDark | default "photon-dark" -}}
{{- end -}}
+ {{- $theme -}}
{{- end -}}