MediaWiki:Gadget-LiensRouges.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./**
* Liens rouges
*
* Ajoute deux liens vers [http://www.google.com/search?num=100&q=page+site:fr.wikipedia.org Google] et les [[Special:Whatlinkshere/page|pages liées]] aux liens rouges pour trouver rapidement un titre approchant
* ou vérifier si le titre est (très) demandé.
* Par défaut, le script ne s'exécute automatiquement qu'en prévisualisation dans l'espace principal (articles encyclopédiques)
* et un lien dans la boîte à outils permet de l'exécuter ailleurs.
* Les conditions d'ouverture sont personnalisables.
*
* Exemple : [[page]]<sup class="exposant plainlinks">([http://www.google.com/search?num=100&q=page+site:fr.wikipedia.org gg]|[[Special:Whatlinkshere/page|pl]])</sup>
*
* Auteurs : Seb35, Dake
*
* Dernière révision : 19 mai 2007
* {{Catégorisation JS|LiensRouges}}
*/
/* jshint laxbreak: true */
/* globals mw, $ */
////////////////////// ZONE PERSONNALISABLE //////////////////////
// Le script est automatiquement lancé si l'espace de nom ''et'' l'action sont dans les variables suivantes
if ( typeof liensRougesNSOuvrir === 'undefined' ) var liensRougesNSOuvrir = [ 0 ];
if ( typeof liensRougesActionOuvrir === 'undefined' ) var liensRougesActionOuvrir = [ 'submit' ];
// Les liens pointant vers les espaces de nom suivants ne sont jamais traités
if ( typeof liensRougesNSExclus === 'undefined' ) var liensRougesNSExclus = 'Discussion|Discussion .+';
///////////////// FIN DE LA ZONE PERSONNALISABLE /////////////////
if ( mw.config.get( 'wgNamespaceNumber' ) !== -1 ) {
$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
'use strict';
var node = mw.util.addPortletLink( 'p-tb', '#', 'Liens rouges', null, 'Afficher des liens utiles sur les liens rouges' );
$( node ).click( function ( e ) {
e.preventDefault();
processLinks();
} );
if ( liensRougesNSOuvrir.indexOf( mw.config.get( 'wgNamespaceNumber' ) ) !== -1
&& liensRougesActionOuvrir.indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
processLinks();
}
function processLinks() {
var allLinks = document.getElementById( 'mw-content-text' ).getElementsByTagName( 'a' );
var regexNSExclus = new RegExp( '^(' + liensRougesNSExclus + '):', 'i' );
for ( var i = 0, l = allLinks.length; i < l; i++ ) {
var link = allLinks[ i ];
if ( link.classList.contains( 'new' ) ) {
var titre;
try {
titre = new URL( link.href ).searchParams.get( 'title' ).replace( /_/g, ' ' );
} catch ( e ) {
}
if ( !titre ) {
titre = link.textContent;
}
if ( regexNSExclus.test( titre ) ) {
continue;
}
var newElement = document.createElement( 'sup' );
newElement.className = 'exposant';
newElement.innerHTML = ''
+ '(<a href="https://www.google.com/search?num=100&q=' + encodeURIComponent( titre ) + '+site:fr.wikipedia.org" title="Rechercher sur Google ce lien rouge">gg</a>'
+ '|<a href="' + mw.util.getUrl( 'Special:Whatlinkshere/' + titre ) + '" title="Pages liées de ce lien rouge">pl</a>)';
link.parentNode.insertBefore( newElement, link.nextSibling );
}
}
}
} );
}