UNPKG

@xiee/utils

Version:

Miscellaneous tools and utilities to manipulate HTML pages

2 lines 1.41 kB
(e=>{e.querySelectorAll('.footnotes > ol > li[id^="fn"], #refs > [id^="ref-"]').forEach(t=>{const o=`a[href="#${t.id}"]`;e.querySelectorAll(`${o} > sup, sup > ${o}, .citation > ${o}, ${o}.citation`).forEach(o=>{const r=o.parentNode;("A"===o.tagName?o:r).removeAttribute("href");const s=e.createElement("div");for(s.className="side side-right footnotes",/^fn/.test(t.id)?(s.innerHTML=t.innerHTML,s.firstElementChild.insertAdjacentHTML("afterbegin",`<span class="bg-number">${o.innerText}</span> `),s.querySelector('a[href^="#fnref"]')?.remove()):s.innerHTML=t.outerHTML;"#text"===s.lastChild?.nodeName&&!s.lastChild.textContent.trim();)s.lastChild.remove();s.querySelectorAll(".fullwidth").forEach(e=>e.classList.remove("fullwidth"));const i=o.classList.contains("citation")?o:r;i.after(s),i.classList.add("note-ref"),t.remove()})}),e.querySelectorAll(".footnotes, #refs").forEach(e=>{e.innerText.trim()||e.remove()}),e.getElementById("TOC")?.classList.add("side","side-left");const t=e.querySelectorAll(".side.side-right, .side.side-left"),o=[];e.querySelectorAll(".fullwidth").forEach(e=>{o.push([e,e.getBoundingClientRect()])}),t.length&&e.body.classList.add("has-sidenotes"),t.forEach(e=>{const t=e.getBoundingClientRect();for(let e of o){const o=e[1];t.right<o.left||t.left>o.right||t.bottom<o.top||t.top>o.bottom||e[0].classList.remove("fullwidth")}})})(document); //# sourceMappingURL=sidenotes.min.js.map