Spaces:
Running
Running
| (function($) { | |
| $(document).ready(function(){ | |
| // putting lines by the pre blocks | |
| $("pre").each(function(){ | |
| var pre = $(this).text().split("\n"); | |
| var lines = new Array(pre.length+1); | |
| for(var i = 0; i < pre.length; i++) { | |
| var wrap = Math.floor(pre[i].split("").length / 70) | |
| if (pre[i]==""&&i==pre.length-1) { | |
| lines.splice(i, 1); | |
| } else { | |
| lines[i] = i+1; | |
| for(var j = 0; j < wrap; j++) { | |
| lines[i] += "\n"; | |
| } | |
| } | |
| } | |
| $(this).before("<pre class='lines'>" + lines.join("\n") + "</pre>"); | |
| }); | |
| var headings = []; | |
| var collectHeaders = function(){ | |
| headings.push({"top":$(this).offset().top - 15,"text":$(this).text()}); | |
| } | |
| if($(".markdown-body h1").length > 1) $(".markdown-body h1").each(collectHeaders) | |
| else if($(".markdown-body h2").length > 1) $(".markdown-body h2").each(collectHeaders) | |
| else if($(".markdown-body h3").length > 1) $(".markdown-body h3").each(collectHeaders) | |
| $(window).scroll(function(){ | |
| if(headings.length==0) return true; | |
| var scrolltop = $(window).scrollTop() || 0; | |
| if(headings[0] && scrolltop < headings[0].top) { | |
| $(".current-section").css({"opacity":0,"visibility":"hidden"}); | |
| return false; | |
| } | |
| $(".current-section").css({"opacity":1,"visibility":"visible"}); | |
| for(var i in headings) { | |
| if(scrolltop >= headings[i].top) { | |
| $(".current-section .name").text(headings[i].text); | |
| } | |
| } | |
| }); | |
| $(".current-section a").click(function(){ | |
| $(window).scrollTop(0); | |
| return false; | |
| }) | |
| }); | |
| })(jQuery) |