You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.3 KiB
42 lines
1.3 KiB
window.addEventListener("load", () => {
|
|
// Enlarged floating figures
|
|
for (let figure of document.getElementsByTagName("figure")) {
|
|
if (
|
|
figure.classList.contains("post-cover") ||
|
|
figure.classList.contains("portfolio-cover")
|
|
)
|
|
continue;
|
|
|
|
figure.addEventListener("click", () => {
|
|
figure.classList.toggle("floated-focus");
|
|
});
|
|
}
|
|
|
|
document.addEventListener("keydown", (e) => {
|
|
if (e.keyCode !== 27) return;
|
|
|
|
for (let figure of document.getElementsByClassName("floated-focus")) {
|
|
figure.classList.remove("floated-focus");
|
|
}
|
|
});
|
|
|
|
// Add anchors to article headings
|
|
for (let article of document.getElementsByTagName("article")) {
|
|
for (let heading of article.querySelectorAll(
|
|
"h1, h2, h3, h4, h5, h6"
|
|
)) {
|
|
if (!heading.id) continue;
|
|
|
|
let anchor = document.createElement("a");
|
|
anchor.innerHTML = heading.innerHTML;
|
|
anchor.href = "#" + heading.id;
|
|
heading.innerHTML = "";
|
|
heading.appendChild(anchor);
|
|
heading.classList.add("article-heading");
|
|
|
|
anchor.addEventListener("click", (e) => {
|
|
navigator.clipboard.writeText(anchor.href);
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|