39 lines
892 B
HTML
39 lines
892 B
HTML
|
---
|
||
|
layout: compress
|
||
|
---
|
||
|
<!DOCTYPE html>
|
||
|
<html lang="{{ page.lang | default: site.lang | default: " en " }}">
|
||
|
{% include header.html %}
|
||
|
|
||
|
<body data-theme="{{ site.mode }}" class="notransition">
|
||
|
|
||
|
<script>
|
||
|
const body = document.body;
|
||
|
const data = body.getAttribute("data-theme");
|
||
|
|
||
|
const initTheme = (state) => {
|
||
|
if (state === "dark") {
|
||
|
body.setAttribute("data-theme", "dark");
|
||
|
} else if (state === "light") {
|
||
|
body.removeAttribute("data-theme");
|
||
|
} else {
|
||
|
localStorage.setItem("theme", data);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
initTheme(localStorage.getItem("theme"));
|
||
|
|
||
|
setTimeout(() => body.classList.remove("notransition"), 75);
|
||
|
</script>
|
||
|
|
||
|
{% include navbar.html %}
|
||
|
<div class="wrapper">
|
||
|
{% include author.html %}
|
||
|
<main aria-label="Content">
|
||
|
{{ content }}
|
||
|
</main>
|
||
|
{% include footer.html %}
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|