Utilisateur : Ltrlg/JS
J’indique par la mention « JS » en résumé de modification que j’ai utilisé un script écrit en JavaScript pour effectuer tout ou partie de la modification. Pour accélérer les tâches de maintenance auxquelles je participe (amélioration de l’accessibilité des contenus, correction de la wikisyntaxe, retrait de styles particuliers au profit de classes globales, etc.), dont les actions sont souvent similaires sur nombre d’articles, j’écris en effet régulièrement des petits scripts à base d’expressions régulières exécutés via mon common.js (le voir) ou directement dans la console JavaScript de mon navigateur.
C’est un outil très efficace qui peut malheureusement poser de ce fait des problèmes assez rapidement si j’ai mal conçu mon script ; si vous trouvez des erreurs que j’aurais ratées au cour de l’exécution (toujours manuelle) d’un script, signalez-les moi au plus vite, afin que je ne les multiplie pas.
Exemples
[modifier | modifier le code]Console JavaScript
[modifier | modifier le code]-
Pour retirer les lignes entre les items de liste (MediaWiki génère alors plusieurs listes séparées) (accessibilité, correction syntaxique) :
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /\s{0,}\n+(\*|:|;|#)/g, '\n$1' ) );
-
Pour les tableaux illisibles :
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( / ?\|\| ?/g, '\n| ' ) );
-
Pour corriger les entêtes de colonne (accessibilité) :
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /\n! ?| ?!! ?/gi, '\n! scope="col" | ' ) );
-
Pour corriger les entêtes de ligne (accessibilité) :
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /(\|-+\s*\n)+/g, '|-\n' ) .replace( /\|-+\s*\n\|\}/g, '|}' ) .replace( /\|-+ {0,}\n\| ?/g, '|-\n! scope="row" | ' ) );
-
Pour supprimer {{ligne grise}} et les
bgcolor
(afin d’utiliser à la place la classealternance
, plus adaptée) (simplification) :$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( / ?\{\{\s*[Ll]igne grise\s*\}\} ?/g, '' ) .replace( /bgcolor="?#?([a-fA-F0-9]{3}){1,2}"?/gi, '' ) );
-
Pour les noms en majuscules :
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /[A-ZÀÉÈÇ]([A-ZÀÉÈÇ]+)/g, function ( mot, aConvertir ) { return mot[0] + aConvertir.toLocaleLowerCase(); } ) );
-
Pour utiliser
{{formatnum:…}}
:$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /([0-9]+)(?: | )([0-9]{3})(?: | )([0-9]{3})(?: | )([0-9]{3})/g, '{{formatnum:$1$2$3$4}}' ) .replace( /([0-9]+)(?: | )([0-9]{3})(?: | )([0-9]{3})/g, '{{formatnum:$1$2$3}}' ) .replace( /([0-9]+)(?: | )([0-9]{3})/g, '{{formatnum:$1$2}}' ) );
-
La fonction
Ltrlg_clubtable
suivante me permettait d’effectuer rapidement des correction des tableaux de liste des clubs auxquels un sportif a été rattaché (accessibilité, simplification)function Ltrlg_clubtable( $ ) { $( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val() .replace( /\n\{\|([^\n]*)/g, '\n{| class="wikitable alternance"' ) .replace( /\n\|-([^\n]*)/g, '\n|-' ) .replace( /\n\|[^\n]*'''(Club|Pays|De|À)'''/g, '\n! scope=col | $1' ) .replace( /(\|-+\s*\n)+/g, '|-\n' ) .replace( /\|-+\s*\n\|\}/g, '|}' ) .replace( /\|-+ {0,}\n\| ?/g, '|-\n! scope=row | ' ) .replace( /(''')\.\.\.(''')/g, '$1…$2' ) ); $( '#wpSummary' ).val( $( '#wpSummary' ).val() + 'Correction du tableau : entêtes ([[WP:AA|accessibilité]]), classes wikitable et alternance — [[user:Ltrlg/JS|JS]]' ); $( '#wpSave' ).click(); }
J’effectue désormais les tâches de ce type avec mon bot.