Popover preview should show relevant heading (#180)

hugo
Vincent Huang 2 years ago committed by GitHub
parent a78926ede5
commit e38eaa94d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -24,9 +24,16 @@ function initPopover(baseURL, useContextualBacklinks, renderLatex) {
} else { } else {
const linkDest = content[li.dataset.src.replace(/\/$/g, "").replace(basePath, "")] const linkDest = content[li.dataset.src.replace(/\/$/g, "").replace(basePath, "")]
if (linkDest) { if (linkDest) {
let splitLink = li.href.split("#")
let cleanedContent = removeMarkdown(linkDest.content)
if (splitLink.length > 1) {
let headingName = splitLink[1].replace(/\-/g, " ")
let headingIndex = cleanedContent.toLowerCase().indexOf("<b>" + headingName + "</b>")
cleanedContent = cleanedContent.substring(headingIndex, cleanedContent.length)
}
const popoverElement = `<div class="popover"> const popoverElement = `<div class="popover">
<h3>${linkDest.title}</h3> <h3>${linkDest.title}</h3>
<p>${removeMarkdown(linkDest.content).split(" ", 20).join(" ")}...</p> <p>${cleanedContent.split(" ", 20).join(" ")}...</p>
<p class="meta">${new Date(linkDest.lastmodified).toLocaleDateString()}</p> <p class="meta">${new Date(linkDest.lastmodified).toLocaleDateString()}</p>
</div>` </div>`
el = htmlToElement(popoverElement) el = htmlToElement(popoverElement)

Loading…
Cancel
Save