forked from quantorconsulting/mkdocs_build_plantuml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimages_dark.js
32 lines (28 loc) · 925 Bytes
/
images_dark.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
if (window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
var darkables = document.querySelectorAll('img[src$="darkable"');
fromLightToDark(darkables);
}
const darkModeMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
darkModeMediaQuery.addListener((e) => {
const darkModeOn = e.matches;
var darkables = document.querySelectorAll('img[src$="darkable"');
if (darkModeOn)
fromLightToDark(darkables);
else
fromDarkToLight(darkables);
console.log(`Dark mode is ${darkModeOn ? '🌒 on' : '☀️ off'}.`);
});
function fromLightToDark(images) {
images.forEach(image => {
var idx = image.src.lastIndexOf('.');
if (idx > -1) {
var add = "_dark";
image.src = [image.src.slice(0, idx), add, image.src.slice(idx)].join('');
}
});
}
function fromDarkToLight(images) {
images.forEach(image => {
image.src = image.src.replace("_dark", "");
});
}