Jacky Zhao
2025-03-24 fe2e16d937e2b57fb2bb1d10dea47db7256a4a49
quartz/components/scripts/popover.inline.ts
@@ -1,5 +1,6 @@
import { computePosition, flip, inline, shift } from "@floating-ui/dom"
import { normalizeRelativeURLs } from "../../util/path"
import { fetchCanonical } from "./util"
const p = new DOMParser()
async function mouseEnterHandler(
@@ -37,7 +38,7 @@
  targetUrl.hash = ""
  targetUrl.search = ""
  const response = await fetch(`${targetUrl}`).catch((err) => {
  const response = await fetchCanonical(targetUrl).catch((err) => {
    console.error(err)
  })
@@ -81,6 +82,8 @@
      const contents = await response.text()
      const html = p.parseFromString(contents, "text/html")
      normalizeRelativeURLs(html, targetUrl)
      // strip all IDs from elements to prevent duplicates
      html.querySelectorAll("[id]").forEach((el) => el.removeAttribute("id"))
      const elts = [...html.getElementsByClassName("popover-hint")]
      if (elts.length === 0) return