From f9c7cdf928e8068532d2630336a7b08d5085548e Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Tue, 5 Apr 2022 20:44:39 -0700 Subject: [PATCH] fix: check for src before attempting to add popover --- assets/js/popover.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/assets/js/popover.js b/assets/js/popover.js index 3d0d18b..a4b6852 100644 --- a/assets/js/popover.js +++ b/assets/js/popover.js @@ -10,24 +10,26 @@ function initPopover(baseURL) { 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 = `
+ links + .filter(li => li.dataset.src) + .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") - }) - } - }) + const el = htmlToElement(popoverElement) + li.appendChild(el) + li.addEventListener("mouseover", () => { + el.classList.add("visible") + }) + li.addEventListener("mouseout", () => { + el.classList.remove("visible") + }) + } + }) }) }) }