[FEATURE] Dynamic theme change for giscus (#362)

* feat(giscus): dynamic theme change

* reformat and update giscus theme color to protanopia
This commit is contained in:
mancuoj 2022-12-21 20:26:13 +08:00 committed by GitHub
parent e71d7badd8
commit 86ad554095
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 15 deletions

View File

@ -1,17 +1,25 @@
{% extends "base.html" %} {% block disqus %}
<script src="https://giscus.app/client.js"
data-repo="PKUFlyingPig/cs-self-learning"
data-repo-id="R_kgDOGP67ng"
data-category="Announcements"
data-category-id="DIC_kwDOGP67ns4COM9Q"
data-mapping="title"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="zh-CN"
data-loading="lazy"
crossorigin="anonymous"
async>
{% extends "base.html" %}
{% block disqus %}
<script src="https://giscus.app/client.js" data-repo="PKUFlyingPig/cs-self-learning" data-repo-id="R_kgDOGP67ng"
data-category="Announcements" data-category-id="DIC_kwDOGP67ns4COM9Q" data-mapping="title"
data-reactions-enabled="1" data-emit-metadata="0" data-input-position="top" data-theme="light" data-lang="zh-CN"
data-loading="lazy" crossorigin="anonymous" async>
</script>
<script>
document.addEventListener("DOMContentLoaded", function () {
const ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function () {
var palette = __get("__palette")
if (palette && typeof palette.color === "object") {
const theme = palette.color.scheme === "slate" ? "dark_protanopia" : "light_protanopia"
const frame = document.querySelector(".giscus-frame")
frame.contentWindow.postMessage({
giscus: { setConfig: { theme } }
}, "https://giscus.app")
}
})
})
</script>
{% endblock %}