summaryrefslogtreecommitdiff
path: root/_site/site_libs/navigation-1.1
diff options
context:
space:
mode:
authorDESKTOP-RBH716R\Admin2022-07-25 16:56:46 +0000
committerDESKTOP-RBH716R\Admin2022-07-25 16:56:46 +0000
commit11e4fd98988e0fd7f56d45afbec989a2ddcaa260 (patch)
treea4bd1fe2d65d44c5838c948844a55d876d7df521 /_site/site_libs/navigation-1.1
parenta465b6eab20dc7c275e028bc4c5889c822ded9fd (diff)
downloadmassgrave.dev-11e4fd98988e0fd7f56d45afbec989a2ddcaa260.zip
MAS 1.6
Diffstat (limited to '_site/site_libs/navigation-1.1')
-rw-r--r--_site/site_libs/navigation-1.1/codefolding-lua.css9
-rw-r--r--_site/site_libs/navigation-1.1/codefolding.js76
-rw-r--r--_site/site_libs/navigation-1.1/sourceembed.js12
-rw-r--r--_site/site_libs/navigation-1.1/tabsets.js141
4 files changed, 238 insertions, 0 deletions
diff --git a/_site/site_libs/navigation-1.1/codefolding-lua.css b/_site/site_libs/navigation-1.1/codefolding-lua.css
new file mode 100644
index 0000000..183b19e
--- /dev/null
+++ b/_site/site_libs/navigation-1.1/codefolding-lua.css
@@ -0,0 +1,9 @@
+detaiks.chunk-details > summary.chunk-summary {
+ text-align: right;
+}
+details.chunk-details[open] > summary.chunk-summary::after {
+ content: "Hide";
+}
+details.chunk-details[open] > summary.chunk-summary > span.chunk-summary-text {
+ display: none;
+}
diff --git a/_site/site_libs/navigation-1.1/codefolding.js b/_site/site_libs/navigation-1.1/codefolding.js
new file mode 100644
index 0000000..97fffb2
--- /dev/null
+++ b/_site/site_libs/navigation-1.1/codefolding.js
@@ -0,0 +1,76 @@
+
+window.initializeCodeFolding = function(show) {
+
+ // handlers for show-all and hide all
+ $("#rmd-show-all-code").click(function() {
+ $('div.r-code-collapse').each(function() {
+ $(this).collapse('show');
+ });
+ });
+ $("#rmd-hide-all-code").click(function() {
+ $('div.r-code-collapse').each(function() {
+ $(this).collapse('hide');
+ });
+ });
+
+ // index for unique code element ids
+ var currentIndex = 1;
+
+ // select all R code blocks
+ var rCodeBlocks = $('pre.r, pre.python, pre.bash, pre.sql, pre.cpp, pre.stan, pre.julia, pre.foldable');
+ rCodeBlocks.each(function() {
+ // skip if the block has fold-none class
+ if ($(this).hasClass('fold-none')) return;
+
+ // create a collapsable div to wrap the code in
+ var div = $('<div class="collapse r-code-collapse"></div>');
+ var showThis = (show || $(this).hasClass('fold-show')) && !$(this).hasClass('fold-hide');
+ var id = 'rcode-643E0F36' + currentIndex++;
+ div.attr('id', id);
+ $(this).before(div);
+ $(this).detach().appendTo(div);
+
+ // add a show code button right above
+ var showCodeText = $('<span>' + (showThis ? 'Hide' : 'Code') + '</span>');
+ var showCodeButton = $('<button type="button" class="btn btn-default btn-xs btn-secondary btn-sm code-folding-btn pull-right float-right"></button>');
+ showCodeButton.append(showCodeText);
+ showCodeButton
+ .attr('data-toggle', 'collapse')
+ .attr('data-bs-toggle', 'collapse') // BS5
+ .attr('data-target', '#' + id)
+ .attr('data-bs-target', '#' + id) // BS5
+ .attr('aria-expanded', showThis)
+ .attr('aria-controls', id);
+
+ var buttonRow = $('<div class="row"></div>');
+ var buttonCol = $('<div class="col-md-12"></div>');
+
+ buttonCol.append(showCodeButton);
+ buttonRow.append(buttonCol);
+
+ div.before(buttonRow);
+
+ // show the div if necessary
+ if (showThis) div.collapse('show');
+
+ // update state of button on show/hide
+ // * Change text
+ // * add a class for intermediate states styling
+ div.on('hide.bs.collapse', function () {
+ showCodeText.text('Code');
+ showCodeButton.addClass('btn-collapsing');
+ });
+ div.on('hidden.bs.collapse', function () {
+ showCodeButton.removeClass('btn-collapsing');
+ });
+ div.on('show.bs.collapse', function () {
+ showCodeText.text('Hide');
+ showCodeButton.addClass('btn-expanding');
+ });
+ div.on('shown.bs.collapse', function () {
+ showCodeButton.removeClass('btn-expanding');
+ });
+
+ });
+
+}
diff --git a/_site/site_libs/navigation-1.1/sourceembed.js b/_site/site_libs/navigation-1.1/sourceembed.js
new file mode 100644
index 0000000..8464b0c
--- /dev/null
+++ b/_site/site_libs/navigation-1.1/sourceembed.js
@@ -0,0 +1,12 @@
+
+window.initializeSourceEmbed = function(filename) {
+ $("#rmd-download-source").click(function() {
+ var src = $("#rmd-source-code").html();
+ var a = document.createElement('a');
+ a.href = "data:text/x-r-markdown;base64," + src;
+ a.download = filename;
+ document.body.appendChild(a);
+ a.click();
+ document.body.removeChild(a);
+ });
+};
diff --git a/_site/site_libs/navigation-1.1/tabsets.js b/_site/site_libs/navigation-1.1/tabsets.js
new file mode 100644
index 0000000..d7284e6
--- /dev/null
+++ b/_site/site_libs/navigation-1.1/tabsets.js
@@ -0,0 +1,141 @@
+
+
+/**
+ * jQuery Plugin: Sticky Tabs
+ *
+ * @author Aidan Lister <[email protected]>
+ * adapted by Ruben Arslan to activate parent tabs too
+ * http://www.aidanlister.com/2014/03/persisting-the-tab-state-in-bootstrap/
+ */
+(function($) {
+ "use strict";
+ $.fn.rmarkdownStickyTabs = function() {
+ var context = this;
+ // Show the tab corresponding with the hash in the URL, or the first tab
+ var showStuffFromHash = function() {
+ var hash = window.location.hash;
+ var selector = hash ? 'a[href="' + hash + '"]' : 'li.active > a';
+ var $selector = $(selector, context);
+ if($selector.data('toggle') === "tab") {
+ $selector.tab('show');
+ // walk up the ancestors of this element, show any hidden tabs
+ $selector.parents('.section.tabset').each(function(i, elm) {
+ var link = $('a[href="#' + $(elm).attr('id') + '"]');
+ if(link.data('toggle') === "tab") {
+ link.tab("show");
+ }
+ });
+ }
+ };
+
+
+ // Set the correct tab when the page loads
+ showStuffFromHash(context);
+
+ // Set the correct tab when a user uses their back/forward button
+ $(window).on('hashchange', function() {
+ showStuffFromHash(context);
+ });
+
+ // Change the URL when tabs are clicked
+ $('a', context).on('click', function(e) {
+ history.pushState(null, null, this.href);
+ showStuffFromHash(context);
+ });
+
+ return this;
+ };
+}(jQuery));
+
+window.buildTabsets = function(tocID) {
+
+ // build a tabset from a section div with the .tabset class
+ function buildTabset(tabset) {
+
+ // check for fade and pills options
+ var fade = tabset.hasClass("tabset-fade");
+ var pills = tabset.hasClass("tabset-pills");
+ var navClass = pills ? "nav-pills" : "nav-tabs";
+
+ // determine the heading level of the tabset and tabs
+ var match = tabset.attr('class').match(/level(\d) /);
+ if (match === null)
+ return;
+ var tabsetLevel = Number(match[1]);
+ var tabLevel = tabsetLevel + 1;
+
+ // find all subheadings immediately below
+ var tabs = tabset.find("div.section.level" + tabLevel);
+ if (!tabs.length)
+ return;
+
+ // create tablist and tab-content elements
+ var tabList = $('<ul class="nav ' + navClass + '" role="tablist"></ul>');
+ $(tabs[0]).before(tabList);
+ var tabContent = $('<div class="tab-content"></div>');
+ $(tabs[0]).before(tabContent);
+
+ // build the tabset
+ var activeTab = 0;
+ tabs.each(function(i) {
+
+ // get the tab div
+ var tab = $(tabs[i]);
+
+ // get the id then sanitize it for use with bootstrap tabs
+ var id = tab.attr('id');
+
+ // see if this is marked as the active tab
+ if (tab.hasClass('active'))
+ activeTab = i;
+
+ // remove any table of contents entries associated with
+ // this ID (since we'll be removing the heading element)
+ $("div#" + tocID + " li a[href='#" + id + "']").parent().remove();
+
+ // sanitize the id for use with bootstrap tabs
+ id = id.replace(/[.\/?&!#<>]/g, '').replace(/\s/g, '_');
+ tab.attr('id', id);
+
+ // get the heading element within it, grab it's text, then remove it
+ var heading = tab.find('h' + tabLevel + ':first');
+ var headingText = heading.html();
+ heading.remove();
+
+ // build and append the tab list item
+ var a = $('<a role="tab" data-toggle="tab">' + headingText + '</a>');
+ a.attr('href', '#' + id);
+ a.attr('aria-controls', id);
+ var li = $('<li role="presentation"></li>');
+ li.append(a);
+ tabList.append(li);
+
+ // set it's attributes
+ tab.attr('role', 'tabpanel');
+ tab.addClass('tab-pane');
+ tab.addClass('tabbed-pane');
+ if (fade)
+ tab.addClass('fade');
+
+ // move it into the tab content div
+ tab.detach().appendTo(tabContent);
+ });
+
+ // set active tab
+ $(tabList.children('li')[activeTab]).addClass('active');
+ var active = $(tabContent.children('div.section')[activeTab]);
+ active.addClass('active');
+ if (fade)
+ active.addClass('in');
+
+ if (tabset.hasClass("tabset-sticky"))
+ tabset.rmarkdownStickyTabs();
+ }
+
+ // convert section divs with the .tabset class to tabsets
+ var tabsets = $("div.section.tabset");
+ tabsets.each(function(i) {
+ buildTabset($(tabsets[i]));
+ });
+};
+