diff --git a/_layouts/default.html b/_layouts/default.html
index a88ccb3..dcaebab 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -1,16 +1,16 @@
-
+
{%- include head.html -%}
+ integrity="sha384-cRxb1HsKSl8bTfU9fBcGsjktUfQa6w+fwvkYnU8XjFH4Qg8To1+/9OXv5iRzrKX4" crossorigin="anonymous">
+ integrity="sha384-ov99pRO2tAc0JuxTVzf63RHHeQTJ0CIawbDZFiFTzB07aqFZwEu2pz4uzqL+5OPG" crossorigin="anonymous">
+ integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous">
+ integrity="sha384-Z35v0Cbs2xT8EPaBKl4dZ1mP5f8Ed4hlE+HdKJZMC7v+6Z8B7mK3AevxRhmhF2FM" crossorigin="anonymous">
+
+ const tocList = document.getElementById("toc");
+ const headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
+ const excludeClass = 'no-toc';
+
+ let currentLevel = 1;
+ let currentList = tocList;
+
+ headers.forEach(header => {
+ if (header.classList.contains(excludeClass)) {
+ return;
+ }
+
+ const level = parseInt(header.tagName.charAt(1));
+
+ if (header.id === "") {
+ header.id = header.textContent.toLowerCase().replace(/\s+/g, '-');
+ }
+
+ const link = document.createElement("a");
+ link.href = "#" + header.id;
+ link.textContent = header.textContent;
+
+ const listItem = document.createElement("li");
+ listItem.appendChild(link);
+
+ if (level > currentLevel) {
+ const newList = document.createElement("ul");
+ currentList.appendChild(newList);
+ currentList = newList;
+ } else if (level < currentLevel) {
+ for (let i = currentLevel; i > level; i--) {
+ currentList = currentList.parentElement;
+ }
+ }
+
+ currentList.appendChild(listItem);
+ currentLevel = level;
+ });
+ });
+
+ document.addEventListener("DOMContentLoaded", function () {
+ const toggleButton = document.getElementById("theme-toggle-button");
+ const currentTheme = localStorage.getItem("theme") || "light";
+ document.body.classList.add(currentTheme + "-mode");
+
+ toggleButton.addEventListener("click", function () {
+ if (document.body.classList.contains("light-mode")) {
+ document.body.classList.remove("light-mode");
+ document.body.classList.add("dark-mode");
+ localStorage.setItem("theme", "dark");
+ toggleButton.textContent = "☀️";
+ } else {
+ document.body.classList.remove("dark-mode");
+ document.body.classList.add("light-mode");
+ localStorage.setItem("theme", "light");
+ toggleButton.textContent = "🌙";
+ }
+ });
+
+ // Set the initial button text based on the current theme
+ toggleButton.textContent = currentTheme === "light" ? "🌙" : "☀️";
+ });
+