// Generated by Documenter.jl requirejs.config({ paths: { 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.0.1/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.11/contrib/auto-render.min', 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/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.11/katex.min', 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.0.1/highlight.min', 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.0.1/languages/julia-repl.min', }, shim: { "highlight-julia": { "deps": [ "highlight" ] }, "katex-auto-render": { "deps": [ "katex" ] }, "headroom-jquery": { "deps": [ "jquery", "headroom" ] }, "highlight-julia-repl": { "deps": [ "highlight" ] } } }); //////////////////////////////////////////////////////////////////////////////// require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { $(document).ready(function() { renderMathInElement( document.body, { "delimiters": [ { "left": "$", "right": "$", "display": false }, { "left": "$$", "right": "$$", "display": true }, { "left": "\\[", "right": "\\]", "display": true } ] } ); }) }) //////////////////////////////////////////////////////////////////////////////// require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { $(document).ready(function() { hljs.highlightAll(); }) }) //////////////////////////////////////////////////////////////////////////////// require([], function() { function addCopyButtonCallbacks() { for (const el of document.getElementsByTagName("pre")) { const button = document.createElement("button"); button.classList.add("copy-button", "fas", "fa-copy"); el.appendChild(button); const success = function () { button.classList.add("success", "fa-check"); button.classList.remove("fa-copy"); }; const failure = function () { button.classList.add("error", "fa-times"); button.classList.remove("fa-copy"); }; button.addEventListener("click", function () { copyToClipboard(el.innerText).then(success, failure); setTimeout(function () { button.classList.add("fa-copy"); button.classList.remove("success", "fa-check", "fa-times"); }, 5000); }); } } function copyToClipboard(text) { // clipboard API is only available in secure contexts if (window.navigator && window.navigator.clipboard) { return window.navigator.clipboard.writeText(text); } else { return new Promise(function (resolve, reject) { try { const el = document.createElement("textarea"); el.textContent = text; el.style.position = "fixed"; el.style.opacity = 0; document.body.appendChild(el); el.select(); document.execCommand("copy"); resolve(); } catch (err) { reject(err); } finally { document.body.removeChild(el); } }); } } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); } else { addCopyButtonCallbacks(); } }) //////////////////////////////////////////////////////////////////////////////// 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}, }); }) }) //////////////////////////////////////////////////////////////////////////////// require(['jquery'], function($) { // Modal settings dialog $(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'); }); // Close dialog if ESC is pressed $(document).keyup(function(e) { if (e.keyCode == 27) settings.removeClass('is-active'); }); }); }) //////////////////////////////////////////////////////////////////////////////// require(['jquery'], function($) { // Manages the showing and hiding of the sidebar. $(document).ready(function() { var sidebar = $("#documenter > .docs-sidebar"); var sidebar_button = $("#documenter-sidebar-button") sidebar_button.click(function(ev) { ev.preventDefault(); 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) { if ($(ev.target).is(sidebar_button)) { return; } 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() { e = $("#documenter .docs-autofit"); function resize() { 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); // TODO: make sure it survives resizes? } } // call once and then register events resize(); $(window).resize(resize); $(window).on('orientationchange', resize); }); // Scroll the navigation bar to the currently selected menu item $(document).ready(function() { var sidebar = $("#documenter .docs-menu").get(0); var active = $("#documenter .docs-menu .is-active").get(0); 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() { // onchange callback $('#documenter-themepicker').change(function themepick_callback(ev){ var themename = $('#documenter-themepicker option:selected').attr('value'); set_theme(themename); }); // 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}`); }) } } }) }) //////////////////////////////////////////////////////////////////////////////// require(['jquery'], function($) { // update the version selector with info from the siteinfo.js and ../versions.js files $(document).ready(function() { 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; 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 = $(""); version_selector_select.append(option); } 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_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 = $(""); version_selector_select.append(option); } else { var option = existing_versions[existing_id]; option.value = version_url; option.disabled = false; } }); } // only show the version selector if the selector has been populated if (version_selector_select.children("option").length > 0) { version_selector.toggleClass("visible"); } }) })