MediaWiki:Gadget-Section links.js
Remarque: après avoir sauvegardé, vous devez vider le cache de votre navigateur pour que les changements prennent effet. Mozilla, cliquez sur Actualiser (ou ctrl-r). Internet Explorer / Opera: ctrl-f5. Safari: cmd-r. Konqueror ctrl-r.
/*******************************************************************************
* === Relie les sections d'articles ===
* Les sections du Wiktionnaire contiennent des liens plus précis que ceux
* générés automatiquement par Mediawiki:
* coin#en-nom plutôt que coin#Nom_commun_3
* Cette fonction change les liens § donnés à gauche des titres de section pour
* leur donner le lien précis de la section (s'il y en a un)
*******************************************************************************/
jQuery(function relink_sections() {
// Sections de langue + sections de type de mot
$( ".sectionlangue, .titredef" ).each( function() {
var parlink = $(this).parent().parent().find( ".mw-headline-anchor" ); // Le lien §
var href = "#" + $(this).attr("id"); // Le lien "précis" de la section
parlink.attr("href", href);
});
});
/*******************************************************************************
* === Liens d'ébauches ===
* Cette fonction remplace le lien des modèles d'ébauche (.stubedit) par le lien
* de modification de la section supérieure la plus proche, pour éviter de
* modifier toute la page.
* Auteur : [[Utilisateur:Darkdadaah]].
*******************************************************************************/
jQuery(function stubeditLink() {
$( '.stubedit a' ).attr( 'href', function() {
var $ol = $( this );
var lim = 0;
// Remonte en haut de la hiérarchie
while( $ol.parent().attr( 'id' ) !== 'mw-content-text' && lim < 50 ) {
$ol = $ol.parent();
lim++;
}
// On remonte et on récupère le premier titre venu
var $hall = $ol.prevAll( 'h2, h3, h4' );
if ( $hall.length > 0 ) {
var href = '';
$hall.each(function() {
$modif = $( this ).find( '.mw-editsection a' );
href = $modif.attr( 'href' );
return false; // break each loop
});
return href; // Nouveau lien
}
return $( this ).attr( 'href' ); // Défaut : lien normal
});
});