diff --git a/src/resources/formats/html/giscus/giscus.ejs b/src/resources/formats/html/giscus/giscus.ejs
index d80da2f2fcb..6b68e2f6682 100644
--- a/src/resources/formats/html/giscus/giscus.ejs
+++ b/src/resources/formats/html/giscus/giscus.ejs
@@ -1,17 +1,67 @@
-
-
\ No newline at end of file
+
+
diff --git a/src/resources/formats/html/templates/quarto-html-before-body.ejs b/src/resources/formats/html/templates/quarto-html-before-body.ejs
index 441c1f2a96a..2f914862ffb 100644
--- a/src/resources/formats/html/templates/quarto-html-before-body.ejs
+++ b/src/resources/formats/html/templates/quarto-html-before-body.ejs
@@ -136,7 +136,7 @@
let newTheme = '';
- if(darkModeDefault) {
+ if(authorPrefersDark) {
newTheme = isAlternate ? baseTheme : alternateTheme;
} else {
newTheme = isAlternate ? alternateTheme : baseTheme;
@@ -165,10 +165,12 @@
};
<% if (respectUserColorScheme) { %>
+ const authorPrefersDark = <%= darkModeDefault %>;
const queryPrefersDark = window.matchMedia('(prefers-color-scheme: dark)');
const darkModeDefault = queryPrefersDark.matches;
<% } else { %>
const darkModeDefault = <%= darkModeDefault %>;
+ const authorPrefersDark = <%= darkModeDefault %>;
<% } %>
<% if (!darkModeDefault) { %>