aboutsummaryrefslogblamecommitdiffstats
path: root/doc/toc.html
blob: 9e34fc8d996af857bb7b83b63dd01c55bdbf45f5 (plain) (tree)
1
2
3
4
5
6
7
8
9
                             
                  
                                    
                         
                 
              
                                             
                                                                          
                                                                                   
              
                  
                                    
                           
                 
              


                                                                                  
                                                                        
                                                                         

                       
                                    
                                  
                 
              




                                                                                      

                       
                                    
                              
                 
              






                                                                                        
              
                       
                                    
                             
                 
              


                                                                                                
              
      
        
                 
                                                                                  
                                                     
                                                  
                                                                                           
                                                                 
                                       
                                                                           
                                                                                                           
                                                                      
                                              
                                                  
             
           
                







                                                                                                           
 
 








                                                                                                                                    

                                                                                                                                                                                

                           

                                                                                                         







                                                                                                                       
                 
           
         
<div class="" id="accordion">
    <div class="">
        <div class="">
            <h3 class="panel-title">
                    About
            </h3>
        </div>
        <div id="about" class="doco-section">
            <div class="flex-column">
                <a class="nav-link" href="/help/about/about">About</a>
                <a class="nav-link" href="/help/about/project">Project</a>
                <a class="nav-link" href="/help/about/about_hub">About this hub</a>
            </div>
        </div>
    </div>
    <div class="">
        <div class="">
            <h3 class="panel-title">
                    Members
            </h3>
        </div>
        <div id="members" class="doco-section">
            <div class="flex-column">
               <a class="nav-link" href="/help/member/member_guide">Guide</a>
               <a class="nav-link" href="/help/member/bbcode">BBcode Reference</a>
               <a class="nav-link" href="/help/bugs">Reporting Bugs</a>	
               <a class="nav-link" href="/help/member/member_faq">FAQ</a>
            </div>
        </div>
    </div>
    <div class="panel">
        <div class="">
            <h3 class="panel-title">
                    Administrators
            </h3>
        </div>
        <div id="administrators" class="doco-section">
            <div class="flex-column">
                <a class="nav-link" href="/help/admin/administrator_guide">Guide</a>
                <a class="nav-link" href="/help/admin/hub_snapshots">Hub Snapshots</a>
                <a class="nav-link" href="/help/database">Database Tables</a>
            </div>
        </div>
    </div>
    <div class="panel">
        <div class="">
            <h3 class="panel-title">
                    Developers
            </h3>
        </div>
        <div id="developers" class="doco-section">
            <div class="flex-column">
                <a class="nav-link" href="/help/developer/developer_guide">Guide</a>
                <a class="nav-link" href="/help/developer/covenant">Code of Conduct</a>
                <a class="nav-link" href="/help/developer/zot_protocol">Zot Protocol</a>
                <a class="nav-link" href="/help/developer/api_zot">Zot API</a>
                <a class="nav-link" href="/help/hooklist">Hooks</a>
            </div>
        </div>
    </div>
    <div class="panel">
        <div class="">
            <h3 class="panel-title">
                    Tutorials
            </h3>
        </div>
        <div id="tutorials" class="doco-section">
            <div class="flex-column">
                <a class="nav-link" href="/help/tutorials/personal_channel">Personal Channel</a>
            </div>
        </div>
    </div>
</div>
<script>
	toc = {};
    // Generate the table of contents in the side nav menu (see view/tpl/help.tpl)
    $(document).ready(function () {
        $(".doco-section").find('a').each(function(){
            var url = document.createElement('a');
            url.href = window.location;
            var pageName = url.href.split('/').pop().split('#').shift().split('?').shift();
            var linkName = $(this).attr('href').split('/').pop();
            if(pageName === linkName) {
                var tocUl = $(this).closest('a').append('<ul>').find('ul');
                tocUl.removeClass();  // Classes are automatically added to <ul> elements by something else
                tocUl.toc({content: "#doco-content", headings: "h3"});
                tocUl.addClass('toc-content');
		tocUl.attr('id', 'doco-side-toc');

            }
        });
		
		$(document.body).trigger("sticky_kit:recalc");

		toc.contentTop = [];
		toc.edgeMargin    = 20;   // margin above the top or margin from the end of the page
		toc.topRange      = 200;  // measure from the top of the viewport to X pixels down
		// Set up content an array of locations
		$('#doco-side-toc').find('a').each(function(){
			toc.contentTop.push( $( '#'+$(this).attr('href').split('#').pop() ).offset().top );
		});


		// adjust side menu
		$(window).scroll(function(){
			var winTop = $(window).scrollTop(),
				bodyHt = $(document).height(),
				vpHt = $(window).height() + toc.edgeMargin;  // viewport height + margin
			$.each( toc.contentTop, function(i,loc){
			 if ( ( loc > winTop - toc.edgeMargin && ( loc < winTop + toc.topRange || ( winTop + vpHt ) >= bodyHt ) ) ){
			  $('#doco-side-toc li')
			   .removeClass('selected-doco-nav')
			   .eq(i).addClass('selected-doco-nav');
				if (typeof($('#doco-side-toc li').eq(i).find('a').attr('href').split('#')[1]) !== 'undefined') {
					window.history.pushState({}, '', location.href.split('#')[0] + '#' + $('#doco-side-toc li').eq(i).find('a').attr('href').split('#')[1]);
				}
			 }
			});
		});
		
		// When the page loads, it does not scroll to the section specified in the URL because it
		// has not been constructed yet by the script. This will reload the URL
		if (typeof(location.href.split('#')[1]) !== 'undefined') {
			var p = document.createElement('a');
			p.href = location.href;
			var portstr = '';
			if(p.port !== '') {
				portstr = ':'+ p.port;
			}
			var newref = p.protocol + '//'+  p.hostname + portstr + p.pathname + p.hash.split('?').shift();
			location.replace(newref)
		}
	});
</script>