{%comment%}<!--
  ~ Copyright (C) 2017/2021 e-voyageurs technologies
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->{%endcomment%}

<script>
// this checks whether system dark mode is set
let systemInitiatedDark = window.matchMedia("(prefers-color-scheme: dark)");
const currentScheme = document.querySelector("body").dataset.mdColorScheme;
const forcedScheme = currentScheme !== "default";
const dark = currentScheme === "dark" || (currentScheme === "default" && systemInitiatedDark.matches);
Array.from(document.querySelectorAll("a")).filter(a => a.href.startsWith(`{{site.url}}{{site.baseurl}}`) || a.getAttribute("href").startsWith(`{{site.baseurl}}`) || a.getAttribute("href").startsWith("?")).forEach(a => {
    const parsedUrl = new URL(a.href);
    const searchParams = parsedUrl.searchParams;
    const urlColScheme = searchParams.get("scheme");
    if (urlColScheme) {
        if (urlColScheme === "dark" && dark) { // toggle
            searchParams.set("scheme", "light");
        } else if (urlColScheme === "light" && !dark) {    // toggle
            searchParams.set("scheme", "dark");
        }
    } else if (forcedScheme) {
        searchParams.set("scheme", dark ? "dark" : "light");
    }
    a.href = `${parsedUrl}`;
});
</script>