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