' + title + '
' + summary + '
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 (
' ' +
summary +
'' +
title +
'
No results found
'); } } function doSearch() { var query = document.getElementById('mkdocs-search-query').value; if (query.length > min_search_length) { 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); } else if (e.data.config) { min_search_length = e.data.config.min_search_length - 1; } } 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; }