2012-04-08 11:23:49 +02:00
|
|
|
;(function($) {
|
2010-04-11 09:25:26 +02:00
|
|
|
$(document).ready(function() {
|
|
|
|
|
|
|
|
/** -----------------------------------------------
|
|
|
|
* TABLE OF CONTENTS
|
|
|
|
*
|
|
|
|
* Transform a #table-of-contents div to a nested list
|
|
|
|
*/
|
2012-11-08 16:35:40 +01:00
|
|
|
if($("#content-column").length > 0) {
|
|
|
|
var toc = '<div id="table-of-contents" class="open">' +
|
2012-11-09 12:36:46 +01:00
|
|
|
'<h4>Table of contents<span class="updown">▼</span></h4><ul style="display: none;">';
|
|
|
|
|
2010-09-05 05:17:42 +02:00
|
|
|
// Remove existing anchor redirection in the url
|
|
|
|
var pageURL = window.location.href.replace(/#[a-zA-Z0-9\-\_]*/g, '');
|
2013-02-19 22:22:18 +01:00
|
|
|
|
|
|
|
var itemCount = 0;
|
2011-08-02 05:30:58 +02:00
|
|
|
$('#content-column h1[id], #content-column h2[id], #content-column h3[id], #content-column h4[id]').each(function(i) {
|
2010-04-11 09:25:26 +02:00
|
|
|
var current = $(this);
|
2012-11-08 16:29:22 +01:00
|
|
|
var tagName = current.prop("tagName");
|
2012-09-05 11:42:06 +02:00
|
|
|
if(typeof tagName == "String") tagName = tagName.toLowerCase();
|
2013-02-19 22:22:18 +01:00
|
|
|
itemCount++;
|
2012-09-05 11:42:06 +02:00
|
|
|
toc += '<li class="' + tagName + '"><a id="link' + i + '" href="'+ pageURL +'#' + $(this).attr('id') + '" title="' + current.html() + '">' + current.html() + '</a></li>';
|
2010-04-11 09:25:26 +02:00
|
|
|
});
|
2013-02-19 22:22:18 +01:00
|
|
|
|
|
|
|
// if no items in the table of contents, don't show anything
|
|
|
|
if(itemCount == 0) return false;
|
|
|
|
|
2010-04-11 09:25:26 +02:00
|
|
|
toc += '</ul></div>';
|
2013-02-19 22:22:18 +01:00
|
|
|
|
2012-11-08 16:35:40 +01:00
|
|
|
// Table of content location
|
|
|
|
var title = $('#content-column h1:first');
|
|
|
|
if (title.length > 0) {
|
|
|
|
title.after(toc);
|
|
|
|
} else {
|
2012-11-09 22:52:11 +01:00
|
|
|
var breadcrums = $('#content-column .doc-breadcrumbs');
|
2012-11-08 16:35:40 +01:00
|
|
|
if (breadcrums.length > 0) {
|
|
|
|
breadcrums.after(toc);
|
|
|
|
} else {
|
|
|
|
$('#content-column').prepend(toc);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Toggle the TOC
|
|
|
|
$('#table-of-contents').attr('href', 'javascript:void()').toggle(
|
|
|
|
function() {
|
2012-11-09 12:36:46 +01:00
|
|
|
$("#table-of-contents ul").animate({'height':'show'}, 200, function(){$('#table-of-contents h4 span').html('▲');})
|
2012-11-08 16:35:40 +01:00
|
|
|
},
|
|
|
|
function() {
|
2012-11-09 12:36:46 +01:00
|
|
|
$("#table-of-contents ul").animate({'height':'hide'}, 200, function(){$('#table-of-contents h4 span').html('▼');})
|
2012-11-08 16:35:40 +01:00
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
// Make sure clicking a link won't toggle the TOC
|
|
|
|
$("#table-of-contents li a").click(function (e) { e.stopPropagation(); });
|
|
|
|
|
2010-04-11 09:25:26 +02:00
|
|
|
}
|
2012-11-08 17:23:59 +01:00
|
|
|
|
2010-09-05 02:27:17 +02:00
|
|
|
/** ---------------------------------------------
|
|
|
|
* HEADING ANCHOR LINKS
|
|
|
|
*
|
|
|
|
* Automatically adds anchor links to headings that have IDs
|
|
|
|
*/
|
2010-10-28 23:27:30 +02:00
|
|
|
var url = window.location.href;
|
|
|
|
|
2011-08-02 05:30:58 +02:00
|
|
|
$("#content-column h1[id], #content-column h2[id], #content-column h3[id], #content-column h4[id], #content-column h5[id], #content-column h6[id]").each(function() {
|
2010-10-28 23:27:30 +02:00
|
|
|
var link = '<a class="heading-anchor-link" title="Link to this section" href="'+ url + '#' + $(this).attr('id') + '">¶</a>';
|
2010-09-05 02:27:17 +02:00
|
|
|
$(this).append(' ' + link);
|
|
|
|
});
|
|
|
|
|
|
|
|
$("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]").mouseenter(function() {
|
|
|
|
$(this).addClass('hover');
|
|
|
|
});
|
|
|
|
|
|
|
|
$("h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]").mouseleave(function() {
|
|
|
|
$(this).removeClass('hover');
|
|
|
|
});
|
|
|
|
|
2010-06-24 16:22:41 +02:00
|
|
|
/** ---------------------------------------------
|
|
|
|
* LANGAUGE SELECTER
|
|
|
|
*
|
|
|
|
* Hide the change button and do it onclick
|
|
|
|
*/
|
|
|
|
$("#Form_LanguageForm .Actions").hide();
|
|
|
|
|
|
|
|
$("#Form_LanguageForm select").change(function() {
|
|
|
|
$("#Form_LanguageForm").submit();
|
|
|
|
});
|
2012-04-08 11:23:49 +02:00
|
|
|
|
|
|
|
SyntaxHighlighter.defaults.toolbar = false;
|
|
|
|
SyntaxHighlighter.all();
|
2010-04-11 09:25:26 +02:00
|
|
|
});
|
|
|
|
})(jQuery);
|