diff options
| author | DESKTOP-RBH716R\Admin | 2022-07-25 16:56:46 +0000 |
|---|---|---|
| committer | DESKTOP-RBH716R\Admin | 2022-07-25 16:56:46 +0000 |
| commit | 11e4fd98988e0fd7f56d45afbec989a2ddcaa260 (patch) | |
| tree | a4bd1fe2d65d44c5838c948844a55d876d7df521 /_site/site_libs/navigation-1.1 | |
| parent | a465b6eab20dc7c275e028bc4c5889c822ded9fd (diff) | |
| download | massgrave.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.css | 9 | ||||
| -rw-r--r-- | _site/site_libs/navigation-1.1/codefolding.js | 76 | ||||
| -rw-r--r-- | _site/site_libs/navigation-1.1/sourceembed.js | 12 | ||||
| -rw-r--r-- | _site/site_libs/navigation-1.1/tabsets.js | 141 |
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])); + }); +}; + |
