feat: link previews to page-list (closes #173)
This commit is contained in:
		
							parent
							
								
									5c76d8dad9
								
							
						
					
					
						commit
						a78926ede5
					
				
					 6 changed files with 31 additions and 27 deletions
				
			
		| 
						 | 
					@ -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>` +
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -113,24 +113,6 @@
 | 
				
			||||||
      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) => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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">
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue