Skip to content

Commit 78f33d5

Browse files
committed
style: hook into theme's light/dark mode
Refs: https://pagefind.app/docs/css-variables/#dark-mode Signed-off-by: Mike Fiedler <miketheman@gmail.com>
1 parent cc2016a commit 78f33d5

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

pep_sphinx_extensions/pep_theme/static/colour_scheme.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const setColourScheme = (colourScheme = getColourScheme()) => {
99
document.documentElement.dataset.colour_scheme = colourScheme
1010
localStorage.setItem("colour_scheme", colourScheme)
1111
setPygments(colourScheme)
12+
setPfTheme(colourScheme)
1213
}
1314

1415
// Map system theme to a cycle of steps
@@ -31,5 +32,10 @@ const setPygments = (colourScheme = getColourScheme()) => {
3132
pygmentsLight.media = colourScheme === "auto" ? "(prefers-color-scheme: light)" : ""
3233
}
3334

35+
const setPfTheme = (colourScheme = getColourScheme()) => {
36+
const isDark = colourScheme === "dark" || (colourScheme === "auto" && prefersDark.matches)
37+
document.documentElement.dataset.pfTheme = isDark ? "dark" : ""
38+
}
39+
3440
// Update Pygments state (the page theme is initialised inline, see page.html)
3541
document.addEventListener("DOMContentLoaded", () => setColourScheme())

0 commit comments

Comments
 (0)