Utilisateur:Od1n/common.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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./* jshint esversion: 6, laxbreak: true */
/* globals mw, $, importScript */
/* <nowiki> */
// Configurations, à ne pas exécuter dans le mw.loader.using() pour ne pas avoir de race condition
// [[MediaWiki:Gadget-AncreTitres.js]]
window.AncreTitres = {afficheE: false};
// [[MediaWiki:Gadget-DeluxeHistory.js]]
window.DeluxeHistory_Enabled = {watchlist: false};
// [[Projet:Scripts et gadgets/Notices/BandeauxPortails]]
window.BandeauxPortails_AutoEdit = false;
// [[Projet:Scripts et gadgets/Notices/HotCatsMulti]]
window.hotcat_autocommit = false;
mw.loader.using('mediawiki.util', function () {
'use strict';
const page = {
nsNumber: mw.config.get('wgNamespaceNumber'),
nsCanonical: mw.config.get('wgCanonicalNamespace'),
fullName: mw.config.get('wgPageName'),
action: mw.config.get('wgAction'),
special: mw.config.get('wgCanonicalSpecialPageName'),
relevantName: mw.config.get('wgRelevantPageName'),
};
page.isDiff = !!mw.config.get('wgDiffNewId');
page.isEdit = page.action === 'edit' || page.action === 'submit';
page.isHistory = page.action === 'history';
page.isView = page.action === 'view' && !page.isDiff;
//--------------------------------------------------------------------------
// Allègement titres des pages, pour clarifier les onglets navigateur
//--------------------------------------------------------------------------
let newTitle = document.title;
newTitle = newTitle.replace(/ [—–-] Wikipédia$/, ''); // tiret cadratin, tiret demi-cadratin, "tiret du 6"
if (page.isEdit) {
newTitle = '[M] ' + newTitle.replace(/^Modification de /, '');
}
else if (page.isHistory) {
newTitle = '[h] ' + newTitle.replace(/ : Historique des versions$/, '');
}
else if (page.isDiff) {
newTitle = '[d] ' + newTitle.replace(/ : Différence entre versions$/, '');
}
document.title = newTitle;
// compatibilité avec l'aperçu rapide
// attention : aussi exécuté lors du chargement initial, donc en supplément du code ci-dessus
if (page.isEdit) {
mw.hook('wikipage.editform').add(function () {
const from = /^Modification de (.+) [—–-] Wikipédia$/;
const to = '[M] $1';
if (from.test(document.title)) {
document.title = document.title.replace(from, to);
}
});
}
//--------------------------------------------------------------------------
// Mise en évidence des pages protégées en écriture
//--------------------------------------------------------------------------
if (mw.config.get('wgRestrictionEdit', []).includes('sysop') || page.nsCanonical === 'MediaWiki') {
mw.loader.addStyleTag('#ca-edit > a { color: darkorchid } #ca-edit.selected > a { color: inherit }');
}
//--------------------------------------------------------------------------
// Liens "5000" pour les historiques, contributions et résultats de recherche
//--------------------------------------------------------------------------
$(function ($) {
$('.mw-pager-navigation-bar').each(function (_, navigationBar) {
const links = $(navigationBar).find('.mw-numlink'); // elements can be <a>, or <span> for "active links"
if (!links.length) return;
const realLinks = links.filter('a');
if (!realLinks.length) return;
const link500 = links.filter(':contains(500)');
if (!link500.length) return;
const copy = realLinks.first().clone();
copy[0].search = copy[0].search.replace(/limit=\d+/, 'limit=5000');
copy[0].innerHTML = '5000';
link500.after(' | ', copy);
});
});
//--------------------------------------------------------------------------
// Rapport gadgets
//--------------------------------------------------------------------------
if (page.fullName === 'Utilisateur:Od1n/Rapport_gadgets' && page.isView) {
importScript('Utilisateur:Od1n/Rapport gadgets.js');
}
//--------------------------------------------------------------------------
// Onglet WikiBlame
//--------------------------------------------------------------------------
if (page.nsNumber >= 0 || page.special === 'Whatlinkshere') {
$(function ($) { // eslint-disable-line no-unused-vars
mw.util.addPortletLink(
'p-cactions',
'http://wikipedia.ramselehof.de/wikiblame.php?lang=fr&article='
+ encodeURIComponent(page.relevantName).replaceAll('_', '+')
+ '&limit=5000&force_wikitags=on',
'WikiBlame',
'ca-wikiblame',
'Ouvrir WikiBlame avec cette page pré-renseignée'
);
});
}
//--------------------------------------------------------------------------
// Onglet wstat.fr pour les modèles et les modules
//--------------------------------------------------------------------------
if ([10, 11, 828, 829].includes(page.nsNumber)
|| page.special === 'Whatlinkshere' && /^(Modèle|Module):/.test(page.relevantName)) {
$(function ($) { // eslint-disable-line no-unused-vars
const titleForWstat = page.relevantName.replace(/^[^:]+:/, function (match) {
const replacements = {
'Modèle:' : '',
'Discussion_modèle:': '',
'Discussion_module:': 'Module:',
};
return replacements[match] !== undefined ? replacements[match] : match;
});
mw.util.addPortletLink(
'p-cactions',
'https://wstat.fr/template/info/' + titleForWstat.replaceAll(' ', '_'),
'wstat.fr',
'ca-wstat',
'Statistiques wstat.fr'
);
});
}
//--------------------------------------------------------------------------
// Boutons "fullurl", "lien modèle" et "spécial:diff"
//--------------------------------------------------------------------------
if (page.isEdit) {
importScript('Utilisateur:Od1n/BoutonsHelpers.js');
}
//--------------------------------------------------------------------------
// Sécurité anti-publication accidentelle
//--------------------------------------------------------------------------
/* code déplacé vers [[meta:User:Od1n/global.js]] */
//--------------------------------------------------------------------------
// [[Aide:Historiques en couleur]]
//--------------------------------------------------------------------------
if (page.isHistory || page.special) {
mw.loader.load('ext.gadget.DeluxeHistory');
}
//--------------------------------------------------------------------------
// Dans les historiques, rend les boutons « Comparer les versions sélectionnées » middle-cliquables
//--------------------------------------------------------------------------
if (page.isHistory) {
importScript('Utilisateur:Od1n/CompareVersionsButtonsToLinks.js');
}
//--------------------------------------------------------------------------
// [[Discussion Projet:Scripts et gadgets/2010#Est-il possible d'améliorer le modèle classement alphabétique ?]]
// [[MediaWiki:Gadget-SommaireCompactCategorieDeluxe.js]]
//--------------------------------------------------------------------------
if (page.nsNumber === 14 && page.isView) {
importScript('MediaWiki:Gadget-SommaireCompactCategorieDeluxe.js');
}
//--------------------------------------------------------------------------
// Affiche le nombre de pages liées dans [[Spécial:Pages liées]]
// (forké depuis [[Utilisateur:Dr Brains/WhatlinkshereDeluxe.js]])
//--------------------------------------------------------------------------
if (page.special === 'Whatlinkshere') {
importScript('Utilisateur:Od1n/WhatlinkshereDeluxe.js');
}
//--------------------------------------------------------------------------
// Pour masquer les pages dont on est le dernier contributeur
//--------------------------------------------------------------------------
if (page.special === 'Contributions') {
importScript('Utilisateur:Od1n/HideLastEditedPages.js');
}
//--------------------------------------------------------------------------
// Affiche des icônes pour les niveaux de protection sur [[Spécial:Modèles les plus liés]]
//--------------------------------------------------------------------------
if (page.special === 'Mostlinkedtemplates') {
importScript('Utilisateur:Od1n/ProtectionsModeles.js');
}
//--------------------------------------------------------------------------
// Affiche les états des filtres sur [[Wikipédia:AbuseFilter/Tableau de bord]]
//--------------------------------------------------------------------------
if (page.fullName === 'Wikipédia:AbuseFilter/Tableau_de_bord' && !page.isHistory) {
importScript('Utilisateur:Od1n/EtatsFiltres v2.js');
}
//--------------------------------------------------------------------------
// Sur la page [[MediaWiki:Gadgets-definition]], ajoute des liens de navigation vers les fichiers js/css
//--------------------------------------------------------------------------
if (page.fullName === 'MediaWiki:Gadgets-definition' && !page.isHistory) {
importScript('Utilisateur:Od1n/AddLinksGadgetsDefinition.js');
}
//--------------------------------------------------------------------------
// Sur les pages de scripts, ajoute des liens de navigation dans les appels importScript() et importStylesheet()
//--------------------------------------------------------------------------
if (mw.config.get('wgPageContentModel') === 'javascript' && !page.isHistory) {
importScript('Utilisateur:Od1n/AddLinksJavaScriptPage.js');
}
});
/* </nowiki> */