<script>
const darkModeQuery = '(prefers-color-scheme: dark)'; const darkModeClass = 'dark-mode' {% assign dark_mode = site.dark_mode | default: "system" %} {% if dark_mode == "system" %} // set initial theme based on system preferences if (window.matchMedia && window.matchMedia(darkModeQuery).matches) { document.body.classList.add(darkModeClass); } // watch for changes in system preferences window.matchMedia(darkModeQuery).addEventListener('change', e => { document.body.classList.toggle(darkModeClass); }); {% endif %} {% if dark_mode == "always" %} // set dark mode document.body.classList.add(darkModeClass); {% endif %} {% if dark_mode == "never" %} // do nothing, since dark mode is off by default {% endif %}
</script>