25 lines
765 B
JavaScript
25 lines
765 B
JavaScript
|
// Function to set the theme based on the preferred color scheme
|
||
|
function setPrismTheme() {
|
||
|
const prismThemeLink = document.getElementById("prism-theme");
|
||
|
const darkTheme =
|
||
|
"https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css";
|
||
|
const lightTheme =
|
||
|
"https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-solarizedlight.min.css";
|
||
|
if (
|
||
|
window.matchMedia &&
|
||
|
window.matchMedia("(prefers-color-scheme: dark)").matches
|
||
|
) {
|
||
|
prismThemeLink.href = darkTheme;
|
||
|
} else {
|
||
|
prismThemeLink.href = lightTheme;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Initial theme set
|
||
|
setPrismTheme();
|
||
|
|
||
|
// Listen for changes in the preferred color scheme
|
||
|
window
|
||
|
.matchMedia("(prefers-color-scheme: dark)")
|
||
|
.addEventListener("change", setPrismTheme);
|