function htmlToElement(html) { const template = document.createElement('template') html = html.trim() template.innerHTML = html return template.content.firstChild } function initPopover(baseURL) { const basePath = baseURL.replace(window.location.origin, "") document.addEventListener("DOMContentLoaded", () => { fetchData.then(({ content }) => { const links = [...document.getElementsByClassName("internal-link")] links.forEach(li => { const linkDest = content[li.dataset.src.replace(basePath, "")] if (linkDest) { const popoverElement = `

${linkDest.title}

${removeMarkdown(linkDest.content).split(" ", 20).join(" ")}...

${new Date(linkDest.lastmodified).toLocaleDateString()}

` const el = htmlToElement(popoverElement) li.appendChild(el) li.addEventListener("mouseover", () => { el.classList.add("visible") }) li.addEventListener("mouseout", () => { el.classList.remove("visible") }) } }) }) }) }