Fix utterances auto theme

This commit is contained in:
Dave Gallant
2024-01-07 10:26:45 -05:00
parent 398cde5481
commit 413b06bb8a

View File

@@ -1,23 +1,29 @@
{{- $scriptSrc := "https://utteranc.es/client.js" -}} {{- $scriptSrc := "https://utteranc.es/client.js" -}} {{- $issueTerm :=
.Page.Site.Params.comments.utterances.issueTerm -}} {{- $label :=
{{- $issueTerm := .Page.Site.Params.comments.utterances.issueTerm -}} .Page.Site.Params.comments.utterances.label -}} {{- $username :=
{{- $label := .Page.Site.Params.comments.utterances.label -}} .Page.Site.Params.comments.utterances.github.username -}} {{- $repository :=
{{- $username := .Page.Site.Params.comments.utterances.github.username -}} .Page.Site.Params.comments.utterances.github.repository -}}
{{- $repository := .Page.Site.Params.comments.utterances.github.repository -}}
<script> <script>
// load utteranc comment // load utteranc comment
var getTheme = window.localStorage && window.localStorage.getItem("theme"); var getTheme = window.localStorage && window.localStorage.getItem("theme");
getTheme = getTheme == null ? 'dark' : getTheme; getTheme =
getTheme == null
? window.matchMedia &&
window.matchMedia("(prefers-color-scheme: light)").matches
? "light"
: "dark"
: getTheme;
getTheme = getTheme == null ? "dark" : getTheme;
let theme = getTheme === 'dark' ? 'gruvbox-dark' : 'github-light'; let theme = getTheme === "dark" ? "gruvbox-dark" : "github-light";
let s = document.createElement('script'); let s = document.createElement("script");
s.src = 'https://utteranc.es/client.js'; s.src = "https://utteranc.es/client.js";
s.setAttribute('repo', '{{ print $username "/" $repository }}'); s.setAttribute("repo", '{{ print $username "/" $repository }}');
s.setAttribute('issue-term', '{{ $issueTerm }}'); s.setAttribute("issue-term", "{{ $issueTerm }}");
s.setAttribute('theme', theme); s.setAttribute("theme", theme);
s.setAttribute('crossorigin', 'anonymous'); s.setAttribute("crossorigin", "anonymous");
s.setAttribute('async', ''); s.setAttribute("async", "");
document.querySelector('div.comments').innerHTML = ''; document.querySelector("div.comments").innerHTML = "";
document.querySelector('div.comments').appendChild(s); document.querySelector("div.comments").appendChild(s);
</script> </script>