diff --git a/_layouts/default.html b/_layouts/default.html
index a88ccb3..b002eff 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;
+ });
+ });
+