« Utilisateur:Thibaut120094/common.js » : différence entre les versions

Contenu supprimé Contenu ajouté
Annulation des modifications 7043135 de Thibaut120094 (discussion)
Ligne 1 :
//============================
mw.loader.load('//fr.wiktionary.org/w/index.php?title=MediaWiki:Gadget-specialchars.js&action=raw&ctype=text/javascript');
// Boutons Théâtre
mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-ContribColors.js&action=raw&ctype=text/javascript');
importScript('UtilisateurUser:Thibaut120094Hsarrazin/delntheatre.js');
//Test Catégories Encyclopédie
importScript('User:Acélan/Dictionnaire-cat.js');
// affichage d'une box des métadonnées wd //
mw.loader.load( 'https://fr.wikisource.org/w/index.php?title=Utilisateur:0x010C/scripts/databox.js&action=raw&ctype=text/javascript' );
 
// WEF editor for wd [https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefedition.js] - essai
mw.loader.load( 'https://ru.wikipedia.org/w/index.php?title=MediaWiki:WEF AllEditors.js&action=raw&ctype=text/javascript' );
 
//mw.loader.load( 'https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefedition.js&action=raw&ctype=text/javascript' );/
//mw.loader.load( 'https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefwork.js&action=raw&ctype=text/javascript' );/
//mw.loader.load( 'https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefdocument.js&action=raw&ctype=text/javascript' );
//mw.loader.load( 'https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefbook.js&action=raw&ctype=text/javascript' );
//mw.loader.load( 'https://ru.wikipedia.org/wiki/MediaWiki:Gadget-wefperson.js&action=raw&ctype=text/javascript' );
 
//==== pour gérer l'avancement avec wikidata
mw.loader.load( '//fr.wikisource.org/w/index.php?title=Utilisateur:Tpt/badges.js&action=raw&ctype=text/javascript');
 
 
 
 
 
//==============================
// Typo Personnel
/*********************
Typo personnel
**********************/
function hsarrazin_typo_add() {
$j.typo.add(function(str) {
str = str.replace(/( tète )+/g, " tête ");
str = str.replace(/(…\. )+/g, "… ");
str = str.replace(/(\.… )+/g, "… ");
str = str.replace(/( …)+/g, "…");
str = str.replace(/(‘)+/g, "’");
str = str.replace(/(`)+/g, "’");
// str = str.replace(/(– )+/g, "— ");
 
str = str.replace(/([—\!\?\.\\…\»\« ] )A /g, "$1À "); //fix pour À - devrait générer moins de faux positifs que la situation actuelle
str = str.replace(/(\nA )+/g, "\nÀ "); // désactiver pour le Trévoux…
 
str = str.replace(/\{\{lang\|([a-z])([a-z])\|''([^']*?)''([^\}]*)\}\}+/g, "''\{\{lang\|$1$2\|$3$4\}\}''"); //fix pour lang
str = str.replace(/\{\{lang\|gr\|+/g, "\{\{lang\|grc\|"); //fix pour gr au lieu de grc
 
str = str.replace(/\{\{réplique\|([^']*?)\}\}/gi, "\{\{Personnage\|$1\|c\}\}"); //fix pour Réplique -> Personnage (pb de fonctionnement)
str = str.replace(/\{\{Personnage\|([a-zA-ZÉÈéèŒ\. \-]*?)\|c\}\}\{\{didascalie\|,?/g, "\{\{PersonnageD\|$1\|c\|"); //fix pour PersonnageD
 
str = str.replace(/(<sup>er<\/sup>)+/g, "\{\{er\}\}"); // fix pour les abbréviations
str = str.replace(/(\{\{e\|e\}\}<\/sup>)+/g, "\{\{e\}\}");
str = str.replace(/(<sup>e<\/sup>)+/g, "\{\{e\}\}");
str = str.replace(/(D<sup>r<\/sup>)+/g, "\{\{Dr\}\}");
str = str.replace(/(M<sup>r<\/sup>)+/g, "\{\{Mr\}\}");
str = str.replace(/(M<sup><small>r<\/small><\/sup>)+/g, "\{\{Mr\}\}");
str = str.replace(/(M<sup>me<\/sup>)+/g, "\{\{Mme\}\}");
str = str.replace(/(M<sup><small>me<\/small><\/sup>)+/g, "\{\{Mme\}\}");
str = str.replace(/(M<sup>lle<\/sup>)+/g, "\{\{Mlle\}\}");
str = str.replace(/(M<sup><small>lle<\/small><\/sup>)+/g, "\{\{Mlle\}\}");
str = str.replace(/(M<sup>elle<\/sup>)+/g, "\{\{Mlle\}\}");
str = str.replace(/(M<sup><small>elle<\/small><\/sup>)+/g, "\{\{Mlle\}\}");
str = str.replace(/(2<sup>me<\/sup>)+/g, "\{\{2me\}\}");
str = str.replace(/(1<sup>er<\/sup>)+/g, "\{\{1er\}\}");
str = str.replace(/(I<sup>er<\/sup>)+/g, "\{\{Ier\}\}");
str = str.replace(/(1\{\{er\}\})+/g, "\{\{1er\}\}");
 
str = str.replace(/( <ref>)+/g, "<ref>"); //fix pour les ref
str = str.replace(/<center>([^']*?)<\/center>/g, "\{\{c\|$1\}\}"); //fix pour les center
str = str.replace(/<div align=\"center\" >([^']*?)<\/div>/g, "\{\{c\|$1\}\}"); //fix pour les div center
str = str.replace(/<div style=\"text-align:center; \" \>([^']*?)<\/div>/g, "\{\{c\|$1\}\}"); //fix pour les div center
 
str = str.replace(/  /g, " ");
str = str.replace(/(_)+/g, " ");
 
str = str.replace(/\n : */g, "\n:"); // fix pour les : dans les poèmes
str = str.replace(/(:+) *: */g, "$1:");
str = str.replace(/:: /g, "::");
str = str.replace(/<poem>/g, "<poem class=\"verse\">"); //fix pour les poèmes
str = str.replace(/class= « verse » /g, "class=\"verse\"");
 
str = str.replace(/## « /g, "## \""); // fix pour les sections
str = str.replace(/ » ##/g, "\" ##");
 
str = str.replace(/<big>(.*)<\/big>/gi, "$1"); //suppression des "big"
str = str.replace(/&#160;»/g, " »");
 
str = str.replace(/ *\n/g, " "); // Suppression des saut de ligne à l'intérieur d'un paragraphe -->
str = str.replace(/ /g, "\n\n"); // Fix pour changement de paragraphe
str = str.replace(/\n +/g, "\n\n"); // Fix pour changement de paragraphe impair
str = str.replace(/ ?\n*$/g, ""); // Suppression saut de ligne fin de page
return str;
});
}
 
$.when(
mw.loader.using( [ 'ext.gadget.Typo' ] ),
$.ready
).then(
hsarrazin_typo_add
);
 
/*********************
Indicateurs de qualité
Auteur: Tpt
*********************/
if(typeof $j != 'undefined' && wgNamespaceNumber == 0 && (wgAction == 'view' || wgAction == 'submit' || wgAction == 'purge')) {
$j(function() {
var textquality = $j('#textquality');
if (textquality.size()) {
var quality = textquality.attr("class").split(' ')[0];
} else {
var quality = '';
}
var text = {
"_00": "La source du texte est inconnue.",
"_25": "Le texte est en cours d'édition ; il n'y a pour le moment aucune garantie sur sa conformité à une quelconque édition scientifique, et il n'est sans doute pas complet.",
"_50": "Texte en début de prise en charge et qui est apparemment complet, quoique sans garantie.",
"_75": "Texte complet et formaté (y compris l'entête, la typographie, les catégories, etc.). Il reste à en corriger les coquilles ou « scannilles ».",
"_100": "Texte relu par un premier contributeur disposant d'une édition de référence ; cette catégorie inclut les textes copiés d'un autre site utilisant une procédure de vérification similaire.",
"_200": "Texte relu par au moins deux contributeurs, validé et protégé, car conforme à une source identifiée publiquement vérifiable."
}
if(quality != '' && typeof text[quality] != 'undefined') {
mw.loader.using( ['jquery.ui.dialog'], function() {
var message = $j('<div id="qualitydialog" title="État d’avancement"></div>').appendTo("#content").html("<p>" + text[quality] + "</p>");
message.dialog({
autoOpen: false,
modal: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
var li = $j('<li></li>').appendTo("#p-Lire div ul");
var link = $j('<a href="#">Avancement du texte</a>').appendTo(li).click(function() {
message.dialog("open");
});
});
}
});
}
/*********************
Indicateurs de qualité
Auteur: Tpt
*********************/
if(typeof $j != 'undefined' && wgNamespaceNumber == 0 && (wgAction == 'view' || wgAction == 'submit' || wgAction == 'purge')) {
$j(function() {
var textquality = $j('#textquality');
if($j('#textquality').attr("class") != '') {
textquality.insertAfter("#jump-to-nav").css("display", "block");
if(textquality.hasClass("_00")) {
textquality.addClass("quality00").html("La source du texte est inconnue.");
} else if(textquality.hasClass("_25")) {
textquality.addClass("quality25").html("Texte incomplet");
} else if(textquality.hasClass("_50")) {
textquality.addClass("quality50").html("Texte sans scan - à mettre en concordance");
} else if(textquality.hasClass("_75")) {
textquality.addClass("quality75").html("Texte complet - à relire");
} else if(textquality.hasClass("_100")) {
textquality.addClass("quality100").html("Texte vérifié");
} else if(textquality.hasClass("_200") || textquality.hasClass("textes validés")) {
textquality.addClass("qualityvalide").html("Texte validé");
}
}
});
}
 
function hsarrazin_erreurs_communes() {
 
select_multiple_text.exec(/^Page:.*/,
[
"\\. 11 ", "i1", "e1", "a1",
"môme",
" h ",
" di ", " da ", " do ",
"\\. A "
]);
 
select_multiple_text.exec(/^Page:Revue_des_Deux_Mondes_-_18.*/,
[
"siège",
"collège", "etc. etc."
]);
select_multiple_text.exec(/^L.*/,
[
"\\. 11", "môme", " h ", "\\. A "
]);
}
 
$.when(
mw.loader.using( [ 'ext.gadget.Erreurs-communes' ] ),
$.ready
).then(
hsarrazin_erreurs_communes
);
 
 
 
 
//============================================================
//Boutons pour le trévoux : sc et latin
if(mw.config.get('wgNamespaceNumber') == 104 && $.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
if(mw.user.options.get('usebetatoolbar')) {
mw.loader.using('ext.wikiEditor.toolbar', function() {
$(function() {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
'sc': {
label: 'Small caps',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/6/6e/Small_caps.svg?size=23px',
action: {
type: 'encapsulate',
options: {
pre: '{{sc|',
peri: '',
post: '}}',
ownline: false
}
}
},
'la': {
label: 'Latin',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/0/04/ISO_639_Icon_la.svg/23px-ISO_639_Icon_la.svg.png',
action: {
type: 'encapsulate',
options: {
pre: "''{{lang|la|",
peri: '',
post: "}}''",
ownline: false
}
}
},
'section': {
label: 'Section',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/c/c5/Toolbaricon_bold_sharp.png',
action: {
type: 'encapsulate',
options: {
regex: /^\n?(☞? ?)(.*)$/,
regexReplace: '##"$2"##\n<nowiki/>\n\n$1$2',
}
}
}
}
});
});
});
} else if (mwCustomEditButtons) {
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "//upload.wikimedia.org/wikipedia/commons/a/a2/SmallcapsButton.png",
"speedTip": "small caps",
"tagOpen": '{{sc|',
"tagClose": '}}',
"sampleText": ""};
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "//bits.wikimedia.org/skins-1.5/common/images/button_sig.png",
"speedTip": "latin",
"tagOpen": "''{{lang|la|",
"tagClose": "}}''",
"sampleText": ""};
}
}
 
//==============================
// Compteur de mots d'une page
$( document ).ready(function() {
var lines = $("div#mw-content-text").text().split("\n");
var count = 0;
for(i in lines) {
var words = lines[i].split(" ");
for(j in words) {
if($.trim(words[j])) {
count++;
}
}
}
$("ul#footer-places").append("<li>Nombre de mots : " + count + "</li>");
});