diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json new file mode 100644 index 000000000..7825f75c3 --- /dev/null +++ b/dev/.documenter-siteinfo.json @@ -0,0 +1 @@ +{"documenter":{"julia_version":"1.10.1","generation_timestamp":"2024-02-22T13:36:51","documenter_version":"1.2.1"}} \ No newline at end of file diff --git a/dev/assets/biglogo-blacktheme.svg b/dev/assets/biglogo-blacktheme.svg new file mode 100644 index 000000000..101ebb89d --- /dev/null +++ b/dev/assets/biglogo-blacktheme.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dev/assets/biglogo.svg b/dev/assets/biglogo.svg new file mode 100644 index 000000000..b9f3d9f8e --- /dev/null +++ b/dev/assets/biglogo.svg @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/dev/assets/documenter.js b/dev/assets/documenter.js new file mode 100644 index 000000000..f5311607b --- /dev/null +++ b/dev/assets/documenter.js @@ -0,0 +1,889 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.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.13.2/jquery-ui.min', + 'minisearch': 'https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.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.16.8/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/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(['jquery'], function($) { + +let timer = 0; +var isExpanded = true; + +$(document).on("click", ".docstring header", function () { + let articleToggleTitle = "Expand docstring"; + + debounce(() => { + 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"; + + debounce(() => { + 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); + }); +}); + +function debounce(callback, timeout = 300) { + if (Date.now() - timer > timeout) { + callback(); + } + + clearTimeout(timer); + + timer = Date.now(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require([], function() { +function addCopyButtonCallbacks() { + for (const el of document.getElementsByTagName("pre")) { + const button = document.createElement("button"); + button.classList.add("copy-button", "fa-solid", "fa-copy"); + button.setAttribute("aria-label", "Copy this code block"); + button.setAttribute("title", "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-xmark"); + 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-xmark"); + }, 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', 'minisearch'], function($, minisearch) { + +// In general, most search related things will have "search" as a prefix. +// To get an in-depth about the thought process you can refer: https://hetarth02.hashnode.dev/series/gsoc + +let results = []; +let timer = undefined; + +let data = documenterSearchIndex["docs"].map((x, key) => { + x["id"] = key; // minisearch requires a unique for each object + 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 +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", +]); + +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@!]+$/, ""); + } + + 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\-\.]+/), + // options which will be applied during the search + 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@!]+$/, ""); + } + + return word ?? null; + }, + tokenize: (string) => string.split(/[\s\-\.]+/), + }, +}); + +index.addAll(data); + +let filters = [...new Set(data.map((x) => x.category))]; +var modal_filters = make_modal_body_filters(filters); +var filter_results = []; + +$(document).on("keyup", ".documenter-search-input", function (event) { + // Adding a debounce to prevent disruptions from super-speed typing! + debounce(() => update_search(filter_results), 300); +}); + +$(document).on("click", ".search-filter", function () { + if ($(this).hasClass("search-filter-selected")) { + $(this).removeClass("search-filter-selected"); + } else { + $(this).addClass("search-filter-selected"); + } + + // Adding a debounce to prevent disruptions from crazy clicking! + debounce(() => get_filters(), 300); +}); + +/** + * A debounce function, takes a function and an optional timeout in milliseconds + * + * @function callback + * @param {number} timeout + */ +function debounce(callback, timeout = 300) { + clearTimeout(timer); + timer = setTimeout(callback, timeout); +} + +/** + * Make/Update the search component + * + * @param {string[]} selected_filters + */ +function update_search(selected_filters = []) { + let initial_search_body = ` +
Type something to get started!
+ `; + + let querystring = $(".documenter-search-input").val(); + + if (querystring.trim()) { + results = index.search(querystring, { + filter: (result) => { + // Filtering results + if (selected_filters.length === 0) { + return result.score >= 1; + } else { + return ( + result.score >= 1 && selected_filters.includes(result.category) + ); + } + }, + }); + + let search_result_container = ``; + let search_divider = `
`; + + if (results.length) { + let links = []; + let count = 0; + let search_results = ""; + + results.forEach(function (result) { + if (result.location) { + // Checking for duplication of results for the same page + if (!links.includes(result.location)) { + search_results += make_search_result(result, querystring); + count++; + } + + links.push(result.location); + } + }); + + let result_count = `
${count} result(s)
`; + + search_result_container = ` +
+ ${modal_filters} + ${search_divider} + ${result_count} +
+ ${search_results} +
+
+ `; + } else { + search_result_container = ` +
+ ${modal_filters} + ${search_divider} +
0 result(s)
+
+
No result found!
+ `; + } + + if ($(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").removeClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(search_result_container); + } else { + filter_results = []; + modal_filters = make_modal_body_filters(filters, filter_results); + + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(initial_search_body); + } +} + +/** + * Make the modal filter html + * + * @param {string[]} filters + * @param {string[]} selected_filters + * @returns string + */ +function make_modal_body_filters(filters, selected_filters = []) { + let str = ``; + + filters.forEach((val) => { + if (selected_filters.includes(val)) { + str += `${val}`; + } else { + str += `${val}`; + } + }); + + let filter_html = ` +
+ Filters: + ${str} +
+ `; + + return filter_html; +} + +/** + * Make the result component given a minisearch result data object and the value of the search input as queryString. + * To view the result object structure, refer: https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchresult + * + * @param {object} result + * @param {string} querystring + * @returns string + */ +function make_search_result(result, querystring) { + let search_divider = `
`; + let display_link = + result.location.slice(Math.max(0), Math.min(50, result.location.length)) + + (result.location.length > 30 ? "..." : ""); // To cut-off the link because it messes with the overflow of the whole div + + if (result.page !== "") { + display_link += ` (${result.page})`; + } + + 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 + ) + ) + : ""; // cut-off text before and after from the match + + let display_result = text.length + ? "..." + + text.replace( + new RegExp(`\\b${querystring}\\b`, "i"), // For first occurrence + '$&' + ) + + "..." + : ""; // highlights the match + + let in_code = false; + if (!["page", "section"].includes(result.category.toLowerCase())) { + in_code = true; + } + + // We encode the full url to escape some special characters which can lead to broken links + let result_div = ` + +
+
${result.title}
+
${result.category}
+
+

+ ${display_result} +

+
+ ${display_link} +
+
+ ${search_divider} + `; + + return result_div; +} + +/** + * Get selected filters, remake the filter html and lastly update the search modal + */ +function get_filters() { + let ele = $(".search-filters .search-filter-selected").get(); + filter_results = ele.map((x) => $(x).text().toLowerCase()); + modal_filters = make_modal_body_filters(filters, filter_results); + update_search(filter_results); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +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($) { + +let search_modal_header = ` + +`; + +let initial_search_body = ` +
Type something to get started!
+`; + +let search_modal_footer = ` + +`; + +$(document.body).append( + ` + + ` +); + +document.querySelector(".docs-search-query").addEventListener("click", () => { + openModal(); +}); + +document.querySelector(".close-search-modal").addEventListener("click", () => { + closeModal(); +}); + +$(document).on("click", ".search-result-link", function () { + closeModal(); +}); + +document.addEventListener("keydown", (event) => { + if ((event.ctrlKey || event.metaKey) && event.key === "/") { + openModal(); + } else if (event.key === "Escape") { + closeModal(); + } + + return false; +}); + +// Functions to open and close a modal +function openModal() { + let searchModal = document.querySelector("#search-modal"); + + searchModal.classList.add("is-active"); + document.querySelector(".documenter-search-input").focus(); +} + +function closeModal() { + let searchModal = document.querySelector("#search-modal"); + let initial_search_body = ` +
Type something to get started!
+ `; + + searchModal.classList.remove("is-active"); + document.querySelector(".documenter-search-input").blur(); + + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".documenter-search-input").val(""); + $(".search-modal-card-body").html(initial_search_body); +} + +document + .querySelector("#search-modal .modal-background") + .addEventListener("click", () => { + closeModal(); + }); + +}) +//////////////////////////////////////////////////////////////////////////////// +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($) { + +// Theme picker setup +$(document).ready(function () { + // onchange callback + $("#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; + }); + } + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(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 + ) { + 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; + 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"); + } +}); + +}) diff --git a/dev/assets/examples/Active Inference Mountain car_4_1.png b/dev/assets/examples/Active Inference Mountain car_4_1.png new file mode 100644 index 000000000..9394d1730 Binary files /dev/null and b/dev/assets/examples/Active Inference Mountain car_4_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_12_1.png b/dev/assets/examples/Autoregressive Models_12_1.png new file mode 100644 index 000000000..5f7b543d9 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_12_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_13_1.png b/dev/assets/examples/Autoregressive Models_13_1.png new file mode 100644 index 000000000..99416e777 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_13_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_14_1.png b/dev/assets/examples/Autoregressive Models_14_1.png new file mode 100644 index 000000000..e4b52db2e Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_14_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_24_1.png b/dev/assets/examples/Autoregressive Models_24_1.png new file mode 100644 index 000000000..92d942e95 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_24_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_32_1.png b/dev/assets/examples/Autoregressive Models_32_1.png new file mode 100644 index 000000000..9b30d0046 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_32_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_36_1.png b/dev/assets/examples/Autoregressive Models_36_1.png new file mode 100644 index 000000000..047100331 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_36_1.png differ diff --git a/dev/assets/examples/Autoregressive Models_6_1.png b/dev/assets/examples/Autoregressive Models_6_1.png new file mode 100644 index 000000000..309eadff5 Binary files /dev/null and b/dev/assets/examples/Autoregressive Models_6_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_10_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_10_1.png new file mode 100644 index 000000000..4ecb12eef Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_10_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_12_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_12_1.png new file mode 100644 index 000000000..21f2cf9b8 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_12_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_14_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_14_1.png new file mode 100644 index 000000000..d35fb5850 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_14_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_15_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_15_1.png new file mode 100644 index 000000000..8068d76e2 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_15_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_16_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_16_1.png new file mode 100644 index 000000000..2dd3fcb12 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_16_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_17_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_17_1.png new file mode 100644 index 000000000..ddcc56f62 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_17_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_18_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_18_1.png new file mode 100644 index 000000000..fc9c0743a Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_18_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_21_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_21_1.png new file mode 100644 index 000000000..157bce417 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_21_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_24_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_24_1.png new file mode 100644 index 000000000..332e6707d Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_24_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_25_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_25_1.png new file mode 100644 index 000000000..da8387995 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_25_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_26_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_26_1.png new file mode 100644 index 000000000..0b3299f1c Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_26_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_27_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_27_1.png new file mode 100644 index 000000000..dc2785db5 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_27_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_34_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_34_1.png new file mode 100644 index 000000000..e935ce86c Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_34_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_40_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_40_1.png new file mode 100644 index 000000000..a7f23a09f Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_40_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_42_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_42_1.png new file mode 100644 index 000000000..3249d9b3c Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_42_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_4_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_4_1.png new file mode 100644 index 000000000..3851d2ea5 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_4_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_51_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_51_1.png new file mode 100644 index 000000000..df1ae996a Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_51_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_54_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_54_1.png new file mode 100644 index 000000000..8da279955 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_54_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_55_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_55_1.png new file mode 100644 index 000000000..ca615bf2c Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_55_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_7_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_7_1.png new file mode 100644 index 000000000..564b04161 Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_7_1.png differ diff --git a/dev/assets/examples/Bayesian Linear Regression Tutorial_8_1.png b/dev/assets/examples/Bayesian Linear Regression Tutorial_8_1.png new file mode 100644 index 000000000..b86dc84cd Binary files /dev/null and b/dev/assets/examples/Bayesian Linear Regression Tutorial_8_1.png differ diff --git a/dev/assets/examples/Chance Constraints_11_1.png b/dev/assets/examples/Chance Constraints_11_1.png new file mode 100644 index 000000000..b7b9be536 Binary files /dev/null and b/dev/assets/examples/Chance Constraints_11_1.png differ diff --git a/dev/assets/examples/Coin Toss Model_7_1.png b/dev/assets/examples/Coin Toss Model_7_1.png new file mode 100644 index 000000000..180821d61 Binary files /dev/null and b/dev/assets/examples/Coin Toss Model_7_1.png differ diff --git a/dev/assets/examples/Conjugate-Computational Variational Message Passing_10_1.png b/dev/assets/examples/Conjugate-Computational Variational Message Passing_10_1.png new file mode 100644 index 000000000..d90df26c0 Binary files /dev/null and b/dev/assets/examples/Conjugate-Computational Variational Message Passing_10_1.png differ diff --git a/dev/assets/examples/Conjugate-Computational Variational Message Passing_12_1.png b/dev/assets/examples/Conjugate-Computational Variational Message Passing_12_1.png new file mode 100644 index 000000000..14f524963 Binary files /dev/null and b/dev/assets/examples/Conjugate-Computational Variational Message Passing_12_1.png differ diff --git a/dev/assets/examples/Conjugate-Computational Variational Message Passing_4_1.png b/dev/assets/examples/Conjugate-Computational Variational Message Passing_4_1.png new file mode 100644 index 000000000..2e19804fb Binary files /dev/null and b/dev/assets/examples/Conjugate-Computational Variational Message Passing_4_1.png differ diff --git a/dev/assets/examples/GP Regression by SSM_10_1.png b/dev/assets/examples/GP Regression by SSM_10_1.png new file mode 100644 index 000000000..be25d53d3 Binary files /dev/null and b/dev/assets/examples/GP Regression by SSM_10_1.png differ diff --git a/dev/assets/examples/GP Regression by SSM_5_1.png b/dev/assets/examples/GP Regression by SSM_5_1.png new file mode 100644 index 000000000..3246e6256 Binary files /dev/null and b/dev/assets/examples/GP Regression by SSM_5_1.png differ diff --git a/dev/assets/examples/Gamma Mixture_10_1.png b/dev/assets/examples/Gamma Mixture_10_1.png new file mode 100644 index 000000000..bd8ce343b Binary files /dev/null and b/dev/assets/examples/Gamma Mixture_10_1.png differ diff --git a/dev/assets/examples/Gaussian Mixture_12_1.png b/dev/assets/examples/Gaussian Mixture_12_1.png new file mode 100644 index 000000000..fc21b9942 Binary files /dev/null and b/dev/assets/examples/Gaussian Mixture_12_1.png differ diff --git a/dev/assets/examples/Gaussian Mixture_4_1.png b/dev/assets/examples/Gaussian Mixture_4_1.png new file mode 100644 index 000000000..aedf37236 Binary files /dev/null and b/dev/assets/examples/Gaussian Mixture_4_1.png differ diff --git a/dev/assets/examples/Gaussian Mixture_7_1.png b/dev/assets/examples/Gaussian Mixture_7_1.png new file mode 100644 index 000000000..338fe2092 Binary files /dev/null and b/dev/assets/examples/Gaussian Mixture_7_1.png differ diff --git a/dev/assets/examples/Gaussian Mixture_9_1.png b/dev/assets/examples/Gaussian Mixture_9_1.png new file mode 100644 index 000000000..64adeef14 Binary files /dev/null and b/dev/assets/examples/Gaussian Mixture_9_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_14_1.png b/dev/assets/examples/Global Parameter Optimisation_14_1.png new file mode 100644 index 000000000..70f61d1cf Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_14_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_18_1.png b/dev/assets/examples/Global Parameter Optimisation_18_1.png new file mode 100644 index 000000000..eac50a682 Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_18_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_22_1.png b/dev/assets/examples/Global Parameter Optimisation_22_1.png new file mode 100644 index 000000000..c24630442 Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_22_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_28_1.png b/dev/assets/examples/Global Parameter Optimisation_28_1.png new file mode 100644 index 000000000..98706ec52 Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_28_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_32_1.png b/dev/assets/examples/Global Parameter Optimisation_32_1.png new file mode 100644 index 000000000..cf55c8da0 Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_32_1.png differ diff --git a/dev/assets/examples/Global Parameter Optimisation_35_1.png b/dev/assets/examples/Global Parameter Optimisation_35_1.png new file mode 100644 index 000000000..fddb20942 Binary files /dev/null and b/dev/assets/examples/Global Parameter Optimisation_35_1.png differ diff --git a/dev/assets/examples/Hidden Markov Model_4_1.png b/dev/assets/examples/Hidden Markov Model_4_1.png new file mode 100644 index 000000000..a15a96215 Binary files /dev/null and b/dev/assets/examples/Hidden Markov Model_4_1.png differ diff --git a/dev/assets/examples/Hidden Markov Model_9_1.png b/dev/assets/examples/Hidden Markov Model_9_1.png new file mode 100644 index 000000000..32d9bbc46 Binary files /dev/null and b/dev/assets/examples/Hidden Markov Model_9_1.png differ diff --git a/dev/assets/examples/Hierarchical Gaussian Filter_10_1.png b/dev/assets/examples/Hierarchical Gaussian Filter_10_1.png new file mode 100644 index 000000000..6a3b9c9dc Binary files /dev/null and b/dev/assets/examples/Hierarchical Gaussian Filter_10_1.png differ diff --git a/dev/assets/examples/Hierarchical Gaussian Filter_5_1.png b/dev/assets/examples/Hierarchical Gaussian Filter_5_1.png new file mode 100644 index 000000000..2d74bff5a Binary files /dev/null and b/dev/assets/examples/Hierarchical Gaussian Filter_5_1.png differ diff --git a/dev/assets/examples/Hierarchical Gaussian Filter_9_1.png b/dev/assets/examples/Hierarchical Gaussian Filter_9_1.png new file mode 100644 index 000000000..9821f6bc9 Binary files /dev/null and b/dev/assets/examples/Hierarchical Gaussian Filter_9_1.png differ diff --git a/dev/assets/examples/Infinite Data Stream_11_1.png b/dev/assets/examples/Infinite Data Stream_11_1.png new file mode 100644 index 000000000..0d1e48052 Binary files /dev/null and b/dev/assets/examples/Infinite Data Stream_11_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_10_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_10_1.png new file mode 100644 index 000000000..009e76bec Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_10_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_14_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_14_1.png new file mode 100644 index 000000000..95edfacc0 Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_14_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_15_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_15_1.png new file mode 100644 index 000000000..ab077a912 Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_15_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_17_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_17_1.png new file mode 100644 index 000000000..201b882c0 Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_17_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_23_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_23_1.png new file mode 100644 index 000000000..a639d283d Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_23_1.png differ diff --git a/dev/assets/examples/Invertible Neural Network Tutorial_24_1.png b/dev/assets/examples/Invertible Neural Network Tutorial_24_1.png new file mode 100644 index 000000000..b38e5ab4e Binary files /dev/null and b/dev/assets/examples/Invertible Neural Network Tutorial_24_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_10_1.png b/dev/assets/examples/Kalman filtering and smoothing_10_1.png new file mode 100644 index 000000000..404cd2073 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_10_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_15_1.png b/dev/assets/examples/Kalman filtering and smoothing_15_1.png new file mode 100644 index 000000000..387f83e00 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_15_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_20_1.png b/dev/assets/examples/Kalman filtering and smoothing_20_1.png new file mode 100644 index 000000000..0332168c8 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_20_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_23_1.png b/dev/assets/examples/Kalman filtering and smoothing_23_1.png new file mode 100644 index 000000000..3997d6305 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_23_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_25_1.png b/dev/assets/examples/Kalman filtering and smoothing_25_1.png new file mode 100644 index 000000000..baae896e0 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_25_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_30_1.png b/dev/assets/examples/Kalman filtering and smoothing_30_1.png new file mode 100644 index 000000000..0ca63d89e Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_30_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_33_1.png b/dev/assets/examples/Kalman filtering and smoothing_33_1.png new file mode 100644 index 000000000..230f9e497 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_33_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_39_1.png b/dev/assets/examples/Kalman filtering and smoothing_39_1.png new file mode 100644 index 000000000..1157e61d1 Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_39_1.png differ diff --git a/dev/assets/examples/Kalman filtering and smoothing_6_1.png b/dev/assets/examples/Kalman filtering and smoothing_6_1.png new file mode 100644 index 000000000..868c31a7a Binary files /dev/null and b/dev/assets/examples/Kalman filtering and smoothing_6_1.png differ diff --git a/dev/assets/examples/Nonlinear Sensor Fusion_12_1.png b/dev/assets/examples/Nonlinear Sensor Fusion_12_1.png new file mode 100644 index 000000000..b2722f776 Binary files /dev/null and b/dev/assets/examples/Nonlinear Sensor Fusion_12_1.png differ diff --git a/dev/assets/examples/Nonlinear Sensor Fusion_17_1.png b/dev/assets/examples/Nonlinear Sensor Fusion_17_1.png new file mode 100644 index 000000000..4d1e2bd3c Binary files /dev/null and b/dev/assets/examples/Nonlinear Sensor Fusion_17_1.png differ diff --git a/dev/assets/examples/Nonlinear Sensor Fusion_4_1.png b/dev/assets/examples/Nonlinear Sensor Fusion_4_1.png new file mode 100644 index 000000000..6be9531bf Binary files /dev/null and b/dev/assets/examples/Nonlinear Sensor Fusion_4_1.png differ diff --git a/dev/assets/examples/Predicting Bike Rental Demand_17_1.png b/dev/assets/examples/Predicting Bike Rental Demand_17_1.png new file mode 100644 index 000000000..49ebabbfb Binary files /dev/null and b/dev/assets/examples/Predicting Bike Rental Demand_17_1.png differ diff --git a/dev/assets/examples/Predicting Bike Rental Demand_18_1.png b/dev/assets/examples/Predicting Bike Rental Demand_18_1.png new file mode 100644 index 000000000..ed7f08607 Binary files /dev/null and b/dev/assets/examples/Predicting Bike Rental Demand_18_1.png differ diff --git a/dev/assets/examples/Probit Model (EP)_6_1.png b/dev/assets/examples/Probit Model (EP)_6_1.png new file mode 100644 index 000000000..b9b15d04b Binary files /dev/null and b/dev/assets/examples/Probit Model (EP)_6_1.png differ diff --git a/dev/assets/examples/Probit Model (EP)_9_1.png b/dev/assets/examples/Probit Model (EP)_9_1.png new file mode 100644 index 000000000..baf1f1c80 Binary files /dev/null and b/dev/assets/examples/Probit Model (EP)_9_1.png differ diff --git a/dev/assets/examples/RTS vs BIFM Smoothing_11_1.png b/dev/assets/examples/RTS vs BIFM Smoothing_11_1.png new file mode 100644 index 000000000..66e32249a Binary files /dev/null and b/dev/assets/examples/RTS vs BIFM Smoothing_11_1.png differ diff --git a/dev/assets/examples/RTS vs BIFM Smoothing_12_1.png b/dev/assets/examples/RTS vs BIFM Smoothing_12_1.png new file mode 100644 index 000000000..c84567e8d Binary files /dev/null and b/dev/assets/examples/RTS vs BIFM Smoothing_12_1.png differ diff --git a/dev/assets/examples/RTS vs BIFM Smoothing_5_1.png b/dev/assets/examples/RTS vs BIFM Smoothing_5_1.png new file mode 100644 index 000000000..54e877de1 Binary files /dev/null and b/dev/assets/examples/RTS vs BIFM Smoothing_5_1.png differ diff --git a/dev/assets/examples/Simple Nonlinear Node_14_1.png b/dev/assets/examples/Simple Nonlinear Node_14_1.png new file mode 100644 index 000000000..75ac00028 Binary files /dev/null and b/dev/assets/examples/Simple Nonlinear Node_14_1.png differ diff --git a/dev/assets/examples/Tiny Benchmark_11_1.png b/dev/assets/examples/Tiny Benchmark_11_1.png new file mode 100644 index 000000000..97ee402ca Binary files /dev/null and b/dev/assets/examples/Tiny Benchmark_11_1.png differ diff --git a/dev/assets/examples/Tiny Benchmark_7_1.png b/dev/assets/examples/Tiny Benchmark_7_1.png new file mode 100644 index 000000000..36c08b460 Binary files /dev/null and b/dev/assets/examples/Tiny Benchmark_7_1.png differ diff --git a/dev/assets/examples/Universal Mixtures_10_1.png b/dev/assets/examples/Universal Mixtures_10_1.png new file mode 100644 index 000000000..fd23f884a Binary files /dev/null and b/dev/assets/examples/Universal Mixtures_10_1.png differ diff --git a/dev/assets/examples/Universal Mixtures_13_1.png b/dev/assets/examples/Universal Mixtures_13_1.png new file mode 100644 index 000000000..cf2c5244c Binary files /dev/null and b/dev/assets/examples/Universal Mixtures_13_1.png differ diff --git a/dev/assets/examples/Universal Mixtures_3_1.png b/dev/assets/examples/Universal Mixtures_3_1.png new file mode 100644 index 000000000..cec0904cc Binary files /dev/null and b/dev/assets/examples/Universal Mixtures_3_1.png differ diff --git a/dev/assets/examples/Universal Mixtures_9_1.png b/dev/assets/examples/Universal Mixtures_9_1.png new file mode 100644 index 000000000..a6c946c8b Binary files /dev/null and b/dev/assets/examples/Universal Mixtures_9_1.png differ diff --git a/dev/assets/examples/pics/ai-mountain-car-ai.gif b/dev/assets/examples/pics/ai-mountain-car-ai.gif new file mode 100644 index 000000000..87f6cc774 Binary files /dev/null and b/dev/assets/examples/pics/ai-mountain-car-ai.gif differ diff --git a/dev/assets/examples/pics/ai-mountain-car-naive.gif b/dev/assets/examples/pics/ai-mountain-car-naive.gif new file mode 100644 index 000000000..80fdf4e1c Binary files /dev/null and b/dev/assets/examples/pics/ai-mountain-car-naive.gif differ diff --git a/dev/assets/examples/pics/hblr-matrix-completion.jpeg b/dev/assets/examples/pics/hblr-matrix-completion.jpeg new file mode 100644 index 000000000..be0f78e1c Binary files /dev/null and b/dev/assets/examples/pics/hblr-matrix-completion.jpeg differ diff --git a/dev/assets/examples/pics/infinite-data-stream-inference.gif b/dev/assets/examples/pics/infinite-data-stream-inference.gif new file mode 100644 index 000000000..34ca16f56 Binary files /dev/null and b/dev/assets/examples/pics/infinite-data-stream-inference.gif differ diff --git a/dev/assets/examples/pics/infinite-data-stream.gif b/dev/assets/examples/pics/infinite-data-stream.gif new file mode 100644 index 000000000..5455f9437 Binary files /dev/null and b/dev/assets/examples/pics/infinite-data-stream.gif differ diff --git a/dev/assets/examples/pics/online-coin-bias-inference.gif b/dev/assets/examples/pics/online-coin-bias-inference.gif new file mode 100644 index 000000000..59a505632 Binary files /dev/null and b/dev/assets/examples/pics/online-coin-bias-inference.gif differ diff --git a/dev/assets/examples/pics/pipeline.png b/dev/assets/examples/pics/pipeline.png new file mode 100644 index 000000000..d8302e166 Binary files /dev/null and b/dev/assets/examples/pics/pipeline.png differ diff --git a/dev/assets/examples/pics/posterior.png b/dev/assets/examples/pics/posterior.png new file mode 100644 index 000000000..4fa49edff Binary files /dev/null and b/dev/assets/examples/pics/posterior.png differ diff --git a/dev/assets/examples/pics/rts_bifm_benchmark.png b/dev/assets/examples/pics/rts_bifm_benchmark.png new file mode 100644 index 000000000..51a066062 Binary files /dev/null and b/dev/assets/examples/pics/rts_bifm_benchmark.png differ diff --git a/dev/assets/examples/pics/sp.png b/dev/assets/examples/pics/sp.png new file mode 100644 index 000000000..dedc65431 Binary files /dev/null and b/dev/assets/examples/pics/sp.png differ diff --git a/dev/assets/examples/pics/vmp.png b/dev/assets/examples/pics/vmp.png new file mode 100644 index 000000000..0561f27e3 Binary files /dev/null and b/dev/assets/examples/pics/vmp.png differ diff --git a/dev/assets/header.css b/dev/assets/header.css new file mode 100644 index 000000000..155b10a3b --- /dev/null +++ b/dev/assets/header.css @@ -0,0 +1,138 @@ + +@media all and (max-width: 560px) { + header.navigation { + position: fixed !important; + left:0; + top: 0; + width: 100%; + } + + header.navigation div.container { + margin-left: 0rem; + } + + header.navigation div.container nav.navbar { + min-height: 1rem !important; + } + + header.navigation div.container nav.navbar ul.navbar-nav { + min-height: 1rem !important; + margin-left: 0.5rem !important; + } + + header.navigation div.container nav.navbar ul.navbar-nav li.small-item { + visibility: visible !important; + display: block !important; + margin: 0.5rem; + } + + header.navigation div.container nav.navbar ul.navbar-nav li.nav-item { + visibility: hidden; + display: none; + } + + header.navigation div.container nav.navbar ul.navbar-nav li.nav-item a { + visibility: hidden; + display: none; + } + + html:not(.theme--documenter-dark) body #documenter .docs-main { + margin-top: 2rem !important; + } +} + +@media all and (max-width: 1055px) and (min-width: 561px){ + header.navigation { + position: fixed !important; + left:0; + top: 0; + width: 100%; + } + + header.navigation div.container { + margin-left: 0rem; + } + + header.navigation div.container nav.navbar ul.navbar-nav { + width: 80% !important; + } +} + +@media all and (min-width: 1056px) { + header.navigation { + position: fixed !important; + left:0; + top: 0; + width: 100%; + } + + header.navigation div.container { + margin-left: 18rem; + } + +} + +html.theme--documenter-dark header.navigation { + background-color: #1f2424 !important; +} + +html.theme--documenter-dark header.navigation div.container { + border-bottom: 1px solid #5e6d6f; +} + +html.theme--documenter-dark header.navigation div.container nav.navbar { + background-color: #1f2424 !important; +} + +html.theme--documenter-dark header.navigation div.container nav.navbar ul.navbar-nav li.nav-item a.nav-link { + color: white; + transition: color 100ms; +} + +html.theme--documenter-dark header.navigation div.container nav.navbar ul.navbar-nav li.nav-item a.nav-link:hover { + color: #0aa8a7 +} + +html header.navigation { + background-color: white !important; +} + +html header.navigation div.container { + border-bottom: 1px solid #dbdbdb; +} + +html header.navigation div.container nav.navbar ul.navbar-nav li.nav-item a.nav-link { + color: #222; + transition: color 100ms; +} + +html header.navigation div.container nav.navbar ul.navbar-nav li.nav-item a.nav-link:hover { + color: #0aa8a7 +} + +header.navigation { + z-index: 3; +} + +header.navigation div.container nav.navbar ul.navbar-nav { + margin-left: 4rem; + min-height: 3.25rem; + width: 70%; + display: flex; + align-self: auto; + flex-direction: row; + justify-content: space-around; +} + +header.navigation div.container nav.navbar ul.navbar-nav li.nav-item { + align-self: stretch; + align-content: space-around; + justify-content: center; + display: flex; + flex-direction: column; +} + +header.navigation div.container nav.navbar ul.navbar-nav li.small-item { + visibility: hidden; + display: none; +} \ No newline at end of file diff --git a/dev/assets/header.js b/dev/assets/header.js new file mode 100644 index 000000000..7f15cae83 --- /dev/null +++ b/dev/assets/header.js @@ -0,0 +1,97 @@ + +// We add a simple `onload` hook to inject the custom header for our `HTML`-generated pages +window.onload = function() { + //