Updating JS and styles to support TOC

This commit is contained in:
Matthew Batchelder 2019-08-06 15:31:18 -04:00
parent e99e4ae79f
commit a3decb7b34
2 changed files with 48 additions and 18 deletions

View File

@ -71,36 +71,61 @@ $(function() {
} else {
$('#toc').each(function() {
var $toc = $(this);
var $title = $toc.find('#toctitle');
var $links = $title.siblings('ul');
var $title = $toc.find('.toctitle');
var $links = $title.siblings('ul').find( 'a' );
$('.page-header').prepend('<ul class="nav nav-pills pull-right"><li class="dropdown" id="page-contents"><a class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i> Contents <span class="caret"></span></a> <ul class="dropdown-menu"></ul></li></ul>');
$.each( $links.find( '.tocnumber' ), function() {
var $el = $( this );
var numDots = ( $el.text().match( /\./g ) || [] ).length;
var prefix = '';
for ( var i = 0; i < numDots; i++ ) {
prefix += '&nbsp;&nbsp;';
}
$('.page-header #page-contents').find('.dropdown-menu').html( $links.html() );
$el.prepend( prefix );
} );
$links.addClass( 'dropdown-item' );
var toc_html = [
'<ul class="nav nav-pills float-right bootstrap-toc mt-3">',
'<li class="nav-item dropdown" id="page-contents">',
'<a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">',
'<i class="icon-list"></i> Contents <span class="caret"></span>',
'</a>',
'<ul class="dropdown-menu" aria-labelledby="contentsDropdownButton" style="min-width: ' + $toc.width() + 'px"></ul>',
'</li>',
'</ul>'
];
$('.page-header').prepend( toc_html.join( ' ' ) );
$('.page-header #page-contents').find('.dropdown-menu').html( $links );
});
if( $('.page-header .nav').length === 0 ) {
$('.page-header').prepend('<ul class="nav nav-pills pull-right"></li></ul>');
$('.page-header').prepend('<ul class="nav nav-pills float-right"></li></ul>');
}//end if
var $header = $('.page-header');
var $hero = $('.hero-unit');
var $hero = $('.jumbotron');
var $edit = $('.navbar .content-actions .edit');
if( $edit.length > 0 ) {
var $editListItem = $( '<li class="nav-item"/>' );
$edit.clone().removeClass( 'dropdown-item' ).addClass( 'nav-link' ).prependTo( $editListItem );
if( $hero.length ) {
if( ! $hero.find('.nav-pills').length ) {
$hero.prepend('<ul class="nav nav-pills pull-right"></ul>');
$hero.prepend('<ul class="nav nav-pills float-right"></ul>');
}//end if
$edit.closest('li').clone().prependTo( $hero.find('.nav-pills') );
$editListItem.prependTo( $hero.find('.nav-pills') );
} else {
$edit.closest('li').clone().prependTo( $header.find('.nav-pills') );
$editListItem.prependTo( $header.find('.nav-pills') );
}//end else
}//end if
}//end if
prettyPrint();
$('#wiki-body .body a[title="Special:UserLogin"]').click();
$('.dropdown-toggle').dropdown();
});

View File

@ -167,8 +167,6 @@ option.unclickable {
overflow-y: scroll;
right: 0;
}
#page-contents .dropdown-menu {
}
.page-header .nav i {
opacity: 0.3;
@ -213,6 +211,12 @@ option.unclickable {
margin-left: 20px;
}
#toc.toc-sidebar li li,
.mw-content-ltr .toc ul ul {
margin-left: 0;
padding-left: 0;
}
#toc.toc-sidebar h3 {
font-size: 1em;
}
@ -230,9 +234,10 @@ a.new {
}
#catlinks {
border-top: 1px dotted #eee;
margin-top: 2em;
padding: 1em 0;
background: #fafafa;
border: 1px dotted #eee;
margin-top: 2rem;
padding: 1rem;
}
#catlinks #mw-normal-catlinks > a {
@ -439,7 +444,6 @@ img.thumbborder {
pre.linenums ol {
margin-bottom: 0;
margin-left: 0;
}
#wiki-outer-body {
@ -812,6 +816,7 @@ table.list th {
/* Specify class=linenums on a pre to get line numbering */
.mediawiki ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
.mediawiki ol.linenums li::marker { color: #aaa; } /* IE indents via margin-left */
.mediawiki li.L0,
.mediawiki li.L1,
.mediawiki li.L2,
@ -819,7 +824,7 @@ table.list th {
.mediawiki li.L5,
.mediawiki li.L6,
.mediawiki li.L7,
.mediawiki li.L8 { list-style-type: none }
.mediawiki li.L8 { list-style-type: decimal !important; }
/* Alternate shading for lines */
.mediawiki li.L1,
.mediawiki li.L3,