From f11ebd15f87ed70821acfbd393b121ac733e6727 Mon Sep 17 00:00:00 2001 From: wakgill <76528604+wakgill@users.noreply.github.com> Date: Thu, 31 Dec 2020 22:20:16 -0600 Subject: [PATCH] Add files via upload --- assets/css/just-the-docs-dark.scss | 3 + assets/css/just-the-docs-default.scss | 8 + assets/css/just-the-docs-light.scss | 3 + assets/images/just-the-docs.png | Bin 0 -> 20992 bytes assets/images/search.svg | 1 + assets/js/just-the-docs.js | 471 ++++++++++++++++++++++++++ assets/js/vendor/lunr.min.js | 6 + assets/js/zzzz-search-data.json | 72 ++++ 8 files changed, 564 insertions(+) create mode 100644 assets/css/just-the-docs-dark.scss create mode 100644 assets/css/just-the-docs-default.scss create mode 100644 assets/css/just-the-docs-light.scss create mode 100644 assets/images/just-the-docs.png create mode 100644 assets/images/search.svg create mode 100644 assets/js/just-the-docs.js create mode 100644 assets/js/vendor/lunr.min.js create mode 100644 assets/js/zzzz-search-data.json diff --git a/assets/css/just-the-docs-dark.scss b/assets/css/just-the-docs-dark.scss new file mode 100644 index 0000000..ac92fb1 --- /dev/null +++ b/assets/css/just-the-docs-dark.scss @@ -0,0 +1,3 @@ +--- +--- +{% include css/just-the-docs.scss.liquid color_scheme="dark" %} diff --git a/assets/css/just-the-docs-default.scss b/assets/css/just-the-docs-default.scss new file mode 100644 index 0000000..63fde26 --- /dev/null +++ b/assets/css/just-the-docs-default.scss @@ -0,0 +1,8 @@ +--- +--- +{% if site.color_scheme and site.color_scheme != "nil" %} + {% assign color_scheme = site.color_scheme %} +{% else %} + {% assign color_scheme = "light" %} +{% endif %} +{% include css/just-the-docs.scss.liquid color_scheme=color_scheme %} diff --git a/assets/css/just-the-docs-light.scss b/assets/css/just-the-docs-light.scss new file mode 100644 index 0000000..ac69688 --- /dev/null +++ b/assets/css/just-the-docs-light.scss @@ -0,0 +1,3 @@ +--- +--- +{% include css/just-the-docs.scss.liquid color_scheme="light" %} diff --git a/assets/images/just-the-docs.png b/assets/images/just-the-docs.png new file mode 100644 index 0000000000000000000000000000000000000000..81c33065f2794814cbe1a53791d8bc4bfbb91cb1 GIT binary patch literal 20992 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 y&I*rn2hp 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 RGB7YOc)I$ztaD0e0ssfLBA@^O literal 0 HcmV?d00001 diff --git a/assets/images/search.svg b/assets/images/search.svg new file mode 100644 index 0000000..421ca4d --- /dev/null +++ b/assets/images/search.svg @@ -0,0 +1 @@ +Search diff --git a/assets/js/just-the-docs.js b/assets/js/just-the-docs.js new file mode 100644 index 0000000..c287ec0 --- /dev/null +++ b/assets/js/just-the-docs.js @@ -0,0 +1,471 @@ +--- +--- +(function (jtd, undefined) { + +// Event handling + +jtd.addEvent = function(el, type, handler) { + if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler); +} +jtd.removeEvent = function(el, type, handler) { + if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler); +} +jtd.onReady = function(ready) { + // in case the document is already rendered + if (document.readyState!='loading') ready(); + // modern browsers + else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready); + // IE <= 8 + else document.attachEvent('onreadystatechange', function(){ + if (document.readyState=='complete') ready(); + }); +} + +// Show/hide mobile menu + +function initNav() { + jtd.addEvent(document, 'click', function(e){ + var target = e.target; + while (target && !(target.classList && target.classList.contains('nav-list-expander'))) { + target = target.parentNode; + } + if (target) { + e.preventDefault(); + target.parentNode.classList.toggle('active'); + } + }); + + const siteNav = document.getElementById('site-nav'); + const mainHeader = document.getElementById('main-header'); + const menuButton = document.getElementById('menu-button'); + + jtd.addEvent(menuButton, 'click', function(e){ + e.preventDefault(); + + if (menuButton.classList.toggle('nav-open')) { + siteNav.classList.add('nav-open'); + mainHeader.classList.add('nav-open'); + } else { + siteNav.classList.remove('nav-open'); + mainHeader.classList.remove('nav-open'); + } + }); + + {%- if site.search_enabled != false and site.search.button %} + const searchInput = document.getElementById('search-input'); + const searchButton = document.getElementById('search-button'); + + jtd.addEvent(searchButton, 'click', function(e){ + e.preventDefault(); + + mainHeader.classList.add('nav-open'); + searchInput.focus(); + }); + {%- endif %} +} + +{%- if site.search_enabled != false %} +// Site search + +function initSearch() { + var request = new XMLHttpRequest(); + request.open('GET', '{{ "assets/js/search-data.json" | absolute_url }}', true); + + request.onload = function(){ + if (request.status >= 200 && request.status < 400) { + var docs = JSON.parse(request.responseText); + + lunr.tokenizer.separator = {{ site.search.tokenizer_separator | default: site.search_tokenizer_separator | default: "/[\s\-/]+/" }} + + var index = lunr(function(){ + this.ref('id'); + this.field('title', { boost: 200 }); + this.field('content', { boost: 2 }); + {%- if site.search.rel_url != false %} + this.field('relUrl'); + {%- endif %} + this.metadataWhitelist = ['position'] + + for (var i in docs) { + this.add({ + id: i, + title: docs[i].title, + content: docs[i].content, + {%- if site.search.rel_url != false %} + relUrl: docs[i].relUrl + {%- endif %} + }); + } + }); + + searchLoaded(index, docs); + } else { + console.log('Error loading ajax request. Request status:' + request.status); + } + }; + + request.onerror = function(){ + console.log('There was a connection error'); + }; + + request.send(); +} + +function searchLoaded(index, docs) { + var index = index; + var docs = docs; + var searchInput = document.getElementById('search-input'); + var searchResults = document.getElementById('search-results'); + var mainHeader = document.getElementById('main-header'); + var currentInput; + var currentSearchIndex = 0; + + function showSearch() { + document.documentElement.classList.add('search-active'); + } + + function hideSearch() { + document.documentElement.classList.remove('search-active'); + } + + function update() { + currentSearchIndex++; + + var input = searchInput.value; + if (input === '') { + hideSearch(); + } else { + showSearch(); + // scroll search input into view, workaround for iOS Safari + window.scroll(0, -1); + setTimeout(function(){ window.scroll(0, 0); }, 0); + } + if (input === currentInput) { + return; + } + currentInput = input; + searchResults.innerHTML = ''; + if (input === '') { + return; + } + + var results = index.query(function (query) { + var tokens = lunr.tokenizer(input) + query.term(tokens, { + boost: 10 + }); + query.term(tokens, { + wildcard: lunr.Query.wildcard.TRAILING + }); + }); + + if ((results.length == 0) && (input.length > 2)) { + var tokens = lunr.tokenizer(input).filter(function(token, i) { + return token.str.length < 20; + }) + if (tokens.length > 0) { + results = index.query(function (query) { + query.term(tokens, { + editDistance: Math.round(Math.sqrt(input.length / 2 - 1)) + }); + }); + } + } + + if (results.length == 0) { + var noResultsDiv = document.createElement('div'); + noResultsDiv.classList.add('search-no-result'); + noResultsDiv.innerText = 'No results found'; + searchResults.appendChild(noResultsDiv); + + } else { + var resultsList = document.createElement('ul'); + resultsList.classList.add('search-results-list'); + searchResults.appendChild(resultsList); + + addResults(resultsList, results, 0, 10, 100, currentSearchIndex); + } + + function addResults(resultsList, results, start, batchSize, batchMillis, searchIndex) { + if (searchIndex != currentSearchIndex) { + return; + } + for (var i = start; i < (start + batchSize); i++) { + if (i == results.length) { + return; + } + addResult(resultsList, results[i]); + } + setTimeout(function() { + addResults(resultsList, results, start + batchSize, batchSize, batchMillis, searchIndex); + }, batchMillis); + } + + function addResult(resultsList, result) { + var doc = docs[result.ref]; + + var resultsListItem = document.createElement('li'); + resultsListItem.classList.add('search-results-list-item'); + resultsList.appendChild(resultsListItem); + + var resultLink = document.createElement('a'); + resultLink.classList.add('search-result'); + resultLink.setAttribute('href', doc.url); + resultsListItem.appendChild(resultLink); + + var resultTitle = document.createElement('div'); + resultTitle.classList.add('search-result-title'); + resultLink.appendChild(resultTitle); + + var resultDoc = document.createElement('div'); + resultDoc.classList.add('search-result-doc'); + resultDoc.innerHTML = ''; + resultTitle.appendChild(resultDoc); + + var resultDocTitle = document.createElement('div'); + resultDocTitle.classList.add('search-result-doc-title'); + resultDocTitle.innerHTML = doc.doc; + resultDoc.appendChild(resultDocTitle); + var resultDocOrSection = resultDocTitle; + + if (doc.doc != doc.title) { + resultDoc.classList.add('search-result-doc-parent'); + var resultSection = document.createElement('div'); + resultSection.classList.add('search-result-section'); + resultSection.innerHTML = doc.title; + resultTitle.appendChild(resultSection); + resultDocOrSection = resultSection; + } + + var metadata = result.matchData.metadata; + var titlePositions = []; + var contentPositions = []; + for (var j in metadata) { + var meta = metadata[j]; + if (meta.title) { + var positions = meta.title.position; + for (var k in positions) { + titlePositions.push(positions[k]); + } + } + if (meta.content) { + var positions = meta.content.position; + for (var k in positions) { + var position = positions[k]; + var previewStart = position[0]; + var previewEnd = position[0] + position[1]; + var ellipsesBefore = true; + var ellipsesAfter = true; + for (var k = 0; k < {{ site.search.preview_words_before | default: 5 }}; k++) { + var nextSpace = doc.content.lastIndexOf(' ', previewStart - 2); + var nextDot = doc.content.lastIndexOf('. ', previewStart - 2); + if ((nextDot >= 0) && (nextDot > nextSpace)) { + previewStart = nextDot + 1; + ellipsesBefore = false; + break; + } + if (nextSpace < 0) { + previewStart = 0; + ellipsesBefore = false; + break; + } + previewStart = nextSpace + 1; + } + for (var k = 0; k < {{ site.search.preview_words_after | default: 10 }}; k++) { + var nextSpace = doc.content.indexOf(' ', previewEnd + 1); + var nextDot = doc.content.indexOf('. ', previewEnd + 1); + if ((nextDot >= 0) && (nextDot < nextSpace)) { + previewEnd = nextDot; + ellipsesAfter = false; + break; + } + if (nextSpace < 0) { + previewEnd = doc.content.length; + ellipsesAfter = false; + break; + } + previewEnd = nextSpace; + } + contentPositions.push({ + highlight: position, + previewStart: previewStart, previewEnd: previewEnd, + ellipsesBefore: ellipsesBefore, ellipsesAfter: ellipsesAfter + }); + } + } + } + + if (titlePositions.length > 0) { + titlePositions.sort(function(p1, p2){ return p1[0] - p2[0] }); + resultDocOrSection.innerHTML = ''; + addHighlightedText(resultDocOrSection, doc.title, 0, doc.title.length, titlePositions); + } + + if (contentPositions.length > 0) { + contentPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] }); + var contentPosition = contentPositions[0]; + var previewPosition = { + highlight: [contentPosition.highlight], + previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd, + ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter + }; + var previewPositions = [previewPosition]; + for (var j = 1; j < contentPositions.length; j++) { + contentPosition = contentPositions[j]; + if (previewPosition.previewEnd < contentPosition.previewStart) { + previewPosition = { + highlight: [contentPosition.highlight], + previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd, + ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter + } + previewPositions.push(previewPosition); + } else { + previewPosition.highlight.push(contentPosition.highlight); + previewPosition.previewEnd = contentPosition.previewEnd; + previewPosition.ellipsesAfter = contentPosition.ellipsesAfter; + } + } + + var resultPreviews = document.createElement('div'); + resultPreviews.classList.add('search-result-previews'); + resultLink.appendChild(resultPreviews); + + var content = doc.content; + for (var j = 0; j < Math.min(previewPositions.length, {{ site.search.previews | default: 3 }}); j++) { + var position = previewPositions[j]; + + var resultPreview = document.createElement('div'); + resultPreview.classList.add('search-result-preview'); + resultPreviews.appendChild(resultPreview); + + if (position.ellipsesBefore) { + resultPreview.appendChild(document.createTextNode('... ')); + } + addHighlightedText(resultPreview, content, position.previewStart, position.previewEnd, position.highlight); + if (position.ellipsesAfter) { + resultPreview.appendChild(document.createTextNode(' ...')); + } + } + } + + {%- if site.search.rel_url != false %} + var resultRelUrl = document.createElement('span'); + resultRelUrl.classList.add('search-result-rel-url'); + resultRelUrl.innerText = doc.relUrl; + resultTitle.appendChild(resultRelUrl); + {%- endif %} + } + + function addHighlightedText(parent, text, start, end, positions) { + var index = start; + for (var i in positions) { + var position = positions[i]; + var span = document.createElement('span'); + span.innerHTML = text.substring(index, position[0]); + parent.appendChild(span); + index = position[0] + position[1]; + var highlight = document.createElement('span'); + highlight.classList.add('search-result-highlight'); + highlight.innerHTML = text.substring(position[0], index); + parent.appendChild(highlight); + } + var span = document.createElement('span'); + span.innerHTML = text.substring(index, end); + parent.appendChild(span); + } + } + + jtd.addEvent(searchInput, 'focus', function(){ + setTimeout(update, 0); + }); + + jtd.addEvent(searchInput, 'keyup', function(e){ + switch (e.keyCode) { + case 27: // When esc key is pressed, hide the results and clear the field + searchInput.value = ''; + break; + case 38: // arrow up + case 40: // arrow down + case 13: // enter + e.preventDefault(); + return; + } + update(); + }); + + jtd.addEvent(searchInput, 'keydown', function(e){ + switch (e.keyCode) { + case 38: // arrow up + e.preventDefault(); + var active = document.querySelector('.search-result.active'); + if (active) { + active.classList.remove('active'); + if (active.parentElement.previousSibling) { + var previous = active.parentElement.previousSibling.querySelector('.search-result'); + previous.classList.add('active'); + } + } + return; + case 40: // arrow down + e.preventDefault(); + var active = document.querySelector('.search-result.active'); + if (active) { + if (active.parentElement.nextSibling) { + var next = active.parentElement.nextSibling.querySelector('.search-result'); + active.classList.remove('active'); + next.classList.add('active'); + } + } else { + var next = document.querySelector('.search-result'); + if (next) { + next.classList.add('active'); + } + } + return; + case 13: // enter + e.preventDefault(); + var active = document.querySelector('.search-result.active'); + if (active) { + active.click(); + } else { + var first = document.querySelector('.search-result'); + if (first) { + first.click(); + } + } + return; + } + }); + + jtd.addEvent(document, 'click', function(e){ + if (e.target != searchInput) { + hideSearch(); + } + }); +} +{%- endif %} + +// Switch theme + +jtd.getTheme = function() { + var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href'); + return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4); +} + +jtd.setTheme = function(theme) { + var cssFile = document.querySelector('[rel="stylesheet"]'); + cssFile.setAttribute('href', '{{ "assets/css/just-the-docs-" | absolute_url }}' + theme + '.css'); +} + +// Document ready + +jtd.onReady(function(){ + initNav(); + {%- if site.search_enabled != false %} + initSearch(); + {%- endif %} +}); + +})(window.jtd = window.jtd || {}); + +{% include js/custom.js %} diff --git a/assets/js/vendor/lunr.min.js b/assets/js/vendor/lunr.min.js new file mode 100644 index 0000000..34b279d --- /dev/null +++ b/assets/js/vendor/lunr.min.js @@ -0,0 +1,6 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.6 + * Copyright (C) 2019 Oliver Nightingale + * @license MIT + */ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.6",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return void 0===e||null===e?"":e.toString()},e.utils.clone=function(e){if(null===e||void 0===e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i0){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/assets/js/zzzz-search-data.json b/assets/js/zzzz-search-data.json new file mode 100644 index 0000000..6235244 --- /dev/null +++ b/assets/js/zzzz-search-data.json @@ -0,0 +1,72 @@ +--- +permalink: /assets/js/search-data.json +--- +{ +{%- assign i = 0 -%} +{%- assign pages_array = '' | split: '' -%} +{%- assign pages_array = pages_array | push: site.html_pages -%} +{%- if site.just_the_docs.collections -%} + {%- for collection_entry in site.just_the_docs.collections -%} + {%- assign collection_key = collection_entry[0] -%} + {%- assign collection_value = collection_entry[1] -%} + {%- assign collection = site[collection_key] -%} + {%- if collection_value.search_exclude != true -%} + {%- assign pages_array = pages_array | push: collection -%} + {%- endif -%} + {%- endfor -%} +{%- endif -%} +{%- for pages in pages_array -%} + {%- for page in pages -%} + {%- if page.title and page.search_exclude != true -%} + {%- assign page_content = page.content -%} + {%- assign heading_level = site.search.heading_level | default: 2 -%} + {%- for j in (2..heading_level) -%} + {%- assign tag = '' -%} + {%- assign title = titleAndContent[0] | replace_first: '>', '

' | split: '

' -%} + {%- assign title = title[1] | strip_html -%} + {%- assign content = titleAndContent[1] -%} + {%- assign url = page.url -%} + {%- if title == page.title and parts[0] == '' -%} + {%- assign title_found = true -%} + {%- else -%} + {%- assign id = titleAndContent[0] -%} + {%- assign id = id | split: 'id="' -%} + {%- if id.size == 2 -%} + {%- assign id = id[1] -%} + {%- assign id = id | split: '"' -%} + {%- assign id = id[0] -%} + {%- capture url -%}{{ url | append: '#' | append: id }}{%- endcapture -%} + {%- endif -%} + {%- endif -%} + {%- unless i == 0 -%},{%- endunless -%} + "{{ i }}": { + "doc": {{ page.title | jsonify }}, + "title": {{ title | jsonify }}, + "content": {{ content | replace: '