MediaWiki:Gadget-AncreTitres.js

El Vikipedio, la libera enciklopedio

Notu:Post publikigo forviŝu la kaŝmemoron de via foliumilo por vidi la ŝanĝojn.

  • Firefox / Safari: Premu majuskligan klavon klakante Reŝarĝi, aŭ premu aŭ Stir-F5Stir-R (⌘-R kun Makintoŝo)
  • Google Chrome: Premu Stir-majuskligklavon-R (⌘-Majuskligklavo-R kun Makintoŝo)
  • Interreta Esplorilo / Edge: Premu Stir klakante Refreŝu, aŭ premu Stir-F5
  • Opera: Premu Stir-F5.
/**
 * TiloAnkroj
 *
 * Ĉi tiu funkcio provizas ligilon al paĝsekcio alklakante sur la 
 * la ligilo [ankro] dekstre de la sekcititolo.
 *
 * Aŭtoroj : Pabix, Phe, Bayo, Chphe kaj Arkanosis
 * Lasta revizidato : 30-a de majo 2015
 * [[:fr:MediaWiki:Gadget-AncreTitres.js]]
 * [[:fr:Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */
 
/*global alert, jQuery, mediaWiki, window */
/*jslint vars: true, plusplus: true */

// <nowiki>

( function ( mw, $ ) {
	'use strict';

	$( function() {

		var _option = {
			nom_ancre : '[URL]',
			nom_lien_interne : '[[lien]]',
			description : 'Ekhavi URL-on al ĉi tiu sekcio',
			descinterne : 'Ekhavi internan ligilon',
			linkcolor : '',
			fontSize : 'xx-small',
			fontWeight : 'normal',
			afficheE : true,
			afficheI : true
		};

		if ( typeof window.AncreTitres !== 'undefined' ) {
			$.extend( _option, window.AncreTitres );
		}

		if ( !$( '#content' ).length ||
		     ( !_option.afficheI && !_option.afficheE ) ) {
			return;
		}

		$( 'span.mw-headline' ).each( function( _, headline ) {
			var anchor = headline.getAttribute( 'id' );

			var $span = $( '<span class="noprint ancretitres" style="' +
				'font-size: ' + _option.fontSize + '; ' +
				'font-weight: ' + _option.fontWeight + '; ' +
				 (_option.linkcolor !== '' ? 'color: ' + _option.linkcolor + ';' : '') +
			'"></span>' );

			if ( _option.afficheE ) {
				$span.append( ' ' );
				$( '<a href="#" title="' + _option.description + '">' + _option.nom_ancre + '</a>' ).click( function() {
					window.prompt(
						'Ligilo :',
						'https:' + mw.config.get( 'wgServer' ) + mw.util.getUrl() + '#' + anchor
					);
					return false;
				} ).appendTo( $span );
			}

			if ( _option.afficheI ) {
				$span.append( ' ' );
				$( '<a href="#" title="' + _option.descinterne+ '">' + _option.nom_lien_interne + '</a>' ).click( function() {
					var decodedAnchor = decodeURIComponent(
						anchor
						.replace( /\.([0-9A-F]{2})/g, '%$1' )
						.replace( /%C2%A0/g, '.C2.A0' ) // espace insécable
						.replace( /%7B%7B/g, '.7B.7B' ) // "{{"
						.replace( /%7D%7D/g, '.7D.7D' ) // "}}"
					);
					window.prompt(
						'Ligilo :',
						'[[' + ( mw.config.get( 'wgPageName' ) + '#' + decodedAnchor ).replace( /_/g, ' ' ) + ']]'
					);
					return false;
				} ).appendTo( $span );
			}

			$( headline ).parent().append( $span );
		} );

	} );

} ( mediaWiki, jQuery ) );

// </nowiki>