diff --git a/templates/default/fulldoc/html/js/app.js b/templates/default/fulldoc/html/js/app.js
index 8d067fe30..b5610effe 100644
--- a/templates/default/fulldoc/html/js/app.js
+++ b/templates/default/fulldoc/html/js/app.js
@@ -1,314 +1,344 @@
-(function() {
+(function () {
+ var localStorage = {},
+ sessionStorage = {};
+ try {
+ localStorage = window.localStorage;
+ } catch (e) {}
+ try {
+ sessionStorage = window.sessionStorage;
+ } catch (e) {}
-var localStorage = {}, sessionStorage = {};
-try { localStorage = window.localStorage; } catch (e) { }
-try { sessionStorage = window.sessionStorage; } catch (e) { }
-
-function createSourceLinks() {
- $('.method_details_list .source_code').
- before("[View source]");
- $('.toggleSource').toggle(function() {
- $(this).parent().nextAll('.source_code').slideDown(100);
- $(this).text("Hide source");
- },
- function() {
- $(this).parent().nextAll('.source_code').slideUp(100);
+ function createSourceLinks() {
+ $(".method_details_list .source_code").before(
+ "[View source]"
+ );
+ $(".toggleSource").toggle(
+ function () {
+ $(this).parent().nextAll(".source_code").slideDown(100);
+ $(this).text("Hide source");
+ },
+ function () {
+ $(this).parent().nextAll(".source_code").slideUp(100);
$(this).text("View source");
- });
-}
+ }
+ );
+ }
-function createDefineLinks() {
+ function createDefineLinks() {
var tHeight = 0;
- $('.defines').after(" more...");
- $('.toggleDefines').toggle(function() {
+ $(".defines").after(" more...");
+ $(".toggleDefines").toggle(
+ function () {
tHeight = $(this).parent().prev().height();
- $(this).prev().css('display', 'inline');
+ $(this).prev().css("display", "inline");
$(this).parent().prev().height($(this).parent().height());
$(this).text("(less)");
- },
- function() {
+ },
+ function () {
$(this).prev().hide();
$(this).parent().prev().height(tHeight);
$(this).text("more...");
- });
-}
+ }
+ );
+ }
-function createFullTreeLinks() {
+ function createFullTreeLinks() {
var tHeight = 0;
- $('.inheritanceTree').toggle(function() {
+ $(".inheritanceTree").toggle(
+ function () {
tHeight = $(this).parent().prev().height();
- $(this).parent().toggleClass('showAll');
+ $(this).parent().toggleClass("showAll");
$(this).text("(hide)");
$(this).parent().prev().height($(this).parent().height());
- },
- function() {
- $(this).parent().toggleClass('showAll');
+ },
+ function () {
+ $(this).parent().toggleClass("showAll");
$(this).parent().prev().height(tHeight);
$(this).text("show all");
+ }
+ );
+ }
+
+ function searchFrameButtons() {
+ $(".full_list_link").click(function () {
+ toggleSearchFrame(this, $(this).attr("href"));
+ return false;
+ });
+ window.addEventListener("message", function (e) {
+ if (e.data === "navEscape") {
+ $("#nav").slideUp(100);
+ $("#search a").removeClass("active inactive");
+ $(window).focus();
+ }
});
-}
-function searchFrameButtons() {
- $('.full_list_link').click(function() {
- toggleSearchFrame(this, $(this).attr('href'));
- return false;
- });
- window.addEventListener('message', function(e) {
- if (e.data === 'navEscape') {
- $('#nav').slideUp(100);
- $('#search a').removeClass('active inactive');
- $(window).focus();
- }
- });
+ $(window).resize(function () {
+ if ($("#search:visible").length === 0) {
+ $("#nav").removeAttr("style");
+ $("#search a").removeClass("active inactive");
+ $(window).focus();
+ }
+ });
+ }
- $(window).resize(function() {
- if ($('#search:visible').length === 0) {
- $('#nav').removeAttr('style');
- $('#search a').removeClass('active inactive');
- $(window).focus();
+ function toggleSearchFrame(id, link) {
+ var frame = $("#nav");
+ $("#search a").removeClass("active").addClass("inactive");
+ if (frame.attr("src") === link && frame.css("display") !== "none") {
+ frame.slideUp(100);
+ $("#search a").removeClass("active inactive");
+ } else {
+ $(id).addClass("active").removeClass("inactive");
+ if (frame.attr("src") !== link) frame.attr("src", link);
+ frame.slideDown(100);
}
- });
-}
-
-function toggleSearchFrame(id, link) {
- var frame = $('#nav');
- $('#search a').removeClass('active').addClass('inactive');
- if (frame.attr('src') === link && frame.css('display') !== "none") {
- frame.slideUp(100);
- $('#search a').removeClass('active inactive');
}
- else {
- $(id).addClass('active').removeClass('inactive');
- if (frame.attr('src') !== link) frame.attr('src', link);
- frame.slideDown(100);
- }
-}
-function linkSummaries() {
- $('.summary_signature').click(function() {
- document.location = $(this).find('a').attr('href');
- });
-}
+ function linkSummaries() {
+ $(".summary_signature").click(function () {
+ document.location = $(this).find("a").attr("href");
+ });
+ }
-function summaryToggle() {
- $('.summary_toggle').click(function(e) {
- e.preventDefault();
- localStorage.summaryCollapsed = $(this).text();
- $('.summary_toggle').each(function() {
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
- var next = $(this).parent().parent().nextAll('ul.summary').first();
- if (next.hasClass('compact')) {
- next.toggle();
- next.nextAll('ul.summary').first().toggle();
- }
- else if (next.hasClass('summary')) {
- var list = $('
');
- list.html(next.html());
- list.find('.summary_desc, .note').remove();
- list.find('a').each(function() {
- $(this).html($(this).find('strong').html());
- $(this).parent().html($(this)[0].outerHTML);
- });
- next.before(list);
- next.toggle();
- }
+ function summaryToggle() {
+ $(".summary_toggle").click(function (e) {
+ e.preventDefault();
+ localStorage.summaryCollapsed = $(this).text();
+ $(".summary_toggle").each(function () {
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
+ var next = $(this).parent().parent().nextAll("ul.summary").first();
+ if (next.hasClass("compact")) {
+ next.toggle();
+ next.nextAll("ul.summary").first().toggle();
+ } else if (next.hasClass("summary")) {
+ var list = $('');
+ list.html(next.html());
+ list.find(".summary_desc, .note").remove();
+ list.find("a").each(function () {
+ $(this).html($(this).find("strong").html());
+ $(this).parent().html($(this)[0].outerHTML);
+ });
+ next.before(list);
+ next.toggle();
+ }
+ });
+ return false;
});
- return false;
- });
- if (localStorage.summaryCollapsed == "collapse") {
- $('.summary_toggle').first().click();
- } else { localStorage.summaryCollapsed = "expand"; }
-}
+ if (localStorage.summaryCollapsed == "collapse") {
+ $(".summary_toggle").first().click();
+ } else {
+ localStorage.summaryCollapsed = "expand";
+ }
+ }
-function constantSummaryToggle() {
- $('.constants_summary_toggle').click(function(e) {
- e.preventDefault();
- localStorage.summaryCollapsed = $(this).text();
- $('.constants_summary_toggle').each(function() {
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
- var next = $(this).parent().parent().nextAll('dl.constants').first();
- if (next.hasClass('compact')) {
- next.toggle();
- next.nextAll('dl.constants').first().toggle();
- }
- else if (next.hasClass('constants')) {
- var list = $('
');
- list.html(next.html());
- list.find('dt').each(function() {
- $(this).addClass('summary_signature');
- $(this).text( $(this).text().split('=')[0]);
- if ($(this).has(".deprecated").length) {
- $(this).addClass('deprecated');
- };
- });
- // Add the value of the constant as "Tooltip" to the summary object
- list.find('pre.code').each(function() {
- console.log($(this).parent());
- var dt_element = $(this).parent().prev();
- var tooltip = $(this).text();
- if (dt_element.hasClass("deprecated")) {
- tooltip = 'Deprecated. ' + tooltip;
- };
- dt_element.attr('title', tooltip);
- });
- list.find('.docstring, .tags, dd').remove();
- next.before(list);
- next.toggle();
- }
+ function constantSummaryToggle() {
+ $(".constants_summary_toggle").click(function (e) {
+ e.preventDefault();
+ localStorage.summaryCollapsed = $(this).text();
+ $(".constants_summary_toggle").each(function () {
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
+ var next = $(this).parent().parent().nextAll("dl.constants").first();
+ if (next.hasClass("compact")) {
+ next.toggle();
+ next.nextAll("dl.constants").first().toggle();
+ } else if (next.hasClass("constants")) {
+ var list = $('
');
+ list.html(next.html());
+ list.find("dt").each(function () {
+ $(this).addClass("summary_signature");
+ $(this).text($(this).text().split("=")[0]);
+ if ($(this).has(".deprecated").length) {
+ $(this).addClass("deprecated");
+ }
+ });
+ // Add the value of the constant as "Tooltip" to the summary object
+ list.find("pre.code").each(function () {
+ console.log($(this).parent());
+ var dt_element = $(this).parent().prev();
+ var tooltip = $(this).text();
+ if (dt_element.hasClass("deprecated")) {
+ tooltip = "Deprecated. " + tooltip;
+ }
+ dt_element.attr("title", tooltip);
+ });
+ list.find(".docstring, .tags, dd").remove();
+ next.before(list);
+ next.toggle();
+ }
+ });
+ return false;
});
- return false;
- });
- if (localStorage.summaryCollapsed == "collapse") {
- $('.constants_summary_toggle').first().click();
- } else { localStorage.summaryCollapsed = "expand"; }
-}
+ if (localStorage.summaryCollapsed == "collapse") {
+ $(".constants_summary_toggle").first().click();
+ } else {
+ localStorage.summaryCollapsed = "expand";
+ }
+ }
-function generateTOC() {
- if ($('#filecontents').length === 0) return;
- var _toc = $('
');
- var show = false;
- var toc = _toc;
- var counter = 0;
- var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
- var i;
- var curli;
- if ($('#filecontents h1').length > 1) tags.unshift('h1');
- for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
- var lastTag = parseInt(tags[0][1], 10);
- $(tags.join(', ')).each(function() {
- if ($(this).parents('.method_details .docstring').length != 0) return;
- if (this.id == "filecontents") return;
- show = true;
- var thisTag = parseInt(this.tagName[1], 10);
- if (this.id.length === 0) {
- var proposedId = $(this).attr('toc-id');
- if (typeof(proposedId) != "undefined") this.id = proposedId;
- else {
- var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
- if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
- this.id = proposedId;
- }
+ function generateTOC() {
+ if ($("#filecontents").length === 0) return;
+ var _toc = $('
');
+ var show = false;
+ var toc = _toc;
+ var counter = 0;
+ var tags = ["h2", "h3", "h4", "h5", "h6"];
+ var i;
+ var curli;
+ if ($("#filecontents h1").length > 1) tags.unshift("h1");
+ for (i = 0; i < tags.length; i++) {
+ tags[i] = "#filecontents " + tags[i];
}
- if (thisTag > lastTag) {
- for (i = 0; i < thisTag - lastTag; i++) {
- if ( typeof(curli) == "undefined" ) {
- curli = $('');
- toc.append(curli);
+ var lastTag = parseInt(tags[0][1], 10);
+ $(tags.join(", ")).each(function () {
+ if ($(this).parents(".method_details .docstring").length != 0) return;
+ if (this.id == "filecontents") return;
+ show = true;
+ var thisTag = parseInt(this.tagName[1], 10);
+ if (this.id.length === 0) {
+ var proposedId = $(this).attr("toc-id");
+ if (typeof proposedId != "undefined") this.id = proposedId;
+ else {
+ var proposedId = $(this)
+ .text()
+ .replace(/[^a-z0-9-]/gi, "_");
+ if ($("#" + proposedId).length > 0) {
+ proposedId += counter;
+ counter++;
+ }
+ this.id = proposedId;
}
- toc = $('
');
- curli.append(toc);
- curli = undefined;
}
- }
- if (thisTag < lastTag) {
- for (i = 0; i < lastTag - thisTag; i++) {
- toc = toc.parent();
- toc = toc.parent();
+ if (thisTag > lastTag) {
+ for (i = 0; i < thisTag - lastTag; i++) {
+ if (typeof curli == "undefined") {
+ curli = $("");
+ toc.append(curli);
+ }
+ toc = $("
");
+ curli.append(toc);
+ curli = undefined;
+ }
}
- }
- var title = $(this).attr('toc-title');
- if (typeof(title) == "undefined") title = $(this).text();
- curli =$('' + title + '');
- toc.append(curli);
- lastTag = thisTag;
- });
- if (!show) return;
- html = '';
- $('#content').prepend(html);
- $('#toc').append(_toc);
- $('#toc .hide_toc').toggle(function() {
- $('#toc .top').slideUp('fast');
- $('#toc').toggleClass('hidden');
- $('#toc .title small').toggle();
- }, function() {
- $('#toc .top').slideDown('fast');
- $('#toc').toggleClass('hidden');
- $('#toc .title small').toggle();
- });
-}
-
-function navResizeFn(e) {
- if (e.which !== 1) {
- navResizeFnStop();
- return;
+ if (thisTag < lastTag) {
+ for (i = 0; i < lastTag - thisTag; i++) {
+ toc = toc.parent();
+ toc = toc.parent();
+ }
+ }
+ var title = $(this).attr("toc-title");
+ if (typeof title == "undefined") title = $(this).text();
+ curli = $('' + title + "");
+ toc.append(curli);
+ lastTag = thisTag;
+ });
+ if (!show) return;
+ html =
+ '';
+ $("#content").prepend(html);
+ $("#toc").append(_toc);
+ $("#toc .hide_toc").toggle(
+ function () {
+ $("#toc .top").slideUp("fast");
+ $("#toc").toggleClass("hidden");
+ $("#toc .title small").toggle();
+ },
+ function () {
+ $("#toc .top").slideDown("fast");
+ $("#toc").toggleClass("hidden");
+ $("#toc .title small").toggle();
+ }
+ );
}
- sessionStorage.navWidth = e.pageX.toString();
- $('.nav_wrap').css('width', e.pageX);
- $('.nav_wrap').css('-ms-flex', 'inherit');
-}
-
-function navResizeFnStop() {
- $(window).unbind('mousemove', navResizeFn);
- window.removeEventListener('message', navMessageFn, false);
-}
-
-function navMessageFn(e) {
- if (e.data.action === 'mousemove') navResizeFn(e.data.event);
- if (e.data.action === 'mouseup') navResizeFnStop();
-}
+ function navResizeFn(e) {
+ if (e.which !== 1) {
+ navResizeFnStop();
+ return;
+ }
-function navResizer() {
- $('#resizer').mousedown(function(e) {
- e.preventDefault();
- $(window).mousemove(navResizeFn);
- window.addEventListener('message', navMessageFn, false);
- });
- $(window).mouseup(navResizeFnStop);
+ sessionStorage.navWidth = e.pageX.toString();
+ $(".nav_wrap").css("width", e.pageX);
+ $(".nav_wrap").css("-ms-flex", "inherit");
+ }
- if (sessionStorage.navWidth) {
- navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
+ function navResizeFnStop() {
+ $(window).unbind("mousemove", navResizeFn);
+ window.removeEventListener("message", navMessageFn, false);
}
-}
-function navExpander() {
- var done = false, timer = setTimeout(postMessage, 500);
- function postMessage() {
- if (done) return;
- clearTimeout(timer);
- var opts = { action: 'expand', path: pathId };
- document.getElementById('nav').contentWindow.postMessage(opts, '*');
- done = true;
+ function navMessageFn(e) {
+ if (e.data.action === "mousemove") navResizeFn(e.data.event);
+ if (e.data.action === "mouseup") navResizeFnStop();
}
- window.addEventListener('message', function(event) {
- if (event.data === 'navReady') postMessage();
- return false;
- }, false);
-}
+ function navResizer() {
+ $("#resizer").mousedown(function (e) {
+ e.preventDefault();
+ $(window).mousemove(navResizeFn);
+ window.addEventListener("message", navMessageFn, false);
+ });
+ $(window).mouseup(navResizeFnStop);
-function mainFocus() {
- var hash = window.location.hash;
- if (hash !== '' && $(hash)[0]) {
- $(hash)[0].scrollIntoView();
+ if (sessionStorage.navWidth) {
+ navResizeFn({ which: 1, pageX: parseInt(sessionStorage.navWidth, 10) });
+ }
}
- setTimeout(function() { $('#main').focus(); }, 10);
-}
+ function navExpander() {
+ if (typeof pathId === "undefined") return;
+ var done = false,
+ timer = setTimeout(postMessage, 500);
+ function postMessage() {
+ if (done) return;
+ clearTimeout(timer);
+ var opts = { action: "expand", path: pathId };
+ document.getElementById("nav").contentWindow.postMessage(opts, "*");
+ done = true;
+ }
-function navigationChange() {
- // This works around the broken anchor navigation with the YARD template.
- window.onpopstate = function() {
+ window.addEventListener(
+ "message",
+ function (event) {
+ if (event.data === "navReady") postMessage();
+ return false;
+ },
+ false
+ );
+ }
+
+ function mainFocus() {
var hash = window.location.hash;
- if (hash !== '' && $(hash)[0]) {
+ if (hash !== "" && $(hash)[0]) {
$(hash)[0].scrollIntoView();
}
- };
-}
-$(document).ready(function() {
- navResizer();
- navExpander();
- createSourceLinks();
- createDefineLinks();
- createFullTreeLinks();
- searchFrameButtons();
- linkSummaries();
- summaryToggle();
- constantSummaryToggle();
- generateTOC();
- mainFocus();
- navigationChange();
-});
+ setTimeout(function () {
+ $("#main").focus();
+ }, 10);
+ }
+ function navigationChange() {
+ // This works around the broken anchor navigation with the YARD template.
+ window.onpopstate = function () {
+ var hash = window.location.hash;
+ if (hash !== "" && $(hash)[0]) {
+ $(hash)[0].scrollIntoView();
+ }
+ };
+ }
+
+ $(document).ready(function () {
+ navResizer();
+ navExpander();
+ createSourceLinks();
+ createDefineLinks();
+ createFullTreeLinks();
+ searchFrameButtons();
+ linkSummaries();
+ summaryToggle();
+ constantSummaryToggle();
+ generateTOC();
+ mainFocus();
+ navigationChange();
+ });
})();
diff --git a/templates/default/onefile/html/headers.erb b/templates/default/onefile/html/headers.erb
index bede05a1a..e364a9fd1 100644
--- a/templates/default/onefile/html/headers.erb
+++ b/templates/default/onefile/html/headers.erb
@@ -1,5 +1,7 @@