MediaWiki:Gadget-sectionAnchors.js

From Zeah RSPS - Wiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/**
 * Vector HeadAnchors
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-vector-headanchor.js
 * @revision 2015-03-07
 *
 * @license http://krinkle.mit-license.org/
 * @author Timo Tijhof, 2013–2015
 * 
 * See also:
 * https://www.mediawiki.org/wiki/Requests_for_comment/Clickable_section_anchors
 * https://phabricator.wikimedia.org/T18691
 */
( function ( $, mw ) {
    
    if ( mw.config.get('wgIsMainPage') ) {
        // Don't run on the main page, where we use section headings extensively
        return
    }

    $( '.mw-headline' ).each( function ( i, el ) {
        var id = el.id,
            $headline = $( el ),
            $header = $headline.parent();

        // If MediaWiki core's anchor is here, or if ours is here already, skip.
        if ( !id || $header.find( '.mw-headline-anchor,.mw-headline-headanchor').length ) {
            return;
        }

        $headline.removeAttr('id')
        $header.addClass( 'mw-header' ).prepend(
            $( '<a>' ).prop({
                id: id,
                href: '#' + id,
                title: 'Link to this section',
                className: 'mw-headline-headanchor'
            })
        );
    } );

}( jQuery, mediaWiki ) );