wiki/docs/features/darkmode.md
kabirgh 0a76707062
feat: Emit custom event when theme changes (#723)
* Emit custom event when theme changes

* Type themechange custom event

* Update darkmode docs
2024-01-23 14:52:41 -08:00

800 B

title tags
Darkmode
component

Quartz supports darkmode out of the box that respects the user's theme preference. Any future manual toggles of the darkmode switch will be saved in the browser's local storage so it can be persisted across future page loads.

Customization

  • Removing darkmode: delete all usages of Component.Darkmode() from quartz.layout.ts.
  • Component: quartz/components/Darkmode.tsx
  • Style: quartz/components/styles/darkmode.scss
  • Script: quartz/components/scripts/darkmode.inline.ts

You can also listen to the themechange event to perform any custom logic when the theme changes.

document.addEventListener("themechange", (e) => {
  console.log("Theme changed to " + e.detail.theme) // either "light" or "dark"
  // your logic here
})