You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.4 KiB
JavaScript

window.addEventListener("scroll", function (e) {
if (document.querySelector("body").clientWidth > 767) {
let rightcolumn = document.querySelector(".rightcolumn");
let mantletitle =
document.querySelector(".mantletitle") ||
document.querySelector(".crusttitle") ||
false;
if (!mantletitle) {
return;
}
let mantlebar = document.querySelector(".mantlebar");
let grid = document.querySelector(".grid");
let gridrect = mantletitle.getBoundingClientRect();
if (
document.querySelector("body").clientHeight -
(grid.clientHeight + mantletitle.clientHeight + 32) <
window.innerHeight
) {
return;
}
if (gridrect.top < 20 && !grid.classList.contains("moved")) {
grid.classList.add("moved");
mantlebar.style.display = "inline";
mantletitle.style.visibility = "hidden";
} else if (gridrect.top > 21 && grid.classList.contains("moved")) {
grid.classList.remove("moved");
mantletitle.style.visibility = "visible";
mantlebar.style.display = "none";
}
} else {
let rightcolumn = document.querySelector(".rightcolumn");
let mantletitle =
document.querySelector(".mantletitle") ||
document.querySelector(".crusttitle") ||
false;
if (!mantletitle) {
return;
}
let mantlebar = document.querySelector(".mantlebar");
let grid = document.querySelector(".grid");
let gridrect = mantletitle.getBoundingClientRect();
if (gridrect.top < 20 && !grid.classList.contains("moved")) {
grid.classList.add("moved");
mantlebar.style.display = "inline";
mantletitle.style.visibility = "hidden";
} else if (gridrect.top > 21 && grid.classList.contains("moved")) {
grid.classList.remove("moved");
mantletitle.style.visibility = "visible";
mantlebar.style.display = "none";
}
}
});
window.addEventListener("DOMContentLoaded", (e) => {
let preview = document.querySelector("#preview");
if (
location.pathname.split("/").includes("_preview") ||
location.hash.startsWith("#/_edit")
) {
preview.style.display = "flex";
}
let par = document.querySelector(
"#TableOfContents > ol:first-child > li:first-child"
);
let s = document.createElement("span");
s.appendChild(par.cloneNode(true));
par.remove();
document
.querySelector("#TableOfContents > ol:first-child")
.insertBefore(
s,
document.querySelector("#TableOfContents > ol:first-child").firstChild
);
if (document.querySelector(".soundcite")) {
let relPath = "../".repeat(relPathDepth - 1);
var popcorn = document.createElement("script");
popcorn.src = `${relPath}js/popcorn.min.js`;
document.body.appendChild(popcorn);
var soundcite = document.createElement("script");
soundcite.src = `${relPath}js/soundcite.min.js`;
document.body.appendChild(soundcite);
}
document
.querySelectorAll(
"#TableOfContents a, .anchorz, .footnote-backref, .footnote-ref"
)
.forEach((i) => {
i.addEventListener("click", (e) => {
setTimeout(() => {
window.scrollBy({
top: document.querySelector(".header").clientHeight * -1.25,
behavior: "smooth",
});
}, 50);
});
});
});
toggleAllLinks = function () {
document.querySelectorAll("details").forEach((i) => {
if (i.open) {
i.removeAttribute("open");
} else {
i.setAttribute("open", true);
}
});
};