diff --git a/src/_includes/base.njk b/src/_includes/base.njk index b0686fa..e2e5085 100644 --- a/src/_includes/base.njk +++ b/src/_includes/base.njk @@ -3,24 +3,8 @@ - - + + {{ title or site.title }} diff --git a/src/assets/js/theme-init.js b/src/assets/js/theme-init.js new file mode 100644 index 0000000..b2565bc --- /dev/null +++ b/src/assets/js/theme-init.js @@ -0,0 +1,15 @@ +/* Set theme before paint to avoid a flash: saved choice, else system preference. + Also emit a matching theme-color meta so the mobile browser chrome matches. */ +(function () { + document.documentElement.classList.add('js'); + var theme = 'dark'; + try { + var saved = localStorage.getItem('theme'); + theme = saved || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); + } catch (e) {} + document.documentElement.dataset.theme = theme; + var meta = document.createElement('meta'); + meta.name = 'theme-color'; + meta.content = theme === 'light' ? '#eef2f8' : '#070d19'; + document.head.appendChild(meta); +})();