227 lines
9.7 KiB
JavaScript
227 lines
9.7 KiB
JavaScript
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
|
"use strict";
|
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
|
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
|
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
|
|
// Blocks
|
|
docReady(function () {
|
|
var boxesNames = {
|
|
"seealso": "See also",
|
|
"definition": "Definition",
|
|
"exampl": "Example",
|
|
"exercice": "Exercice",
|
|
"question": "Question",
|
|
"summary": "Summary",
|
|
"note": "Note",
|
|
"answer": "Answer",
|
|
"hint": "Hint",
|
|
"important": "Important",
|
|
"caution": "Caution",
|
|
"warning": "Warning"
|
|
};
|
|
|
|
for (var className in boxesNames) {
|
|
var boxes = document.querySelectorAll('div.' + className);
|
|
|
|
var _iterator = _createForOfIteratorHelper(boxes),
|
|
_step;
|
|
|
|
try {
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
var box = _step.value;
|
|
var boxTitle = document.createElement('p');
|
|
boxTitle.className = "admonition-title " + className;
|
|
boxTitle.textContent = boxesNames[className];
|
|
box.parentNode.insertBefore(boxTitle, box);
|
|
}
|
|
} catch (err) {
|
|
_iterator.e(err);
|
|
} finally {
|
|
_iterator.f();
|
|
}
|
|
}
|
|
}); // Copy Source Block
|
|
|
|
docReady(function () {
|
|
var srcContainers = document.querySelectorAll('pre.src');
|
|
|
|
var _iterator2 = _createForOfIteratorHelper(srcContainers),
|
|
_step2;
|
|
|
|
try {
|
|
var _loop = function _loop() {
|
|
var srcContrainer = _step2.value;
|
|
var boxCopy = document.createElement('div');
|
|
boxCopy.className = "src-copy";
|
|
boxCopy.textContent = "Copy";
|
|
|
|
boxCopy.onclick = function () {
|
|
// Create a clone the node to not affect the original one
|
|
var nodeClone = this.parentNode.cloneNode(true); // Remove Line Numbers and Copy Button
|
|
|
|
var linenumNodes = nodeClone.querySelectorAll('.linenr,.src-copy');
|
|
|
|
for (var i = linenumNodes.length - 1; i >= 0; --i) {
|
|
nodeClone.removeChild(linenumNodes[i]);
|
|
} // Copy the filetered content to the clipboard
|
|
|
|
|
|
var srcText = nodeClone.textContent;
|
|
navigator.clipboard.writeText(srcText).then(function () {
|
|
boxCopy.textContent = "Copied";
|
|
boxCopy.classList.add("src-copied");
|
|
setTimeout(function () {
|
|
boxCopy.textContent = "Copy";
|
|
boxCopy.classList.remove("src-copied");
|
|
}, 2000);
|
|
});
|
|
};
|
|
|
|
srcContrainer.prepend(boxCopy);
|
|
};
|
|
|
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
_loop();
|
|
}
|
|
} catch (err) {
|
|
_iterator2.e(err);
|
|
} finally {
|
|
_iterator2.f();
|
|
}
|
|
}); // Equivalent of Jquery $.ready
|
|
|
|
function docReady(fn) {
|
|
// see if DOM is already available
|
|
if (document.readyState === "complete" || document.readyState === "interactive") {
|
|
// call on next available tick
|
|
setTimeout(fn, 1);
|
|
} else {
|
|
document.addEventListener("DOMContentLoaded", fn);
|
|
}
|
|
} // Load Jquery
|
|
|
|
|
|
var scr = document.createElement('script'),
|
|
head = document.head || document.getElementsByTagName('head')[0];
|
|
scr.src = 'https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js';
|
|
scr.async = false; // optionally
|
|
|
|
head.insertBefore(scr, head.firstChild); // Load Bootstrap.js
|
|
|
|
var scr = document.createElement('script'),
|
|
head = document.head || document.getElementsByTagName('head')[0];
|
|
scr.src = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js';
|
|
scr.async = false; // optionally
|
|
|
|
head.insertBefore(scr, head.firstChild); // After it is loaded
|
|
|
|
scr.addEventListener('load', function () {
|
|
$(document).ready(function () {
|
|
$('#text-table-of-contents ul').first().addClass('nav'); // ScrollSpy also requires that we use
|
|
// a Bootstrap nav component.
|
|
|
|
$('body').scrollspy({
|
|
target: '#text-table-of-contents'
|
|
}); // set the height of tableOfContents
|
|
|
|
var $postamble = $('#postamble');
|
|
var $tableOfContents = $('#table-of-contents');
|
|
$tableOfContents.css({
|
|
paddingBottom: $postamble.outerHeight()
|
|
}); // add TOC button
|
|
|
|
var toggleSidebar = $('<div id="toggle-sidebar"><a href="#table-of-contents"><h2>Table of Contents</h2></a></div>');
|
|
$('#content').prepend(toggleSidebar); // add close button when sidebar showed in mobile screen
|
|
|
|
var closeBtn = $('<a class="close-sidebar" href="#">Close</a>');
|
|
var tocTitle = $('#table-of-contents').find('h2');
|
|
tocTitle.append(closeBtn);
|
|
});
|
|
}); // function collapse_toc_elements_on_click (nav_li_a){
|
|
// /*
|
|
// When an `a' element in the TOC is clicked, its parent
|
|
// `li' element's active attribute is toggled. This causes
|
|
// the element to toggle between minimized and maximized
|
|
// states. The active attribute is documented in bootstrap.
|
|
// https://getbootstrap.com/docs/4.0/components/navbar/#nav
|
|
// */
|
|
// $(nav_li_a).parent().toggleClass("active");
|
|
// }
|
|
// $( document ).ready(function() {
|
|
// // When the document is loaded and ready, bind the
|
|
// // function `collapse_toc_elements_on_click' to the
|
|
// // `a' elements in the table of contents.
|
|
// $("#text-table-of-contents a").click(function() {
|
|
// collapse_toc_elements_on_click(this);
|
|
// });
|
|
// });
|
|
// $( document ).ready(function() {
|
|
// // Shift nav in mobile when clicking the menu.
|
|
// $(document).on('click', "[data-toggle='wy-nav-top']", function() {
|
|
// $("[data-toggle='wy-nav-shift']").toggleClass("shift");
|
|
// $("[data-toggle='rst-versions']").toggleClass("shift");
|
|
// });
|
|
// // Close menu when you click a link.
|
|
// $(document).on('click', ".wy-menu-vertical .current ul li a", function() {
|
|
// $("[data-toggle='wy-nav-shift']").removeClass("shift");
|
|
// $("[data-toggle='rst-versions']").toggleClass("shift");
|
|
// });
|
|
// $(document).on('click', "[data-toggle='rst-current-version']", function() {
|
|
// $("[data-toggle='rst-versions']").toggleClass("shift-up");
|
|
// });
|
|
// // Make tables responsive
|
|
// $("table.docutils:not(.field-list)").wrap("<div class='wy-table-responsive'></div>");
|
|
// });
|
|
// $( document ).ready(function() {
|
|
// $('#text-table-of-contents ul').first().addClass('nav');
|
|
// // ScrollSpy also requires that we use
|
|
// // a Bootstrap nav component.
|
|
// $('body').scrollspy({target: '#text-table-of-contents'});
|
|
// // set the height of tableOfContents
|
|
// var $postamble = $('#postamble');
|
|
// var $tableOfContents = $('#table-of-contents');
|
|
// $tableOfContents.css({paddingBottom: $postamble.outerHeight()});
|
|
// // add TOC button
|
|
// var toggleSidebar = $('<div id="toggle-sidebar"><a href="#table-of-contents"><h2>Table of Contents</h2></a></div>');
|
|
// $('#content').prepend(toggleSidebar);
|
|
// // add close button when sidebar showed in mobile screen
|
|
// var closeBtn = $('<a class="close-sidebar" href="#">Close</a>');
|
|
// var tocTitle = $('#table-of-contents').find('h2');
|
|
// tocTitle.append(closeBtn);
|
|
// });
|
|
// window.SphinxRtdTheme = (function (jquery) {
|
|
// var stickyNav = (function () {
|
|
// var navBar,
|
|
// win,
|
|
// stickyNavCssClass = 'stickynav',
|
|
// applyStickNav = function () {
|
|
// if (navBar.height() <= win.height()) {
|
|
// navBar.addClass(stickyNavCssClass);
|
|
// } else {
|
|
// navBar.removeClass(stickyNavCssClass);
|
|
// }
|
|
// },
|
|
// enable = function () {
|
|
// applyStickNav();
|
|
// win.on('resize', applyStickNav);
|
|
// },
|
|
// init = function () {
|
|
// navBar = jquery('nav.wy-nav-side:first');
|
|
// win = jquery(window);
|
|
// };
|
|
// jquery(init);
|
|
// return {
|
|
// enable : enable
|
|
// };
|
|
// }());
|
|
// return {
|
|
// StickyNav : stickyNav
|
|
// };
|
|
// }($));
|
|
|
|
},{}]},{},[1]);
|