update
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
f0ab8d250e
commit
79e0c2e82c
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
File diff suppressed because it is too large
Load Diff
@ -1,109 +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 escapeHtml (value) {
|
|
||||||
return value.replace(/&/g, '&')
|
|
||||||
.replace(/"/g, '"')
|
|
||||||
.replace(/</g, '<')
|
|
||||||
.replace(/>/g, '>');
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatResult (location, title, summary) {
|
|
||||||
return '<article><h3><a href="' + joinUrl(base_url, location) + '">'+ escapeHtml(title) + '</a></h3><p>' + escapeHtml(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 {
|
|
||||||
var noResultsText = search_results.getAttribute('data-no-results-text');
|
|
||||||
if (!noResultsText) {
|
|
||||||
noResultsText = "No results found";
|
|
||||||
}
|
|
||||||
search_results.insertAdjacentHTML('beforeend', '<p>' + noResultsText + '</p>');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
@ -1 +1 @@
|
|||||||
{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Welcome to MkDocs For full documentation visit mkdocs.org . Commands mkdocs new [dir-name] - Create a new project. mkdocs serve - Start the live-reloading docs server. mkdocs build - Build the documentation site. mkdocs -h - Print help message and exit. Project layout mkdocs.yml # The configuration file. docs/ index.md # The documentation homepage. ... # Other markdown pages, images and other files.","title":"Welcome to MkDocs"},{"location":"#welcome-to-mkdocs","text":"For full documentation visit mkdocs.org .","title":"Welcome to MkDocs"},{"location":"#commands","text":"mkdocs new [dir-name] - Create a new project. mkdocs serve - Start the live-reloading docs server. mkdocs build - Build the documentation site. mkdocs -h - Print help message and exit.","title":"Commands"},{"location":"#project-layout","text":"mkdocs.yml # The configuration file. docs/ index.md # The documentation homepage. ... # Other markdown pages, images and other files.","title":"Project layout"}]}
|
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to MkDocs","text":"<p>For full documentation visit mkdocs.org.</p>"},{"location":"#commands","title":"Commands","text":"<ul> <li><code>mkdocs new [dir-name]</code> - Create a new project.</li> <li><code>mkdocs serve</code> - Start the live-reloading docs server.</li> <li><code>mkdocs build</code> - Build the documentation site.</li> <li><code>mkdocs -h</code> - Print help message and exit.</li> </ul>"},{"location":"#project-layout","title":"Project layout","text":"<pre><code>mkdocs.yml # The configuration file.\ndocs/\n index.md # The documentation homepage.\n ... # Other markdown pages, images and other files.\n</code></pre>"}]}
|
@ -1,133 +0,0 @@
|
|||||||
var base_path = 'function' === typeof importScripts ? '.' : '/search/';
|
|
||||||
var allowSearch = false;
|
|
||||||
var index;
|
|
||||||
var documents = {};
|
|
||||||
var lang = ['en'];
|
|
||||||
var data;
|
|
||||||
|
|
||||||
function getScript(script, callback) {
|
|
||||||
console.log('Loading script: ' + script);
|
|
||||||
$.getScript(base_path + script).done(function () {
|
|
||||||
callback();
|
|
||||||
}).fail(function (jqxhr, settings, exception) {
|
|
||||||
console.log('Error: ' + exception);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function getScriptsInOrder(scripts, callback) {
|
|
||||||
if (scripts.length === 0) {
|
|
||||||
callback();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
getScript(scripts[0], function() {
|
|
||||||
getScriptsInOrder(scripts.slice(1), callback);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadScripts(urls, callback) {
|
|
||||||
if( 'function' === typeof importScripts ) {
|
|
||||||
importScripts.apply(null, urls);
|
|
||||||
callback();
|
|
||||||
} else {
|
|
||||||
getScriptsInOrder(urls, callback);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onJSONLoaded () {
|
|
||||||
data = JSON.parse(this.responseText);
|
|
||||||
var scriptsToLoad = ['lunr.js'];
|
|
||||||
if (data.config && data.config.lang && data.config.lang.length) {
|
|
||||||
lang = data.config.lang;
|
|
||||||
}
|
|
||||||
if (lang.length > 1 || lang[0] !== "en") {
|
|
||||||
scriptsToLoad.push('lunr.stemmer.support.js');
|
|
||||||
if (lang.length > 1) {
|
|
||||||
scriptsToLoad.push('lunr.multi.js');
|
|
||||||
}
|
|
||||||
if (lang.includes("ja") || lang.includes("jp")) {
|
|
||||||
scriptsToLoad.push('tinyseg.js');
|
|
||||||
}
|
|
||||||
for (var i=0; i < lang.length; i++) {
|
|
||||||
if (lang[i] != 'en') {
|
|
||||||
scriptsToLoad.push(['lunr', lang[i], 'js'].join('.'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
loadScripts(scriptsToLoad, onScriptsLoaded);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onScriptsLoaded () {
|
|
||||||
console.log('All search scripts loaded, building Lunr index...');
|
|
||||||
if (data.config && data.config.separator && data.config.separator.length) {
|
|
||||||
lunr.tokenizer.separator = new RegExp(data.config.separator);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.index) {
|
|
||||||
index = lunr.Index.load(data.index);
|
|
||||||
data.docs.forEach(function (doc) {
|
|
||||||
documents[doc.location] = doc;
|
|
||||||
});
|
|
||||||
console.log('Lunr pre-built index loaded, search ready');
|
|
||||||
} else {
|
|
||||||
index = lunr(function () {
|
|
||||||
if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) {
|
|
||||||
this.use(lunr[lang[0]]);
|
|
||||||
} else if (lang.length > 1) {
|
|
||||||
this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility
|
|
||||||
}
|
|
||||||
this.field('title');
|
|
||||||
this.field('text');
|
|
||||||
this.ref('location');
|
|
||||||
|
|
||||||
for (var i=0; i < data.docs.length; i++) {
|
|
||||||
var doc = data.docs[i];
|
|
||||||
this.add(doc);
|
|
||||||
documents[doc.location] = doc;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
console.log('Lunr index built, search ready');
|
|
||||||
}
|
|
||||||
allowSearch = true;
|
|
||||||
postMessage({config: data.config});
|
|
||||||
postMessage({allowSearch: allowSearch});
|
|
||||||
}
|
|
||||||
|
|
||||||
function init () {
|
|
||||||
var oReq = new XMLHttpRequest();
|
|
||||||
oReq.addEventListener("load", onJSONLoaded);
|
|
||||||
var index_path = base_path + '/search_index.json';
|
|
||||||
if( 'function' === typeof importScripts ){
|
|
||||||
index_path = 'search_index.json';
|
|
||||||
}
|
|
||||||
oReq.open("GET", index_path);
|
|
||||||
oReq.send();
|
|
||||||
}
|
|
||||||
|
|
||||||
function search (query) {
|
|
||||||
if (!allowSearch) {
|
|
||||||
console.error('Assets for search still loading');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var resultDocuments = [];
|
|
||||||
var results = index.search(query);
|
|
||||||
for (var i=0; i < results.length; i++){
|
|
||||||
var result = results[i];
|
|
||||||
doc = documents[result.ref];
|
|
||||||
doc.summary = doc.text.substring(0, 200);
|
|
||||||
resultDocuments.push(doc);
|
|
||||||
}
|
|
||||||
return resultDocuments;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( 'function' === typeof importScripts ) {
|
|
||||||
onmessage = function (e) {
|
|
||||||
if (e.data.init) {
|
|
||||||
init();
|
|
||||||
} else if (e.data.query) {
|
|
||||||
postMessage({ results: search(e.data.query) });
|
|
||||||
} else {
|
|
||||||
console.error("Worker - Unrecognized message: " + e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
Binary file not shown.
Loading…
Reference in New Issue