diff options
Diffstat (limited to 'js/page.ts')
-rw-r--r-- | js/page.ts | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/js/page.ts b/js/page.ts deleted file mode 100644 index c4f0d71..0000000 --- a/js/page.ts +++ /dev/null @@ -1,104 +0,0 @@ -namespace Ach { - export async function initImages() { - let page = Ach.getOnlyElement(document, "page"); - - let imageList = Array.from(page.getElementsByTagName("x-image")); - - for (let image of imageList) { - let alt = image.getAttribute("alt"); - let file = image.getAttribute("data-file"); - - if (!alt) { - alert("stupid superuser forgot to add image caption, please notify"); - alt = ""; - } - - if (!file) { - throw new Error("file not set for image element"); - } - - console.log("initialising image that links to \"" + file + "\""); - - let sourceUrl = "/image/source/" + file + ".webp"; - let thumbnailUrl = "/image/thumbnail/" + file + ".avif"; - - let blurElement = document.createElement("img"); - blurElement.setAttribute("class", "blur"); - blurElement.setAttribute("src", thumbnailUrl); - - let hyperlinkElement = document.createElement("a"); - hyperlinkElement.setAttribute("href", sourceUrl); - hyperlinkElement.setAttribute("rel", "noopener noreferrer"); - hyperlinkElement.setAttribute("target", "_blank"); - hyperlinkElement.setAttribute("title", "Click to view image source."); - - let image_element = document.createElement("img"); - image_element.setAttribute("alt", alt); - image_element.setAttribute("src", thumbnailUrl); - - hyperlinkElement.appendChild(image_element); - - image.appendChild(blurElement); - image.appendChild(hyperlinkElement); - } - } - - export async function initLinks() { - console.log("initialising links"); - - let stats = { - total: 0x0, - overrideCount: 0x0, - currentCount: 0x0, - }; - - for (let link of document.getElementsByTagName("a")) { - ++stats.total; - - let address = link.getAttribute("href"); - - if (!address) { - console.log("note: skipping override of empty link"); - continue; - } - - let pageAnchor = Ach.parseInternalLink(address); - - if (!pageAnchor) { - console.log(`note: skipping override of link to "${address}"`); - continue; - } - - console.log(`note: overriding link to "${address}"`); - ++stats.overrideCount; - - let command = `Ach.loadPage(${JSON.stringify(pageAnchor[0x0])}, ${JSON.stringify(pageAnchor[0x1])})` - - link.removeAttribute("href"); - link.setAttribute("data-page", pageAnchor[0x0]); - link.setAttribute("onclick", command); - - if (pageAnchor[0x1]) { - link.setAttribute("data-anchor", pageAnchor[0x1]); - } - } - - let currentPage = Ach.currentPage(); - - for (let link of document.getElementsByTagName("a")) { - let page = link.getAttribute("data-page"); - let anchor = link.getAttribute("data-anchor"); - - if (page == currentPage && !anchor) { - ++stats.currentCount; - link.setAttribute("aria-current", "page"); - } else { - link.setAttribute("aria-current", "false"); - } - } - - console.log(`note: initialised (${stats.total}) links`); - console.log(`note: of which (${stats.overrideCount}) overrides were done`); - console.log(`note: and of which (${stats.currentCount}) were marked as current`); - } -} |