Browse Source

build based on d59c8c1

gh-pages
Documenter.jl 2 years ago
parent
commit
244765e0c9
  1. 1
      dev/.documenter-siteinfo.json
  2. 266
      dev/assets/documenter.js
  3. 504
      dev/assets/search.js
  4. 7701
      dev/assets/themes/documenter-dark.css
  5. 7735
      dev/assets/themes/documenter-light.css
  6. 82
      dev/assets/themeswap.js
  7. 87
      dev/assets/warner.js
  8. 4
      dev/customprocessing/index.html
  9. 4
      dev/documenter/index.html
  10. 4
      dev/fileformat/index.html
  11. 648
      dev/generated/example.ipynb
  12. 324
      dev/generated/example/index.html
  13. 2
      dev/generated/name/index.html
  14. 6
      dev/generated/notebook.ipynb
  15. 2
      dev/index.html
  16. 8
      dev/outputformats/index.html
  17. 4
      dev/pipeline/index.html
  18. 2
      dev/search/index.html
  19. 2
      dev/search_index.js
  20. 4
      dev/tips/index.html

1
dev/.documenter-siteinfo.json

@ -0,0 +1 @@ @@ -0,0 +1 @@
{"documenter":{"julia_version":"1.9.2","generation_timestamp":"2023-08-04T17:02:21","documenter_version":"0.28.0-DEV"}}

266
dev/assets/documenter.js

@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
// Generated by Documenter.jl
requirejs.config({
paths: {
'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/julia.min',
'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min',
'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.4/contrib/auto-render.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min',
'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.4/katex.min',
'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min',
'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/julia-repl.min',
},
shim: {
"highlight-julia": {
@ -70,13 +70,72 @@ $(document).ready(function() { @@ -70,13 +70,72 @@ $(document).ready(function() {
hljs.highlightAll();
})
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
var isExpanded = true;
$(document).on("click", ".docstring header", function () {
let articleToggleTitle = "Expand docstring";
if ($(this).siblings("section").is(":visible")) {
$(this)
.find(".docstring-article-toggle-button")
.removeClass("fa-chevron-down")
.addClass("fa-chevron-right");
} else {
$(this)
.find(".docstring-article-toggle-button")
.removeClass("fa-chevron-right")
.addClass("fa-chevron-down");
articleToggleTitle = "Collapse docstring";
}
$(this)
.find(".docstring-article-toggle-button")
.prop("title", articleToggleTitle);
$(this).siblings("section").slideToggle();
});
$(document).on("click", ".docs-article-toggle-button", function () {
let articleToggleTitle = "Expand docstring";
let navArticleToggleTitle = "Expand all docstrings";
if (isExpanded) {
$(this).removeClass("fa-chevron-up").addClass("fa-chevron-down");
$(".docstring-article-toggle-button")
.removeClass("fa-chevron-down")
.addClass("fa-chevron-right");
isExpanded = false;
$(".docstring section").slideUp();
} else {
$(this).removeClass("fa-chevron-down").addClass("fa-chevron-up");
$(".docstring-article-toggle-button")
.removeClass("fa-chevron-right")
.addClass("fa-chevron-down");
isExpanded = true;
articleToggleTitle = "Collapse docstring";
navArticleToggleTitle = "Collapse all docstrings";
$(".docstring section").slideDown();
}
$(this).prop("title", navArticleToggleTitle);
$(".docstring-article-toggle-button").prop("title", articleToggleTitle);
});
})
////////////////////////////////////////////////////////////////////////////////
require([], function() {
function addCopyButtonCallbacks() {
for (const el of document.getElementsByTagName("pre")) {
const button = document.createElement("button");
button.classList.add("copy-button", "fas", "fa-copy");
button.classList.add("copy-button", "fa-solid", "fa-copy");
button.setAttribute("aria-label", "Copy this code block");
button.setAttribute("title", "Copy");
@ -88,7 +147,7 @@ function addCopyButtonCallbacks() { @@ -88,7 +147,7 @@ function addCopyButtonCallbacks() {
};
const failure = function () {
button.classList.add("error", "fa-times");
button.classList.add("error", "fa-xmark");
button.classList.remove("fa-copy");
};
@ -97,7 +156,7 @@ function addCopyButtonCallbacks() { @@ -97,7 +156,7 @@ function addCopyButtonCallbacks() {
setTimeout(function () {
button.classList.add("fa-copy");
button.classList.remove("success", "fa-check", "fa-times");
button.classList.remove("success", "fa-check", "fa-xmark");
}, 5000);
});
}
@ -141,181 +200,192 @@ require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { @@ -141,181 +200,192 @@ require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
// Manages the top navigation bar (hides it when the user starts scrolling down on the
// mobile).
window.Headroom = Headroom; // work around buggy module loading?
$(document).ready(function() {
$('#documenter .docs-navbar').headroom({
"tolerance": {"up": 10, "down": 10},
$(document).ready(function () {
$("#documenter .docs-navbar").headroom({
tolerance: { up: 10, down: 10 },
});
})
});
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// Modal settings dialog
$(document).ready(function() {
var settings = $('#documenter-settings');
$('#documenter-settings-button').click(function(){
settings.toggleClass('is-active');
$(document).ready(function () {
var settings = $("#documenter-settings");
$("#documenter-settings-button").click(function () {
settings.toggleClass("is-active");
});
// Close the dialog if X is clicked
$('#documenter-settings button.delete').click(function(){
settings.removeClass('is-active');
$("#documenter-settings button.delete").click(function () {
settings.removeClass("is-active");
});
// Close dialog if ESC is pressed
$(document).keyup(function(e) {
if (e.keyCode == 27) settings.removeClass('is-active');
$(document).keyup(function (e) {
if (e.keyCode == 27) settings.removeClass("is-active");
});
});
})
////////////////////////////////////////////////////////////////////////////////
require([], function() {
let searchbox = document.querySelector("#documenter-search-query");
let sidebar = document.querySelector(".docs-sidebar");
document.addEventListener("keydown", (event) => {
if ((event.ctrlKey || event.metaKey) && event.key === "/") {
if (!sidebar.classList.contains("visible")) {
sidebar.classList.add("visible");
}
searchbox.focus();
return false;
} else if (event.key === "Escape") {
if (sidebar.classList.contains("visible")) {
sidebar.classList.remove("visible");
}
searchbox.blur();
return false;
}
});
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// Manages the showing and hiding of the sidebar.
$(document).ready(function() {
$(document).ready(function () {
var sidebar = $("#documenter > .docs-sidebar");
var sidebar_button = $("#documenter-sidebar-button")
sidebar_button.click(function(ev) {
var sidebar_button = $("#documenter-sidebar-button");
sidebar_button.click(function (ev) {
ev.preventDefault();
sidebar.toggleClass('visible');
if (sidebar.hasClass('visible')) {
sidebar.toggleClass("visible");
if (sidebar.hasClass("visible")) {
// Makes sure that the current menu item is visible in the sidebar.
$("#documenter .docs-menu a.is-active").focus();
}
});
$("#documenter > .docs-main").bind('click', function(ev) {
$("#documenter > .docs-main").bind("click", function (ev) {
if ($(ev.target).is(sidebar_button)) {
return;
}
if (sidebar.hasClass('visible')) {
sidebar.removeClass('visible');
if (sidebar.hasClass("visible")) {
sidebar.removeClass("visible");
}
});
})
});
// Resizes the package name / sitename in the sidebar if it is too wide.
// Inspired by: https://github.com/davatron5000/FitText.js
$(document).ready(function() {
$(document).ready(function () {
e = $("#documenter .docs-autofit");
function resize() {
var L = parseInt(e.css('max-width'), 10);
var L = parseInt(e.css("max-width"), 10);
var L0 = e.width();
if(L0 > L) {
var h0 = parseInt(e.css('font-size'), 10);
e.css('font-size', L * h0 / L0);
if (L0 > L) {
var h0 = parseInt(e.css("font-size"), 10);
e.css("font-size", (L * h0) / L0);
// TODO: make sure it survives resizes?
}
}
// call once and then register events
resize();
$(window).resize(resize);
$(window).on('orientationchange', resize);
$(window).on("orientationchange", resize);
});
// Scroll the navigation bar to the currently selected menu item
$(document).ready(function() {
$(document).ready(function () {
var sidebar = $("#documenter .docs-menu").get(0);
var active = $("#documenter .docs-menu .is-active").get(0);
if(typeof active !== 'undefined') {
if (typeof active !== "undefined") {
sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
}
})
});
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
function set_theme(theme) {
var active = null;
var disabled = [];
for (var i = 0; i < document.styleSheets.length; i++) {
var ss = document.styleSheets[i];
var themename = ss.ownerNode.getAttribute("data-theme-name");
if(themename === null) continue; // ignore non-theme stylesheets
// Find the active theme
if(themename === theme) active = ss;
else disabled.push(ss);
}
if(active !== null) {
active.disabled = false;
if(active.ownerNode.getAttribute("data-theme-primary") === null) {
document.getElementsByTagName('html')[0].className = "theme--" + theme;
} else {
document.getElementsByTagName('html')[0].className = "";
}
disabled.forEach(function(ss){
ss.disabled = true;
});
}
// Store the theme in localStorage
if(typeof(window.localStorage) !== "undefined") {
window.localStorage.setItem("documenter-theme", theme);
} else {
console.error("Browser does not support window.localStorage");
}
}
// Theme picker setup
$(document).ready(function() {
$(document).ready(function () {
// onchange callback
$('#documenter-themepicker').change(function themepick_callback(ev){
var themename = $('#documenter-themepicker option:selected').attr('value');
set_theme(themename);
$("#documenter-themepicker").change(function themepick_callback(ev) {
var themename = $("#documenter-themepicker option:selected").attr("value");
if (themename === "auto") {
// set_theme(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
window.localStorage.removeItem("documenter-theme");
} else {
// set_theme(themename);
window.localStorage.setItem("documenter-theme", themename);
}
// We re-use the global function from themeswap.js to actually do the swapping.
set_theme_from_local_storage();
});
// Make sure that the themepicker displays the correct theme when the theme is retrieved
// from localStorage
if(typeof(window.localStorage) !== "undefined") {
var theme = window.localStorage.getItem("documenter-theme");
if(theme !== null) {
$('#documenter-themepicker option').each(function(i,e) {
e.selected = (e.value === theme);
})
} else {
$('#documenter-themepicker option').each(function(i,e) {
e.selected = $("html").hasClass(`theme--${e.value}`);
})
if (typeof window.localStorage !== "undefined") {
var theme = window.localStorage.getItem("documenter-theme");
if (theme !== null) {
$("#documenter-themepicker option").each(function (i, e) {
e.selected = e.value === theme;
});
}
}
})
});
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// update the version selector with info from the siteinfo.js and ../versions.js files
$(document).ready(function() {
$(document).ready(function () {
// If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
// siteinfo.js file, we just return immediately and not display the version selector.
if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
if (
typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === "boolean" &&
DOCUMENTER_VERSION_SELECTOR_DISABLED
) {
return;
}
var version_selector = $("#documenter .docs-version-selector");
var version_selector_select = $("#documenter .docs-version-selector select");
version_selector_select.change(function(x) {
target_href = version_selector_select.children("option:selected").get(0).value;
version_selector_select.change(function (x) {
target_href = version_selector_select
.children("option:selected")
.get(0).value;
window.location.href = target_href;
});
// add the current version to the selector based on siteinfo.js, but only if the selector is empty
if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
if (
typeof DOCUMENTER_CURRENT_VERSION !== "undefined" &&
$("#version-selector > option").length == 0
) {
var option = $(
"<option value='#' selected='selected'>" +
DOCUMENTER_CURRENT_VERSION +
"</option>"
);
version_selector_select.append(option);
}
if (typeof DOC_VERSIONS !== 'undefined') {
if (typeof DOC_VERSIONS !== "undefined") {
var existing_versions = version_selector_select.children("option");
var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
DOC_VERSIONS.forEach(function(each) {
var version_url = documenterBaseURL + "/../" + each;
var existing_versions_texts = existing_versions.map(function (i, x) {
return x.text;
});
DOC_VERSIONS.forEach(function (each) {
var version_url = documenterBaseURL + "/../" + each + "/";
var existing_id = $.inArray(each, existing_versions_texts);
// if not already in the version selector, add it as a new option,
// otherwise update the old option with the URL and enable it
if (existing_id == -1) {
var option = $("<option value='" + version_url + "'>" + each + "</option>");
var option = $(
"<option value='" + version_url + "'>" + each + "</option>"
);
version_selector_select.append(option);
} else {
var option = existing_versions[existing_id];
@ -329,6 +399,6 @@ $(document).ready(function() { @@ -329,6 +399,6 @@ $(document).ready(function() {
if (version_selector_select.children("option").length > 0) {
version_selector.toggleClass("visible");
}
})
});
})

504
dev/assets/search.js

@ -1,23 +1,23 @@ @@ -1,23 +1,23 @@
// Generated by Documenter.jl
requirejs.config({
paths: {
'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
'minisearch': 'https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min',
'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min',
}
});
////////////////////////////////////////////////////////////////////////////////
require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
require(['jquery', 'minisearch', 'lodash'], function($, minisearch, _) {
$(document).ready(function() {
$(function () {
// parseUri 1.2.2
// (c) Steven Levithan <stevenlevithan.com>
// MIT License
function parseUri (str) {
var o = parseUri.options,
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
function parseUri(str) {
var o = parseUri.options,
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
uri = {},
i = 14;
i = 14;
while (i--) uri[o.key[i]] = m[i] || "";
@ -27,241 +27,303 @@ $(document).ready(function() { @@ -27,241 +27,303 @@ $(document).ready(function() {
});
return uri;
};
}
parseUri.options = {
strictMode: false,
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
q: {
name: "queryKey",
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
key: [
"source",
"protocol",
"authority",
"userInfo",
"user",
"password",
"host",
"port",
"relative",
"path",
"directory",
"file",
"query",
"anchor",
],
q: {
name: "queryKey",
parser: /(?:^|&)([^&=]*)=?([^&]*)/g,
},
parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
}
strict:
/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose:
/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
},
};
$("#search-form").submit(function(e) {
e.preventDefault()
})
$("#search-form").submit(function (e) {
e.preventDefault();
});
let ms_data = documenterSearchIndex["docs"].map((x, key) => {
x["id"] = key;
return x;
});
// list below is the lunr 2.1.3 list minus the intersect with names(Base)
// (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
// ideally we'd just filter the original list but it's not available as a variable
lunr.stopWordFilter = lunr.generateStopWordFilter([
'a',
'able',
'about',
'across',
'after',
'almost',
'also',
'am',
'among',
'an',
'and',
'are',
'as',
'at',
'be',
'because',
'been',
'but',
'by',
'can',
'cannot',
'could',
'dear',
'did',
'does',
'either',
'ever',
'every',
'from',
'got',
'had',
'has',
'have',
'he',
'her',
'hers',
'him',
'his',
'how',
'however',
'i',
'if',
'into',
'it',
'its',
'just',
'least',
'like',
'likely',
'may',
'me',
'might',
'most',
'must',
'my',
'neither',
'no',
'nor',
'not',
'of',
'off',
'often',
'on',
'or',
'other',
'our',
'own',
'rather',
'said',
'say',
'says',
'she',
'should',
'since',
'so',
'some',
'than',
'that',
'the',
'their',
'them',
'then',
'there',
'these',
'they',
'this',
'tis',
'to',
'too',
'twas',
'us',
'wants',
'was',
'we',
'were',
'what',
'when',
'who',
'whom',
'why',
'will',
'would',
'yet',
'you',
'your'
])
const stopWords = new Set([
"a",
"able",
"about",
"across",
"after",
"almost",
"also",
"am",
"among",
"an",
"and",
"are",
"as",
"at",
"be",
"because",
"been",
"but",
"by",
"can",
"cannot",
"could",
"dear",
"did",
"does",
"either",
"ever",
"every",
"from",
"got",
"had",
"has",
"have",
"he",
"her",
"hers",
"him",
"his",
"how",
"however",
"i",
"if",
"into",
"it",
"its",
"just",
"least",
"like",
"likely",
"may",
"me",
"might",
"most",
"must",
"my",
"neither",
"no",
"nor",
"not",
"of",
"off",
"often",
"on",
"or",
"other",
"our",
"own",
"rather",
"said",
"say",
"says",
"she",
"should",
"since",
"so",
"some",
"than",
"that",
"the",
"their",
"them",
"then",
"there",
"these",
"they",
"this",
"tis",
"to",
"too",
"twas",
"us",
"wants",
"was",
"we",
"were",
"what",
"when",
"who",
"whom",
"why",
"will",
"would",
"yet",
"you",
"your",
]);
// add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
// would not find anything if searching for "add!", only for the entire qualification
lunr.tokenizer.separator = /[\s\-\.]+/
let index = new minisearch({
fields: ["title", "text"], // fields to index for full-text search
storeFields: ["location", "title", "text", "category", "page"], // fields to return with search results
processTerm: (term) => {
let word = stopWords.has(term) ? null : term;
if (word) {
// custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
word = word
.replace(/^[^a-zA-Z0-9@!]+/, "")
.replace(/[^a-zA-Z0-9@!]+$/, "");
}
// custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
lunr.trimmer = function (token) {
return token.update(function (s) {
return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
})
}
return word ?? null;
},
// add . as a separator, because otherwise "title": "Documenter.Anchors.add!", would not find anything if searching for "add!", only for the entire qualification
tokenize: (string) => string.split(/[\s\-\.]+/),
searchOptions: {
boost: { title: 100 },
fuzzy: 2,
processTerm: (term) => {
let word = stopWords.has(term) ? null : term;
if (word) {
word = word
.replace(/^[^a-zA-Z0-9@!]+/, "")
.replace(/[^a-zA-Z0-9@!]+$/, "");
}
lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
return word ?? null;
},
tokenize: (string) => string.split(/[\s\-\.]+/),
},
});
var index = lunr(function () {
this.ref('location')
this.field('title',{boost: 100})
this.field('text')
documenterSearchIndex['docs'].forEach(function(e) {
this.add(e)
}, this)
})
var store = {}
index.addAll(ms_data);
documenterSearchIndex['docs'].forEach(function(e) {
store[e.location] = {title: e.title, category: e.category, page: e.page}
})
searchresults = $("#documenter-search-results");
searchinfo = $("#documenter-search-info");
searchbox = $("#documenter-search-query");
searchform = $(".docs-search");
sidebar = $(".docs-sidebar");
$(function(){
searchresults = $('#documenter-search-results');
searchinfo = $('#documenter-search-info');
searchbox = $('#documenter-search-query');
searchform = $('.docs-search');
sidebar = $('.docs-sidebar');
function update_search(querystring) {
tokens = lunr.tokenizer(querystring)
results = index.query(function (q) {
tokens.forEach(function (t) {
q.term(t.toString(), {
fields: ["title"],
boost: 100,
usePipeline: true,
editDistance: 0,
wildcard: lunr.Query.wildcard.NONE
})
q.term(t.toString(), {
fields: ["title"],
boost: 10,
usePipeline: true,
editDistance: 2,
wildcard: lunr.Query.wildcard.NONE
})
q.term(t.toString(), {
fields: ["text"],
boost: 1,
usePipeline: true,
editDistance: 0,
wildcard: lunr.Query.wildcard.NONE
})
})
})
searchinfo.text("Number of results: " + results.length)
searchresults.empty()
results.forEach(function(result) {
data = store[result.ref]
link = $('<a class="docs-label">'+data.title+'</a>')
link.attr('href', documenterBaseURL+'/'+result.ref)
if (data.category != "page"){
cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
} else {
cat = $('<span class="docs-category">('+data.category+')</span>')
}
li = $('<li>').append(link).append(" ").append(cat)
searchresults.append(li)
})
}
function update_search(querystring) {
let results = [];
results = index.search(querystring, {
filter: (result) => result.score >= 1,
});
function update_search_box() {
querystring = searchbox.val()
update_search(querystring)
}
searchresults.empty();
searchbox.keyup(_.debounce(update_search_box, 250))
searchbox.change(update_search_box)
let links = [];
let count = 0;
// Disable enter-key form submission for the searchbox on the search page
// and just re-run search rather than refresh the whole page.
searchform.keypress(
function(event){
if (event.which == '13') {
if (sidebar.hasClass('visible')) {
sidebar.removeClass('visible');
}
update_search_box();
event.preventDefault();
results.forEach(function (result) {
if (result.location) {
if (!links.includes(result.location)) {
searchresults.append(make_search_result(result, querystring));
count++;
}
links.push(result.location);
}
);
});
search_query_uri = parseUri(window.location).queryKey["q"]
if(search_query_uri !== undefined) {
search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
searchbox.val(search_query)
searchinfo.text("Number of results: " + count);
}
function make_search_result(result, querystring) {
let display_link =
result.location.slice(Math.max(0), Math.min(50, result.location.length)) +
(result.location.length > 30 ? "..." : "");
let textindex = new RegExp(`\\b${querystring}\\b`, "i").exec(result.text);
let text =
textindex !== null
? result.text.slice(
Math.max(textindex.index - 100, 0),
Math.min(
textindex.index + querystring.length + 100,
result.text.length
)
)
: "";
let display_result = text.length
? "..." +
text.replace(
new RegExp(`\\b${querystring}\\b`, "i"), // For first occurrence
'<span class="search-result-highlight p-1">$&</span>'
) +
"..."
: "";
let result_div = `
<a href="${
documenterBaseURL + "/" + result.location
}" class="search-result-link px-4 py-2 w-100 is-flex is-flex-direction-column gap-2 my-4">
<div class="w-100 is-flex is-flex-wrap-wrap is-justify-content-space-between is-align-items-center">
<div class="search-result-title has-text-weight-semi-bold">${
result.title
}</div>
<div class="property-search-result-badge">${result.category}</div>
</div>
<p>
${display_result}
</p>
<div
class="has-text-left"
style="font-size: smaller;"
title="${result.location}"
>
<i class="fas fa-link"></i> ${display_link}
</div>
</a>
<div class="search-divider"></div>
`;
return result_div;
}
function update_search_box() {
querystring = searchbox.val();
update_search(querystring);
}
searchbox.keyup(_.debounce(update_search_box, 250));
searchbox.change(update_search_box);
// Disable enter-key form submission for the searchbox on the search page
// and just re-run search rather than refresh the whole page.
searchform.keypress(function (event) {
if (event.which == "13") {
if (sidebar.hasClass("visible")) {
sidebar.removeClass("visible");
}
update_search_box();
event.preventDefault();
}
update_search_box();
})
})
});
search_query_uri = parseUri(window.location).queryKey["q"];
if (search_query_uri !== undefined) {
search_query = decodeURIComponent(search_query_uri.replace(/\+/g, "%20"));
searchbox.val(search_query);
}
update_search_box();
});
})

7701
dev/assets/themes/documenter-dark.css

File diff suppressed because one or more lines are too long

7735
dev/assets/themes/documenter-light.css

File diff suppressed because one or more lines are too long

82
dev/assets/themeswap.js

@ -1,20 +1,17 @@ @@ -1,20 +1,17 @@
// Small function to quickly swap out themes. Gets put into the <head> tag..
function set_theme_from_local_storage() {
// Intialize the theme to null, which means default
// Initialize the theme to null, which means default
var theme = null;
// If the browser supports the localstorage and is not disabled then try to get the
// documenter theme
if(window.localStorage != null) {
if (window.localStorage != null) {
// Get the user-picked theme from localStorage. May be `null`, which means the default
// theme.
theme = window.localStorage.getItem("documenter-theme");
theme = window.localStorage.getItem("documenter-theme");
}
// Check if the browser supports user color preference
var darkPreference = false;
// Check if the users preference is for dark color scheme
if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
darkPreference = true;
}
var darkPreference =
window.matchMedia("(prefers-color-scheme: dark)").matches === true;
// Initialize a few variables for the loop:
//
// - active: will contain the index of the theme that should be active. Note that there
@ -24,43 +21,64 @@ function set_theme_from_local_storage() { @@ -24,43 +21,64 @@ function set_theme_from_local_storage() {
//
// - disabled: style sheets that should be disabled (i.e. all the theme style sheets
// that are not the currently active theme)
var active = null; var disabled = []; var darkTheme = null;
var active = null;
var disabled = [];
var primaryLightTheme = null;
var primaryDarkTheme = null;
for (var i = 0; i < document.styleSheets.length; i++) {
var ss = document.styleSheets[i];
// The <link> tag of each style sheet is expected to have a data-theme-name attribute
// which must contain the name of the theme. The names in localStorage much match this.
var themename = ss.ownerNode.getAttribute("data-theme-name");
// attribute not set => non-theme stylesheet => ignore
if(themename === null) continue;
if (themename === null) continue;
// To distinguish the default (primary) theme, it needs to have the data-theme-primary
// attribute set.
var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
// Check if the theme is primary dark theme
var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
// If ss is for dark theme then set the value of darkTheme to the name of the theme
if(isDarkTheme) darkTheme = themename;
if (ss.ownerNode.getAttribute("data-theme-primary") !== null) {
primaryLightTheme = themename;
}
// Check if the theme is primary dark theme so that we could store its name in darkTheme
if (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null) {
primaryDarkTheme = themename;
}
// If we find a matching theme (and it's not the default), we'll set active to non-null
if(themename === theme) active = i;
if (themename === theme) active = i;
// Store the style sheets of inactive themes so that we could disable them
if(themename !== theme) disabled.push(ss);
if (themename !== theme) disabled.push(ss);
}
if(active !== null) {
var activeTheme = null;
if (active !== null) {
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
document.getElementsByTagName('html')[0].className = "theme--" + theme;
// and (2) disable all the other theme stylesheets
disabled.forEach(function(ss){
ss.disabled = true;
});
document.getElementsByTagName("html")[0].className = "theme--" + theme;
activeTheme = theme;
} else {
// If we did _not_ find an active theme, then we need to fall back to the primary theme
// which can either be dark or light, depending on the user's OS preference.
var activeTheme = darkPreference ? primaryDarkTheme : primaryLightTheme;
// In case it somehow happens that the relevant primary theme was not found in the
// preceding loop, we abort without doing anything.
if (activeTheme === null) {
console.error("Unable to determine primary theme.");
return;
}
// When switching to the primary light theme, then we must not have a class name
// for the <html> tag. That's only for non-primary or the primary dark theme.
if (darkPreference) {
document.getElementsByTagName("html")[0].className =
"theme--" + activeTheme;
} else {
document.getElementsByTagName("html")[0].className = "";
}
}
else if(darkTheme !== null && darkPreference === true) {
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
// and (2) disable all the other theme stylesheets
disabled.forEach(function(ss){
if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
ss.disabled = true;
}
});
for (var i = 0; i < document.styleSheets.length; i++) {
var ss = document.styleSheets[i];
// The <link> tag of each style sheet is expected to have a data-theme-name attribute
// which must contain the name of the theme. The names in localStorage much match this.
var themename = ss.ownerNode.getAttribute("data-theme-name");
// attribute not set => non-theme stylesheet => ignore
if (themename === null) continue;
// we'll disable all the stylesheets, except for the active one
ss.disabled = !(themename == activeTheme);
}
}
set_theme_from_local_storage();

87
dev/assets/warner.js

@ -1,49 +1,52 @@ @@ -1,49 +1,52 @@
function maybeAddWarning () {
// DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
// in siteinfo.js.
// If either of these are undefined something went horribly wrong, so we abort.
if (
window.DOCUMENTER_NEWEST === undefined ||
window.DOCUMENTER_CURRENT_VERSION === undefined ||
window.DOCUMENTER_STABLE === undefined
) {
return
};
function maybeAddWarning() {
// DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
// in siteinfo.js.
// If either of these are undefined something went horribly wrong, so we abort.
if (
window.DOCUMENTER_NEWEST === undefined ||
window.DOCUMENTER_CURRENT_VERSION === undefined ||
window.DOCUMENTER_STABLE === undefined
) {
return;
}
// Current version is not a version number, so we can't tell if it's the newest version. Abort.
if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
return
};
// Current version is not a version number, so we can't tell if it's the newest version. Abort.
if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
return;
}
// Current version is newest version, so no need to add a warning.
if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
return
};
// Current version is newest version, so no need to add a warning.
if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
return;
}
// Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
if (document.body.querySelector('meta[name="robots"]') === null) {
const meta = document.createElement('meta');
meta.name = 'robots';
meta.content = 'noindex';
// Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
if (document.body.querySelector('meta[name="robots"]') === null) {
const meta = document.createElement("meta");
meta.name = "robots";
meta.content = "noindex";
document.getElementsByTagName('head')[0].appendChild(meta);
};
document.getElementsByTagName("head")[0].appendChild(meta);
}
const div = document.createElement('div');
div.classList.add('outdated-warning-overlay');
const closer = document.createElement('button');
closer.classList.add('outdated-warning-closer', 'delete');
closer.addEventListener('click', function () {
document.body.removeChild(div);
});
const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
div.appendChild(closer);
document.body.appendChild(div);
};
const div = document.createElement("div");
div.classList.add("outdated-warning-overlay");
const closer = document.createElement("button");
closer.classList.add("outdated-warning-closer", "delete");
closer.addEventListener("click", function () {
document.body.removeChild(div);
});
const href = window.documenterBaseURL + "/../" + window.DOCUMENTER_STABLE;
div.innerHTML =
'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' +
href +
'">Click here to go to the documentation for the latest stable release.</a>';
div.appendChild(closer);
document.body.appendChild(div);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', maybeAddWarning);
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", maybeAddWarning);
} else {
maybeAddWarning();
};
maybeAddWarning();
}

4
dev/customprocessing/index.html

File diff suppressed because one or more lines are too long

4
dev/documenter/index.html

File diff suppressed because one or more lines are too long

4
dev/fileformat/index.html

File diff suppressed because one or more lines are too long

648
dev/generated/example.ipynb

File diff suppressed because one or more lines are too long

324
dev/generated/example/index.html

File diff suppressed because one or more lines are too long

2
dev/generated/name/index.html

File diff suppressed because one or more lines are too long

6
dev/generated/notebook.ipynb

@ -87,11 +87,11 @@ @@ -87,11 +87,11 @@
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.8.5"
"version": "1.9.2"
},
"kernelspec": {
"name": "julia-1.8",
"display_name": "Julia 1.8.5",
"name": "julia-1.9",
"display_name": "Julia 1.9.2",
"language": "julia"
}
},

2
dev/index.html

File diff suppressed because one or more lines are too long

8
dev/outputformats/index.html

File diff suppressed because one or more lines are too long

4
dev/pipeline/index.html

File diff suppressed because one or more lines are too long

2
dev/search/index.html

File diff suppressed because one or more lines are too long

2
dev/search_index.js

File diff suppressed because one or more lines are too long

4
dev/tips/index.html

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save