Difference between revisions of "MediaWiki:Common.js"

From Idlescape Wiki
Jump to navigation Jump to search
m
m
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
 +
/*!
 +
* Vector HeadAnchors gadget, from <https://mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.js>
 +
*
 +
* Copyright 2013-2020 Timo Tijhof
 +
* @license MIT <https://opensource.org/licenses/MIT>
 +
*/
 +
// Revision as of 2021-01-29
 +
 +
mw.hook( 'wikipage.content' ).add( function ( $content ) {
 +
$content.find( 'span.mw-headline' ).each( function ( i, el ) {
 +
var heading = el.parentNode;
 +
if ( !el.id || heading.querySelector( '.tpl-vheadanchor') ) {
 +
// No anchor possible, or anchor already inserted
 +
return;
 +
}
 +
 +
heading.classList.add('tpl-vheadanchor-heading');
 +
 +
// Insert anchor.
 +
anchor = document.createElement( 'a' );
 +
anchor.href = '#' + el.id;
 +
anchor.textContent = '#';
 +
anchor.title = 'Link to this section';
 +
anchor.className = 'tpl-vheadanchor';
 +
heading.insertBefore( anchor, el.nextSibling );
 +
} );
 +
} );

Revision as of 15:41, 28 December 2021

/* Any JavaScript here will be loaded for all users on every page load. */
/*!
* Vector HeadAnchors gadget, from <https://mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.js>
*
* Copyright 2013-2020 Timo Tijhof
* @license MIT <https://opensource.org/licenses/MIT>
*/
// Revision as of 2021-01-29

mw.hook( 'wikipage.content' ).add( function ( $content ) {
	$content.find( 'span.mw-headline' ).each( function ( i, el ) {
		var heading = el.parentNode;
		if ( !el.id || heading.querySelector( '.tpl-vheadanchor') ) {
			// No anchor possible, or anchor already inserted
			return;
		}
	
		heading.classList.add('tpl-vheadanchor-heading');
	
		// Insert anchor.
		anchor = document.createElement( 'a' );
		anchor.href = '#' + el.id;
		anchor.textContent = '#';
		anchor.title = 'Link to this section';
		anchor.className = 'tpl-vheadanchor';
		heading.insertBefore( anchor, el.nextSibling );
	} );
} );