"use strict"; const GLOSSARY_PAGE = "glossary.html"; const glossary_search = async () => { const response = await fetch("_static/glossary.json"); if (!response.ok) { throw new Error("Failed to fetch glossary.json"); } const glossary = await response.json(); const params = new URLSearchParams(document.location.search).get("q"); if (!params) { return; } const searchParam = params.toLowerCase(); const glossaryItem = glossary[searchParam]; if (!glossaryItem) { return; } // set up the title text with a link to the glossary page const glossaryTitle = document.getElementById("glossary-title"); glossaryTitle.textContent = "Glossary: " + glossaryItem.title; const linkTarget = searchParam.replace(/ /g, "-"); glossaryTitle.href = GLOSSARY_PAGE + "#term-" + linkTarget; // rewrite any anchor links (to other glossary terms) // to have a full reference to the glossary page const glossaryBody = document.getElementById("glossary-body"); glossaryBody.innerHTML = glossaryItem.body; const anchorLinks = glossaryBody.querySelectorAll('a[href^="#"]'); anchorLinks.forEach(function (link) { const currentUrl = link.getAttribute("href"); link.href = GLOSSARY_PAGE + currentUrl; }); const glossaryResult = document.getElementById("glossary-result"); glossaryResult.style.display = ""; }; if (document.readyState !== "loading") { glossary_search().catch(console.error); } else { document.addEventListener("DOMContentLoaded", glossary_search); }