Before Width: | Height: | Size: 434 KiB |
@ -1,197 +0,0 @@
|
|||||||
/*
|
|
||||||
* Wrap inline code samples otherwise they shoot of the side and
|
|
||||||
* can't be read at all.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/313
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/233
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/834
|
|
||||||
*/
|
|
||||||
.rst-content code {
|
|
||||||
white-space: pre-wrap;
|
|
||||||
word-wrap: break-word;
|
|
||||||
padding: 2px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make code blocks display as blocks and give them the appropriate
|
|
||||||
* font size and padding.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/855
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/834
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/233
|
|
||||||
*/
|
|
||||||
.rst-content pre code {
|
|
||||||
white-space: pre;
|
|
||||||
word-wrap: normal;
|
|
||||||
display: block;
|
|
||||||
padding: 12px;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fix code colors
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/2027
|
|
||||||
*/
|
|
||||||
.rst-content code {
|
|
||||||
color: #E74C3C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.rst-content pre code {
|
|
||||||
color: #000;
|
|
||||||
background: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fix link colors when the link text is inline code.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/718
|
|
||||||
*/
|
|
||||||
a code {
|
|
||||||
color: #2980B9;
|
|
||||||
}
|
|
||||||
a:hover code {
|
|
||||||
color: #3091d1;
|
|
||||||
}
|
|
||||||
a:visited code {
|
|
||||||
color: #9B59B6;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The CSS classes from highlight.js seem to clash with the
|
|
||||||
* ReadTheDocs theme causing some code to be incorrectly made
|
|
||||||
* bold and italic.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/411
|
|
||||||
*/
|
|
||||||
pre .cs, pre .c {
|
|
||||||
font-weight: inherit;
|
|
||||||
font-style: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fix some issues with the theme and non-highlighted code
|
|
||||||
* samples. Without and highlighting styles attached the
|
|
||||||
* formatting is broken.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/319
|
|
||||||
*/
|
|
||||||
.rst-content .no-highlight {
|
|
||||||
display: block;
|
|
||||||
padding: 0.5em;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Additions specific to the search functionality provided by MkDocs
|
|
||||||
*/
|
|
||||||
|
|
||||||
.search-results {
|
|
||||||
margin-top: 23px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-results article {
|
|
||||||
border-top: 1px solid #E1E4E5;
|
|
||||||
padding-top: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-results article:first-child {
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
form .search-query {
|
|
||||||
width: 100%;
|
|
||||||
border-radius: 50px;
|
|
||||||
padding: 6px 12px;
|
|
||||||
border-color: #D1D4D5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Improve inline code blocks within admonitions.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/656
|
|
||||||
*/
|
|
||||||
.rst-content .admonition code {
|
|
||||||
color: #404040;
|
|
||||||
border: 1px solid #c7c9cb;
|
|
||||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
|
||||||
background: #f8fbfd;
|
|
||||||
background: rgba(255, 255, 255, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Account for wide tables which go off the side.
|
|
||||||
* Override borders to avoid weirdness on narrow tables.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/834
|
|
||||||
* https://github.com/mkdocs/mkdocs/pull/1034
|
|
||||||
*/
|
|
||||||
.rst-content .section .docutils {
|
|
||||||
width: 100%;
|
|
||||||
overflow: auto;
|
|
||||||
display: block;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
td, th {
|
|
||||||
border: 1px solid #e1e4e5 !important;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Without the following amendments, the navigation in the theme will be
|
|
||||||
* slightly cut off. This is due to the fact that the .wy-nav-side has a
|
|
||||||
* padding-bottom of 2em, which must not necessarily align with the font-size of
|
|
||||||
* 90 % on the .rst-current-version container, combined with the padding of 12px
|
|
||||||
* above and below. These amendments fix this in two steps: First, make sure the
|
|
||||||
* .rst-current-version container has a fixed height of 40px, achieved using
|
|
||||||
* line-height, and then applying a padding-bottom of 40px to this container. In
|
|
||||||
* a second step, the items within that container are re-aligned using flexbox.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
|
||||||
*/
|
|
||||||
.wy-nav-side {
|
|
||||||
padding-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For section-index only */
|
|
||||||
.wy-menu-vertical .current-section p {
|
|
||||||
background-color: #e3e3e3;
|
|
||||||
color: #404040;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The second step of above amendment: Here we make sure the items are aligned
|
|
||||||
* correctly within the .rst-current-version container. Using flexbox, we
|
|
||||||
* achieve it in such a way that it will look like the following:
|
|
||||||
*
|
|
||||||
* [No repo_name]
|
|
||||||
* Next >> // On the first page
|
|
||||||
* << Previous Next >> // On all subsequent pages
|
|
||||||
*
|
|
||||||
* [With repo_name]
|
|
||||||
* <repo_name> Next >> // On the first page
|
|
||||||
* <repo_name> << Previous Next >> // On all subsequent pages
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
|
||||||
*/
|
|
||||||
.rst-versions .rst-current-version {
|
|
||||||
padding: 0 12px;
|
|
||||||
display: flex;
|
|
||||||
font-size: initial;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Please note that this amendment also involves removing certain inline-styles
|
|
||||||
* from the file ./mkdocs/themes/readthedocs/versions.html.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/2012
|
|
||||||
*/
|
|
||||||
.rst-current-version span {
|
|
||||||
flex: 1;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 233 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 38 KiB |
@ -1,4 +0,0 @@
|
|||||||
/**
|
|
||||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
|
||||||
*/
|
|
||||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
|
@ -1,8 +0,0 @@
|
|||||||
/*
|
|
||||||
* Assign 'docutils' class to tables so styling and
|
|
||||||
* JavaScript behavior is applied.
|
|
||||||
*
|
|
||||||
* https://github.com/mkdocs/mkdocs/issues/2028
|
|
||||||
*/
|
|
||||||
|
|
||||||
$('div.rst-content table').addClass('docutils');
|
|
@ -1,304 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Snowball JavaScript Library v0.3
|
|
||||||
* http://code.google.com/p/urim/
|
|
||||||
* http://snowball.tartarus.org/
|
|
||||||
*
|
|
||||||
* Copyright 2010, Oleg Mazko
|
|
||||||
* http://www.mozilla.org/MPL/
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* export the module via AMD, CommonJS or as a browser global
|
|
||||||
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
|
|
||||||
*/
|
|
||||||
;(function (root, factory) {
|
|
||||||
if (typeof define === 'function' && define.amd) {
|
|
||||||
// AMD. Register as an anonymous module.
|
|
||||||
define(factory)
|
|
||||||
} else if (typeof exports === 'object') {
|
|
||||||
/**
|
|
||||||
* Node. Does not work with strict CommonJS, but
|
|
||||||
* only CommonJS-like environments that support module.exports,
|
|
||||||
* like Node.
|
|
||||||
*/
|
|
||||||
module.exports = factory()
|
|
||||||
} else {
|
|
||||||
// Browser globals (root is window)
|
|
||||||
factory()(root.lunr);
|
|
||||||
}
|
|
||||||
}(this, function () {
|
|
||||||
/**
|
|
||||||
* Just return a value to define the module export.
|
|
||||||
* This example returns an object, but the module
|
|
||||||
* can return a function as the exported value.
|
|
||||||
*/
|
|
||||||
return function(lunr) {
|
|
||||||
/* provides utilities for the included stemmers */
|
|
||||||
lunr.stemmerSupport = {
|
|
||||||
Among: function(s, substring_i, result, method) {
|
|
||||||
this.toCharArray = function(s) {
|
|
||||||
var sLength = s.length, charArr = new Array(sLength);
|
|
||||||
for (var i = 0; i < sLength; i++)
|
|
||||||
charArr[i] = s.charCodeAt(i);
|
|
||||||
return charArr;
|
|
||||||
};
|
|
||||||
|
|
||||||
if ((!s && s != "") || (!substring_i && (substring_i != 0)) || !result)
|
|
||||||
throw ("Bad Among initialisation: s:" + s + ", substring_i: "
|
|
||||||
+ substring_i + ", result: " + result);
|
|
||||||
this.s_size = s.length;
|
|
||||||
this.s = this.toCharArray(s);
|
|
||||||
this.substring_i = substring_i;
|
|
||||||
this.result = result;
|
|
||||||
this.method = method;
|
|
||||||
},
|
|
||||||
SnowballProgram: function() {
|
|
||||||
var current;
|
|
||||||
return {
|
|
||||||
bra : 0,
|
|
||||||
ket : 0,
|
|
||||||
limit : 0,
|
|
||||||
cursor : 0,
|
|
||||||
limit_backward : 0,
|
|
||||||
setCurrent : function(word) {
|
|
||||||
current = word;
|
|
||||||
this.cursor = 0;
|
|
||||||
this.limit = word.length;
|
|
||||||
this.limit_backward = 0;
|
|
||||||
this.bra = this.cursor;
|
|
||||||
this.ket = this.limit;
|
|
||||||
},
|
|
||||||
getCurrent : function() {
|
|
||||||
var result = current;
|
|
||||||
current = null;
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
in_grouping : function(s, min, max) {
|
|
||||||
if (this.cursor < this.limit) {
|
|
||||||
var ch = current.charCodeAt(this.cursor);
|
|
||||||
if (ch <= max && ch >= min) {
|
|
||||||
ch -= min;
|
|
||||||
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
|
|
||||||
this.cursor++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
in_grouping_b : function(s, min, max) {
|
|
||||||
if (this.cursor > this.limit_backward) {
|
|
||||||
var ch = current.charCodeAt(this.cursor - 1);
|
|
||||||
if (ch <= max && ch >= min) {
|
|
||||||
ch -= min;
|
|
||||||
if (s[ch >> 3] & (0X1 << (ch & 0X7))) {
|
|
||||||
this.cursor--;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
out_grouping : function(s, min, max) {
|
|
||||||
if (this.cursor < this.limit) {
|
|
||||||
var ch = current.charCodeAt(this.cursor);
|
|
||||||
if (ch > max || ch < min) {
|
|
||||||
this.cursor++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
ch -= min;
|
|
||||||
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
|
|
||||||
this.cursor++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
out_grouping_b : function(s, min, max) {
|
|
||||||
if (this.cursor > this.limit_backward) {
|
|
||||||
var ch = current.charCodeAt(this.cursor - 1);
|
|
||||||
if (ch > max || ch < min) {
|
|
||||||
this.cursor--;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
ch -= min;
|
|
||||||
if (!(s[ch >> 3] & (0X1 << (ch & 0X7)))) {
|
|
||||||
this.cursor--;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
eq_s : function(s_size, s) {
|
|
||||||
if (this.limit - this.cursor < s_size)
|
|
||||||
return false;
|
|
||||||
for (var i = 0; i < s_size; i++)
|
|
||||||
if (current.charCodeAt(this.cursor + i) != s.charCodeAt(i))
|
|
||||||
return false;
|
|
||||||
this.cursor += s_size;
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
eq_s_b : function(s_size, s) {
|
|
||||||
if (this.cursor - this.limit_backward < s_size)
|
|
||||||
return false;
|
|
||||||
for (var i = 0; i < s_size; i++)
|
|
||||||
if (current.charCodeAt(this.cursor - s_size + i) != s
|
|
||||||
.charCodeAt(i))
|
|
||||||
return false;
|
|
||||||
this.cursor -= s_size;
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
find_among : function(v, v_size) {
|
|
||||||
var i = 0, j = v_size, c = this.cursor, l = this.limit, common_i = 0, common_j = 0, first_key_inspected = false;
|
|
||||||
while (true) {
|
|
||||||
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
|
|
||||||
? common_i
|
|
||||||
: common_j, w = v[k];
|
|
||||||
for (var i2 = common; i2 < w.s_size; i2++) {
|
|
||||||
if (c + common == l) {
|
|
||||||
diff = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
diff = current.charCodeAt(c + common) - w.s[i2];
|
|
||||||
if (diff)
|
|
||||||
break;
|
|
||||||
common++;
|
|
||||||
}
|
|
||||||
if (diff < 0) {
|
|
||||||
j = k;
|
|
||||||
common_j = common;
|
|
||||||
} else {
|
|
||||||
i = k;
|
|
||||||
common_i = common;
|
|
||||||
}
|
|
||||||
if (j - i <= 1) {
|
|
||||||
if (i > 0 || j == i || first_key_inspected)
|
|
||||||
break;
|
|
||||||
first_key_inspected = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (true) {
|
|
||||||
var w = v[i];
|
|
||||||
if (common_i >= w.s_size) {
|
|
||||||
this.cursor = c + w.s_size;
|
|
||||||
if (!w.method)
|
|
||||||
return w.result;
|
|
||||||
var res = w.method();
|
|
||||||
this.cursor = c + w.s_size;
|
|
||||||
if (res)
|
|
||||||
return w.result;
|
|
||||||
}
|
|
||||||
i = w.substring_i;
|
|
||||||
if (i < 0)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
find_among_b : function(v, v_size) {
|
|
||||||
var i = 0, j = v_size, c = this.cursor, lb = this.limit_backward, common_i = 0, common_j = 0, first_key_inspected = false;
|
|
||||||
while (true) {
|
|
||||||
var k = i + ((j - i) >> 1), diff = 0, common = common_i < common_j
|
|
||||||
? common_i
|
|
||||||
: common_j, w = v[k];
|
|
||||||
for (var i2 = w.s_size - 1 - common; i2 >= 0; i2--) {
|
|
||||||
if (c - common == lb) {
|
|
||||||
diff = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
diff = current.charCodeAt(c - 1 - common) - w.s[i2];
|
|
||||||
if (diff)
|
|
||||||
break;
|
|
||||||
common++;
|
|
||||||
}
|
|
||||||
if (diff < 0) {
|
|
||||||
j = k;
|
|
||||||
common_j = common;
|
|
||||||
} else {
|
|
||||||
i = k;
|
|
||||||
common_i = common;
|
|
||||||
}
|
|
||||||
if (j - i <= 1) {
|
|
||||||
if (i > 0 || j == i || first_key_inspected)
|
|
||||||
break;
|
|
||||||
first_key_inspected = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (true) {
|
|
||||||
var w = v[i];
|
|
||||||
if (common_i >= w.s_size) {
|
|
||||||
this.cursor = c - w.s_size;
|
|
||||||
if (!w.method)
|
|
||||||
return w.result;
|
|
||||||
var res = w.method();
|
|
||||||
this.cursor = c - w.s_size;
|
|
||||||
if (res)
|
|
||||||
return w.result;
|
|
||||||
}
|
|
||||||
i = w.substring_i;
|
|
||||||
if (i < 0)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
replace_s : function(c_bra, c_ket, s) {
|
|
||||||
var adjustment = s.length - (c_ket - c_bra), left = current
|
|
||||||
.substring(0, c_bra), right = current.substring(c_ket);
|
|
||||||
current = left + s + right;
|
|
||||||
this.limit += adjustment;
|
|
||||||
if (this.cursor >= c_ket)
|
|
||||||
this.cursor += adjustment;
|
|
||||||
else if (this.cursor > c_bra)
|
|
||||||
this.cursor = c_bra;
|
|
||||||
return adjustment;
|
|
||||||
},
|
|
||||||
slice_check : function() {
|
|
||||||
if (this.bra < 0 || this.bra > this.ket || this.ket > this.limit
|
|
||||||
|| this.limit > current.length)
|
|
||||||
throw ("faulty slice operation");
|
|
||||||
},
|
|
||||||
slice_from : function(s) {
|
|
||||||
this.slice_check();
|
|
||||||
this.replace_s(this.bra, this.ket, s);
|
|
||||||
},
|
|
||||||
slice_del : function() {
|
|
||||||
this.slice_from("");
|
|
||||||
},
|
|
||||||
insert : function(c_bra, c_ket, s) {
|
|
||||||
var adjustment = this.replace_s(c_bra, c_ket, s);
|
|
||||||
if (c_bra <= this.bra)
|
|
||||||
this.bra += adjustment;
|
|
||||||
if (c_bra <= this.ket)
|
|
||||||
this.ket += adjustment;
|
|
||||||
},
|
|
||||||
slice_to : function() {
|
|
||||||
this.slice_check();
|
|
||||||
return current.substring(this.bra, this.ket);
|
|
||||||
},
|
|
||||||
eq_v_b : function(s) {
|
|
||||||
return this.eq_s_b(s.length, s);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
lunr.trimmerSupport = {
|
|
||||||
generateTrimmer: function(wordCharacters) {
|
|
||||||
var startRegex = new RegExp("^[^" + wordCharacters + "]+")
|
|
||||||
var endRegex = new RegExp("[^" + wordCharacters + "]+$")
|
|
||||||
|
|
||||||
return function(token) {
|
|
||||||
// for lunr version 2
|
|
||||||
if (typeof token.update === "function") {
|
|
||||||
return token.update(function (s) {
|
|
||||||
return s
|
|
||||||
.replace(startRegex, '')
|
|
||||||
.replace(endRegex, '');
|
|
||||||
})
|
|
||||||
} else { // for lunr version 1
|
|
||||||
return token
|
|
||||||
.replace(startRegex, '')
|
|
||||||
.replace(endRegex, '');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}));
|
|
@ -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,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);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/common/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/docs/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/install/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/run/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/update/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/builds/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/configuration/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/env/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/gits/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/projects/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/recips/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
<url>
|
|
||||||
<loc>https://docs.brepo.ru/mockgui/userguide/rpms/</loc>
|
|
||||||
<lastmod>2025-03-27</lastmod>
|
|
||||||
</url>
|
|
||||||
</urlset>
|
|