Fixes #69 Make file based menus behave as expected

- Fixes #69
- Section headings are listed once
- Sections and normal pages sort with the same weights amongst themselves
soper-book
Paul Twohey 2019-08-28 21:53:19 -07:00 committed by Alex Shpak
parent 64dfdf39fb
commit 7d0ee68c3b
2 changed files with 9 additions and 8 deletions

View File

@ -1,4 +1,4 @@
(function(){const input=document.querySelector("#book-search-input");const results=document.querySelector("#book-search-results");input.addEventListener("focus",init);input.addEventListener("keyup",search);function init(){input.removeEventListener("focus",init);input.required=true;loadScript("/example/lunr.min.js");loadScript("/example/search-data.min.8e65fc357463e492a0a63bbf1f8879c1d3e651b9b8ab524fd1782b843af7bf9c.js",function(){input.readOnly=false;input.required=false;search();});}
(function(){const input=document.querySelector("#book-search-input");const results=document.querySelector("#book-search-results");input.addEventListener("focus",init);input.addEventListener("keyup",search);function init(){input.removeEventListener("focus",init);input.required=true;loadScript("/lunr.min.js");loadScript("/search-data.min.38819dbbe5e0b55e3b3be88010ec38428c444528b9f100d7b8aa08233677658b.js",function(){input.readOnly=false;input.required=false;search();});}
function search(){while(results.firstChild){results.removeChild(results.firstChild);}
if(!input.value){return;}
const terms=lunr.tokenizer(input.value);const searchHits=window.bookSearch.idx.query(function(query){query.term(terms,{boost:100});query.term(terms,{boost:10,wildcard:lunr.Query.wildcard.LEADING|lunr.Query.wildcard.TRAILING});query.term(terms,{editDistance:2});});searchHits.slice(0,10).forEach(function(hit){const page=window.bookSearch.pages[hit.ref];const li=document.createElement("li"),a=li.appendChild(document.createElement("a"));a.href=page.href;a.textContent=page.title;results.appendChild(li);});}

View File

@ -38,13 +38,14 @@
{{ define "book-section-children" }}
{{ with .Section }}
<ul>
{{ range where .Sections "Params.bookhidden" "!=" true }}
{{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }}
{{ end }}
{{ range where .Pages "Params.bookhidden" "!=" true }}
<li>
{{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
</li>
{{ range where .Pages "Params.bookhidden" "!=" "true" }}
{{ if eq .Kind "section" }}
{{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }}
{{ else if and (eq .Kind "page") .Content }}
<li>
{{- template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) -}}
</li>
{{ end }}
{{ end }}
</ul>
{{ end }}