2021-10-10 10:31:57 -07:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="{{ site.LanguageCode }}">
|
|
|
|
{{ partial "head.html" . }}
|
|
|
|
|
|
|
|
<body class="not-ready" data-menu="{{ isset site.Menus `main` }}">
|
|
|
|
{{ partial "header.html" . }}
|
2021-12-26 12:43:26 -07:00
|
|
|
<main class="main">
|
|
|
|
{{ block "main" . }}{{ end }}
|
|
|
|
</main>
|
2021-10-10 10:31:57 -07:00
|
|
|
{{ partial "footer.html" . }}
|
|
|
|
</body>
|
2022-03-25 23:21:43 -07:00
|
|
|
|
2022-08-27 10:09:55 -07:00
|
|
|
{{ if and .IsPage (.Page.Scratch.Get "includes_railroad_diagram") }}
|
|
|
|
<script defer type="module" src="{{ `scripts/railroad.js` | absURL }}"></script>
|
|
|
|
<script defer type="module" src="{{ `scripts/railroad-utils.js` | absURL }}"></script>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ if and .IsPage (.Page.Scratch.Get "includes_p5_sketch") }}
|
|
|
|
<script defer src="{{ `scripts/p5-1.4.1.min.js` | absURL }}"></script>
|
|
|
|
<script defer src="{{ `scripts/sketch-utils.js` | absURL }}"></script>
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
{{ range $script := .Resources.Match "*.js" }}
|
|
|
|
{{ $isModule := default true $script.Params.is_module }}
|
|
|
|
<script defer {{ if $isModule }}type="module"{{ end }} src="{{ $script.Permalink | relURL }}"></script>
|
|
|
|
{{ end }}
|
|
|
|
|
2021-10-10 10:31:57 -07:00
|
|
|
<script>
|
2022-03-24 23:15:47 -07:00
|
|
|
const bodyClasses = document.body.classList;
|
|
|
|
const systemDarkModeMatch = window.matchMedia('(prefers-color-scheme: dark)');
|
|
|
|
const localStorageDarkMode = localStorage.getItem('dark');
|
2021-10-10 10:31:57 -07:00
|
|
|
|
2022-03-24 23:15:47 -07:00
|
|
|
const setDark = isDark => {
|
2021-12-26 12:43:26 -07:00
|
|
|
bodyClasses[isDark ? 'add' : 'remove']('dark');
|
2021-10-10 10:31:57 -07:00
|
|
|
localStorage.setItem('dark', isDark ? 'yes' : 'no');
|
|
|
|
};
|
|
|
|
|
2021-12-26 12:43:26 -07:00
|
|
|
setDark(localStorageDarkMode ? localStorageDarkMode === 'yes' : systemDarkModeMatch.matches);
|
|
|
|
requestAnimationFrame(() => bodyClasses.remove('not-ready'));
|
|
|
|
systemDarkModeMatch.addEventListener('change', (event) => setDark(event.matches));
|
2021-10-10 10:31:57 -07:00
|
|
|
</script>
|
|
|
|
</html>
|