feat: link previews to page-list (closes #173)

This commit is contained in:
Jacky Zhao 2022-08-11 11:42:16 -07:00
parent 5c76d8dad9
commit a78926ede5
6 changed files with 31 additions and 27 deletions

View File

@ -58,14 +58,12 @@ const highlight = (content, term) => {
// try to find direct match first // try to find direct match first
const directMatchIdx = content.indexOf(term) const directMatchIdx = content.indexOf(term)
if (directMatchIdx !== -1) { if (directMatchIdx !== -1) {
console.log(directMatchIdx)
const h = highlightWindow const h = highlightWindow
const before = content.substring(0, directMatchIdx).split(" ").slice(-h) const before = content.substring(0, directMatchIdx).split(" ").slice(-h)
const after = content const after = content
.substring(directMatchIdx + term.length, content.length - 2) .substring(directMatchIdx + term.length, content.length - 2)
.split(" ") .split(" ")
.slice(0, h) .slice(0, h)
console.log(before, after)
return ( return (
(before.length == h ? `...${before.join(" ")}` : before.join(" ")) + (before.length == h ? `...${before.join(" ")}` : before.join(" ")) +
`<span class="search-highlight">${term}</span>` + `<span class="search-highlight">${term}</span>` +

View File

@ -592,9 +592,13 @@ header {
font-size: 0.8rem; font-size: 0.8rem;
} }
& > p {
margin: 0;
padding: 0.5rem 0;
}
& > p, & > a { & > p, & > a {
font-size: 1rem; font-size: 1rem;
margin: 0.7rem 0;
font-weight: 400; font-weight: 400;
user-select: none; user-select: none;
} }

View File

@ -3,7 +3,7 @@
<hr/> <hr/>
{{if $.Site.Data.config.enableFooter}} {{if $.Site.Data.config.enableFooter}}
<div class="page-end"> <div class="page-end" id="footer">
<div class="backlinks-container"> <div class="backlinks-container">
{{partial "backlinks.html" .}} {{partial "backlinks.html" .}}
</div> </div>
@ -13,4 +13,4 @@
</div> </div>
{{end}} {{end}}
{{partial "contact.html" .}} {{partial "contact.html" .}}

View File

@ -1,6 +1,6 @@
{{if $.Site.Data.config.enableFooter}} {{if $.Site.Data.config.enableFooter}}
{{if $.Site.Data.graphConfig.enableGlobalGraph}} {{if $.Site.Data.graphConfig.enableGlobalGraph}}
<div class="page-end"> <div class="page-end" id="footer">
<div> <div>
{{partial "graph.html" .}} {{partial "graph.html" .}}
@ -9,7 +9,7 @@
</div> </div>
{{else}} {{else}}
<hr/> <hr/>
<div class="page-end"> <div class="page-end" id="footer">
<div class="backlinks-container"> <div class="backlinks-container">
{{partial "backlinks.html" .}} {{partial "backlinks.html" .}}
</div> </div>

View File

@ -112,25 +112,7 @@
{{if $.Site.Data.config.enableCallouts -}} {{if $.Site.Data.config.enableCallouts -}}
addCollapsibleCallouts(); addCollapsibleCallouts();
{{ end }} {{ end }}
{{if $.Site.Data.config.enableFooter}}
const container = document.getElementById("graph-container")
// retry if the graph is not ready
if (!container) return requestAnimationFrame(render)
// clear the graph in case there is anything within it
container.textContent = ""
const drawGlobal = isHome && {{$.Site.Data.graphConfig.enableGlobalGraph}};
drawGraph(
{{strings.TrimRight "/" .Site.BaseURL}},
drawGlobal,
{{$.Site.Data.graphConfig.paths}},
drawGlobal ? {{$.Site.Data.graphConfig.globalGraph}} : {{$.Site.Data.graphConfig.localGraph}}
);
{{end}}
{{if $.Site.Data.config.enableLinkPreview}} {{if $.Site.Data.config.enableLinkPreview}}
initPopover( initPopover(
{{strings.TrimRight "/" .Site.BaseURL }}, {{strings.TrimRight "/" .Site.BaseURL }},
@ -138,6 +120,26 @@
{{$.Site.Data.config.enableLatex}} {{$.Site.Data.config.enableLatex}}
) )
{{end}} {{end}}
{{if $.Site.Data.config.enableFooter}}
const footer = document.getElementById("footer")
if (footer) {
const container = document.getElementById("graph-container")
// retry if the graph is not ready
if (!container) return requestAnimationFrame(render)
// clear the graph in case there is anything within it
container.textContent = ""
const drawGlobal = isHome && {{$.Site.Data.graphConfig.enableGlobalGraph}};
drawGraph(
{{strings.TrimRight "/" .Site.BaseURL}},
drawGlobal,
{{$.Site.Data.graphConfig.paths}},
drawGlobal ? {{$.Site.Data.graphConfig.globalGraph}} : {{$.Site.Data.graphConfig.localGraph}}
);
}
{{end}}
} }
const init = (doc = document) => { const init = (doc = document) => {

View File

@ -6,7 +6,7 @@
{{partial "date-fmt.html" .}} {{partial "date-fmt.html" .}}
</p> </p>
<div class="desc"> <div class="desc">
<h3><a href="{{ .Permalink }}">{{- .Title -}}</a></h3> <h3><a href="{{ .Permalink }}" class="internal-link" data-src="{{ .RelPermalink }}">{{- .Title -}}</a></h3>
</div> </div>
<div class="spacer"></div> <div class="spacer"></div>
<ul class="tags"> <ul class="tags">