From cea0f3eb743b26db0d5297ab10e229617585fe0c Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Thu, 05 May 2022 04:58:50 +0000
Subject: [PATCH] feat: contextual backlinks (closes #106)

---
 layouts/partials/popover.html |   37 +++++--------------------------------
 1 files changed, 5 insertions(+), 32 deletions(-)

diff --git a/layouts/partials/popover.html b/layouts/partials/popover.html
index 32f019f..ba1fd03 100644
--- a/layouts/partials/popover.html
+++ b/layouts/partials/popover.html
@@ -1,35 +1,8 @@
 {{if $.Site.Data.config.enableLinkPreview}}
+{{ $js := resources.Get "js/popover.js" |  resources.Fingerprint "md5" | resources.Minify }}
+<script src="{{ $js.Permalink }}"></script>
 <script>
-  function htmlToElement(html) {
-    const template = document.createElement('template')
-    html = html.trim()
-    template.innerHTML = html
-    return template.content.firstChild
-  }
-  const baseUrl = {{strings.TrimRight "/" .Site.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(baseUrl, "")]
-        // const linkDest = content[li.dataset.src]
-          if (linkDest) {
-            const popoverElement = `<div class="popover">
-    <h3>${linkDest.title}</h3>
-    <p>${removeMarkdown(linkDest.content).split(" ", 20).join(" ")}...</p>
-    <p class="meta">${new Date(linkDest.lastmodified).toLocaleDateString()}</p>
-</div>`
-            const el = htmlToElement(popoverElement)
-            li.appendChild(el)
-            li.addEventListener("mouseover", () => {
-              el.classList.add("visible")
-            })
-            li.addEventListener("mouseout", () => {
-              el.classList.remove("visible")
-            })
-          }
-        })
-    })
-  })
+  const useContextual = {{ $.Site.Data.config.enableContextualBacklinks }}
+  initPopover({{strings.TrimRight "/" .Site.BaseURL }}, useContextual)
 </script>
-{{end}}
\ No newline at end of file
+{{end}}

--
Gitblit v1.10.0