MediaWiki:Gadget-AcronymFinder.js

Une page de Wikipédia, l'encyclopédie libre.
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) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/* globals mw, $ */

/**
 * Sur les pages de sigles, en dessous de la palette verticale,
 * ajoute un lien « Chercher <SIGLE> sur Acronym Finder »
 *
 * Installation :
 * dans votre common.js, accessible via [[Spécial:Ma page/common.js]]
 * ajoutez le code suivant : obtenir('AcronymFinder');
 */
mw.hook( 'wikipage.content' ).add( function ( $content ) {

    var $boite = $content.find( '.boite-sigle' ).eq( 0 );
    if ( !$boite.length ) {
        return;
    }

    var titreSansHomonymie = mw.config.get( 'wgPageName' ).replace( /_\([^()]+\)$/, '' );

    // Retrait des accents - https://stackoverflow.com/a/37511463
    var sigle = titreSansHomonymie.normalize( 'NFD' ).replace( /[\u0300-\u036f]/g, '' );

    // Filtrage des pages à traiter, whitelist qui pourra éventuellement être affinée.
    // Principalement pour éviter les pages "Liste de sigles […]" et "Liste des codes […]"
    if ( sigle.length > 8 ) {
        return;
    }

    // Mise en majuscules du sigle, correspond mieux aux résultats sur Acronym Finder
    sigle = sigle.toUpperCase();

    var $div = $( '<div style="text-align:center; font-size:0.85em; line-height:1.35; padding-top:0.35em;">' );

    var url = 'https://www.acronymfinder.com/~/search/af.aspx?Acronym=' + encodeURIComponent( sigle ) + '&string=exact';
    var link = '<a href="' + url + '" class="external text" rel="nofollow">' + sigle + '</a>';

    $div.html( 'Chercher ' + link + '<br> sur <i>Acronym Finder</i>' );

    $boite.append( $div );

} );