From 651bfc5cd284a259f429b50839c619dd1b94498a Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Mon, 07 Mar 2022 18:45:07 +0000
Subject: [PATCH] Merge pull request #62 from claudio4/hugo
---
assets/js/popover.js | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/assets/js/popover.js b/assets/js/popover.js
new file mode 100644
index 0000000..cf6f84b
--- /dev/null
+++ b/assets/js/popover.js
@@ -0,0 +1,34 @@
+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, "")]
+ // 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")
+ })
+ }
+ })
+ })
+ })
+}
--
Gitblit v1.10.0