Utilisateur:Ltrlg/scripts/barres.js
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./* Barres supplémentaires pour l’édition. */
$( function ( $ ) {
var plural = '(s)';
var emptySummary = /^(?:\/\*.*\*\/ )?$/;
function $list( def ) {
var $res = $( '<ul>' )
.addClass( 'liste-horizontale' )
.css( {
display: 'inline',
margin: 0
} );
var $li, i;
for ( i = 0; i < def.length; ++i ) {
$li = $( '<li>' );
$li.append( def[i] );
$res.append( $li );
}
return $res;
}
function $actionLink( label, onClick ) {
return $( '<a>' )
.attr( 'href', '#' )
.text( label )
.click( function ( evt ) {
evt.preventDefault();
onClick();
} );
}
function $replaceLink( label, replacements ) {
return $actionLink( label, function () {
var $wikitext = $( '#wpTextbox1' );
var wikitext = $wikitext.val();
var oldWikitext = wikitext;
for ( var i = 0; i < replacements.length; ++i ) {
wikitext = wikitext.replace.apply( wikitext, replacements[i] );
}
if ( wikitext === oldWikitext ) {
alert('Aucun changement');
} else {
$wikitext.val( wikitext );
}
} );
}
function $insertLink( label, tagOpen, tagClose, sampleText ) {
return $actionLink( label, function () {
mw.toolbar.insertTags( tagOpen, tagClose, sampleText );
} );
}
var $editList = $list( [
$insertLink( '{{en}}', '{{lang|en|', '}}', '' ),
$insertLink( '{{de}}', '{{lang|de|', '}}', '' ),
$actionLink( '{{lang}}', function () {
mw.toolbar.insertTags(
'{{lang|' + prompt( 'Code de langue ?' ) + '|',
'}}',
''
);
} ),
[
$insertLink( '{{cit', '{{citation|', '}}', '' ),
document.createTextNode( ' ' ),
$insertLink( 'bloc}}', '{{citation bloc|\n', '\n}}', '' )
],
$insertLink( '{{retrait}}', '{{retrait|1= ', ' }}', '' ),
$insertLink( 'formatnum', '{{formatnum:', '}}', '' ),
$replaceLink( 'lignes', [
[ /[ \t]+\n/g, '\n' ], // remove spaces from line ends
[ / +/g, ' ' ], // multiple spaces are bad
[ /\n{2,}/g, '\n\n' ] // replace multiple empty lines by only one
] ),
$replaceLink( 'bris', [
[ /\s{0,}\n+(\*|:|;|#)/g, '\n$1' ]
] ),
$replaceLink( '« »', [
[ /([ '’(\n])"/g, '$1«\u00A0' ],
[ /"([ .,)\n])/g, '\u00A0»$1' ]
] )
] );
$( '#wpSummaryLabel' ).prepend(
$( '<div>' ).append( $editList )
);
} );