diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2022-02-26 13:10:37 -0500 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2022-02-26 13:20:38 -0500 |
| commit | a4b5716d159cb35f99d5291c1951f140643c0c68 (patch) | |
| tree | 43cdbab8c1f5e3c9efaf02aeb1e8fa66d683f136 /site/search/main.js | |
| parent | a229af2ef98099d88e85faedfde4d9ee68cd7f8d (diff) | |
Stop tracking the built site!
Diffstat (limited to 'site/search/main.js')
| -rw-r--r-- | site/search/main.js | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/site/search/main.js b/site/search/main.js deleted file mode 100644 index 0a82ab5..0000000 --- a/site/search/main.js +++ /dev/null @@ -1,96 +0,0 @@ -function getSearchTermFromLocation() { - var sPageURL = window.location.search.substring(1); - var sURLVariables = sPageURL.split('&'); - for (var i = 0; i < sURLVariables.length; i++) { - var sParameterName = sURLVariables[i].split('='); - if (sParameterName[0] == 'q') { - return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20')); - } - } -} - -function joinUrl (base, path) { - if (path.substring(0, 1) === "/") { - // path starts with `/`. Thus it is absolute. - return path; - } - if (base.substring(base.length-1) === "/") { - // base ends with `/` - return base + path; - } - return base + "/" + path; -} - -function formatResult (location, title, summary) { - return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ title + '</a></h3><p>' + summary +'</p></article>'; -} - -function displayResults (results) { - var search_results = document.getElementById("mkdocs-search-results"); - while (search_results.firstChild) { - search_results.removeChild(search_results.firstChild); - } - if (results.length > 0){ - for (var i=0; i < results.length; i++){ - var result = results[i]; - var html = formatResult(result.location, result.title, result.summary); - search_results.insertAdjacentHTML('beforeend', html); - } - } else { - search_results.insertAdjacentHTML('beforeend', "<p>No results found</p>"); - } -} - -function doSearch () { - var query = document.getElementById('mkdocs-search-query').value; - if (query.length > 2) { - if (!window.Worker) { - displayResults(search(query)); - } else { - searchWorker.postMessage({query: query}); - } - } else { - // Clear results for short queries - displayResults([]); - } -} - -function initSearch () { - var search_input = document.getElementById('mkdocs-search-query'); - if (search_input) { - search_input.addEventListener("keyup", doSearch); - } - var term = getSearchTermFromLocation(); - if (term) { - search_input.value = term; - doSearch(); - } -} - -function onWorkerMessage (e) { - if (e.data.allowSearch) { - initSearch(); - } else if (e.data.results) { - var results = e.data.results; - displayResults(results); - } -} - -if (!window.Worker) { - console.log('Web Worker API not supported'); - // load index in main thread - $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { - console.log('Loaded worker'); - init(); - window.postMessage = function (msg) { - onWorkerMessage({data: msg}); - }; - }).fail(function (jqxhr, settings, exception) { - console.error('Could not load worker.js'); - }); -} else { - // Wrap search in a web worker - var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); - searchWorker.postMessage({init: true}); - searchWorker.onmessage = onWorkerMessage; -} |
