82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var markdown = $(".markdown-body");
 | |
| var text = $('<textarea/>').html(markdown.html()).text();
 | |
| var result = postProcess(md.render(text));
 | |
| markdown.html(result.html());
 | |
| $(document.body).show();
 | |
| finishView(markdown);
 | |
| autoLinkify(markdown);
 | |
| deduplicatedHeaderId(markdown);
 | |
| generateToc('toc');
 | |
| generateToc('toc-affix');
 | |
| smoothHashScroll();
 | |
| lastchangetime = $('.ui-lastchange').text();
 | |
| lastchangeui = $('.ui-lastchange');
 | |
| updateLastChange();
 | |
| var url = window.location.pathname;
 | |
| $('.ui-edit').attr('href', url + '/edit');
 | |
| var toc = $('.ui-toc');
 | |
| var tocAffix = $('.ui-affix-toc');
 | |
| var tocDropdown = $('.ui-toc-dropdown');
 | |
| //toc
 | |
| tocDropdown.click(function (e) {
 | |
|     e.stopPropagation();
 | |
| });
 | |
| 
 | |
| var enoughForAffixToc = true;
 | |
| 
 | |
| function generateScrollspy() {
 | |
|     $(document.body).scrollspy({
 | |
|         target: ''
 | |
|     });
 | |
|     $(document.body).scrollspy('refresh');
 | |
|     if (enoughForAffixToc) {
 | |
|         toc.hide();
 | |
|         tocAffix.show();
 | |
|     } else {
 | |
|         tocAffix.hide();
 | |
|         toc.show();
 | |
|     }
 | |
|     $(document.body).scroll();
 | |
| }
 | |
| 
 | |
| function windowResize() {
 | |
|     //toc right
 | |
|     var paddingRight = parseFloat(markdown.css('padding-right'));
 | |
|     var right = ($(window).width() - (markdown.offset().left + markdown.outerWidth() - paddingRight));
 | |
|     toc.css('right', right + 'px');
 | |
|     //affix toc left
 | |
|     var newbool;
 | |
|     var rightMargin = (markdown.parent().outerWidth() - markdown.outerWidth()) / 2;
 | |
|     //for ipad or wider device
 | |
|     if (rightMargin >= 133) {
 | |
|         newbool = true;
 | |
|         var affixLeftMargin = (tocAffix.outerWidth() - tocAffix.width()) / 2;
 | |
|         var left = markdown.offset().left + markdown.outerWidth() - affixLeftMargin;
 | |
|         tocAffix.css('left', left + 'px');
 | |
|     } else {
 | |
|         newbool = false;
 | |
|     }
 | |
|     if (newbool != enoughForAffixToc) {
 | |
|         enoughForAffixToc = newbool;
 | |
|         generateScrollspy();
 | |
|     }
 | |
| }
 | |
| $(window).resize(function () {
 | |
|     windowResize();
 | |
| });
 | |
| $(document).ready(function () {
 | |
|     windowResize();
 | |
|     generateScrollspy();
 | |
| });
 | |
| 
 | |
| function scrollToTop() {
 | |
|     $('body, html').stop(true, true).animate({
 | |
|         scrollTop: 0
 | |
|     }, 100, "linear");
 | |
| }
 | |
| 
 | |
| function scrollToBottom() {
 | |
|     $('body, html').stop(true, true).animate({
 | |
|         scrollTop: $(document.body)[0].scrollHeight
 | |
|     }, 100, "linear");
 | |
| } |