Projet:Scripts et gadgets/Notices/HotCatsMulti
HotCatsMulti est un code javaScript permettant de modifier les catégories d'une page de façon automatisée.
Remarque : Ce script ne s'active pas dans les pages de discussion.
Installation
modifierWikipédia en français
modifier- Préférences -> Gadgets -> Ajout / modification / retrait rapide -> HotCatsMulti
Autre site utilisant MediaWiki
modifierCréer une page nommée Mediawiki:Gadget-HotCatsMulti.js contenant le code suivant :
mw.loader.load('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js&action=raw&ctype=text/javascript');
Dispositions particulières lors de l'édition : si des opérations doivent être faites avant l'édition, celles-ci doivent être définies dans une page nommée MediaWiki:Gadget-HotCatsMultiCustomEdit.js. Cette page doit contenir une function nommée hotcat_EditCustom() qui définit les opérations à effectuer avant l'édition.
Pour cette question et pour une éventuelle personnalisation, voir plus bas.
En cas de doute ou de difficulté, demander de l'aide sur le Projet:JavaScript.
Fonctionnement
modifierCe gadget ajoute au chargement de la page différents liens dans la barre de catégories :
- un lien (±) après le lien « Catégories », pour le mode « Multi » (voir plus loin)
- un lien (D) après le lien « Multi », pour modifier la clef de tri par défaut ({{Portail|Test Wikipédia pas à pas}} {{DEFAULTSORT:}})
- un lien (–) et un lien (±) après chaque catégorie présente, qui permettent respectivement de supprimer ou modifier la catégorie associée
- un lien (+) à la fin de la barre, qui permet d'ajouter une catégorie.
Lors de la modification ou l'ajout d'une catégorie, une liste de suggestions de catégories existantes est fournie.
Mode « Normal »
modifierAperçu de la barre de catégories modifiée en mode « Normal » :
Modification de la clef de tri par défaut
modifierLe lien (D) permet de modifier la clef de tri par défaut. Un clic sur le lien fait apparaître un formulaire comprenant un champ de saisie ainsi que deux boutons OK et Annuler. Un clic sur OK lance l'édition. Un clic sur Annuler ferme le formulaire.
Retrait de catégorie
modifierLes liens (–) permettent de supprimer une catégorie. Une pop-up de confirmation permet d'éviter un clic intempestif. Si confirmé, l'édition se lance et supprime la catégorie.
Modification de catégorie
modifierLes liens (±) permettent de modifier une catégorie. Un clic sur le lien fait apparaître un formulaire comprenant un champ de saisie ainsi que deux boutons OK et Annuler. Durant la frappe, une liste de catégories existantes est suggérée. Un clic sur OK lance l'édition. Un clic sur Annuler ferme le formulaire.
Ajout de catégorie
modifierLe lien (+) permet d'ajouter une catégorie. Un clic sur le lien fait apparaître un formulaire comprenant un champ de saisie ainsi que deux boutons OK et Annuler. Durant la frappe, une liste de catégories existantes est suggérée. Un clic sur OK lance l'édition. Un clic sur Annuler ferme le formulaire.
Catégories-filles et Catégories-mères
modifierLes formulaires créés par les liens (±) et (+) permettent de suggérer les catégories-mères (c'est-à-dire la ou les catégories où est incluse la catégorie inscrite dans le champ de texte) ou les catégories-filles (c'est-à-dire la ou les catégories incluses dans la catégorie inscrite dans le champ de texte), via les boutons ↑ et ↓.
Il est ainsi possible de naviguer dans l'arborescence pour trouver la catégorie souhaitée.
Mode « Multi »
modifierAperçu de la barre de catégories en mode « Multi », avec les options par défaut :
ValiderAnnuler
(D) : Catégorie1 (–) (±) | Catégorie2 (–) (±) | Catégorie3 (–) (±) | [+] | (+)
Le mode « Multi », accessible via le lien (±) situé juste derrière le premier lien « Catégories », permet en une seule opération d'ajouter, modifier ou supprimer une ou plusieurs catégories. Un clic sur le lien ouvre un formulaire composé de deux boutons : Valider (inactif tant qu'aucun changement n'est programmé) et Annuler.
Les autres liens (D), (–), (±) et (+) fonctionnent comme durant le mode « Normal », à ceci près qu'un clic sur OK ne lance pas l'édition mais « mémorise » le changement demandé. Ces changements sont symbolisés par la couleur que prend le lien de la catégorie :
- rose barré : catégorie à enlever
- jaune : catégorie ou clef de tri à modifier
- vert : catégorie à ajouter
Un clic sur Annuler annule les changements opérés et rétablit la barre en mode « Normal ».
Il est possible d'annuler un changement sans tout annuler : pour une catégorie déjà présente, il suffit de cliquer sur son lien (±) puis sur OK sans modifier le champ (il prend toujours par défaut la catégorie d'origine, même si elle a été modifiée), pour une catégorie ajoutée, il suffit de la supprimer avec son lien (–).
Si aucun changement n'est programmé, ou si tous les changements effectués sont annulés, le bouton Valider est inactif. Une fois les changements souhaités effectués, un clic sur Valider lance une pop-up de confirmation puis l'édition de la page.
En plus de ces nouveaux boutons, le mode « Multi » fournit deux séries de trois boutons radio à cocher. La sélection initiale de ces boutons dépend des paramètres (personnalisables).
- Première série : doit-on considérer la modification comme mineure ?
- Bouton 1 : paramètre par défaut des préférences
- Bouton 2 : non
- Bouton 3 : oui (sélectionné par défaut)
- Deuxième série : doit-on ajouter la page à la liste de suivi ?
- Bouton 1 : paramètre par défaut des préférences (sélectionné par défaut)
- Bouton 2 : non
- Bouton 3 : oui
Personnalisation
modifierDeux fonctions hotcat_SiteCustom() et hotcat_UserCustom() sont définies pour permettre la personnalisation des différentes variables personnalisables.
- La première, dans le cas d'une utilisation sur un autre site que Wikipédia en français, est prévue pour personnaliser les variables qui dépendent exclusivement du site. Elle est à définir dans la même page que l'appel au gadget.
- La deuxième permet à chaque utilisateur de personnaliser sa version du gadget. Cette fonction peut être déclarée n'importe où dans votre common.js.
Une autre fonction personnalisable, hotcat_EditCustom(), obligatoirement insérée dans une page appelée MediaWiki:Gadget-HotCatsMultiCustomEdit.js, est appelée juste avant l'édition pour contourner certains problèmes dus au wiki local[note 1].
Liste des variables personnalisables
modifierLes variables suivantes sont personnalisables au sein des fonctions hotcat_LangCustom(), hotcat_SiteCustom() et/ou hotcat_UserCustom(). Pour les paramètres, le type est indiqué entre parenthèses : texte, nombre entier ou booléen (true ou false).
Les textes sont à entourer d'apostrophes ou de guillemets. Dans le cas où une apostrophe ou un guillemet est présent dans le texte, il doit être « échappé », c'est-à-dire précédé d'un anti-slash (alt gr + 8), sauf à alterner apostrophes et guillemets (à éviter car potentiellement source d'erreurs).
Exemples :
- Correct
MaVariable = "Mon \"super\" texte"; MaVariable = 'Mon \'super\' texte'; MaVariable = 'Mon "super" texte'; MaVariable = "Mon 'super' texte";
- Pas correct
MaVariable = "Mon "super" texte"; MaVariable = 'Mon 'super' texte';
Ces variables doivent être déclarées sans le mot-clef var.
- Légende
- T Variable personnalisable dans hotcat_LangCustom() (traductions)
- S Variable personnalisable dans hotcat_SiteCustom() (personnalisation globale du site)
- U Variable personnalisable dans hotcat_UserCustom() (personnalisation individuelle)
- Paramètres
- hotcat_suggestion_delay : délai avant requête de suggestion lors de la saisie, en millisecondes (nombre entier) SU
- hotcat_list_size : taille de la liste de suggestion (nombre entier) SU
- hotcat_list_items : nombre de suggestions (nombre entier) SU
- hotcat_list_down : affichage de la liste de suggestion vers le bas (booléen) SU
- hotcat_autocommit : publication automatique (booléen) SU
- hotcat_Minoredit : édition mineure (nombre entier : -1 = défaut ; 0 = jamais ; 1 = toujours ) SU
- hotcat_Watchthis : ajout de la page à la liste de suivi (nombre entier : -1 = défaut ; 0 = jamais ; 1 = toujours ) SU
- hotcat_AutoMulti : lancement automatique du mode « Multi » (booléen) SU
- hotcat_SkipRecap : non-affichage du récapitulatif avant modification (booléen) SU
- hotcat_ShowLegend : affichage de la légende (booléen) SU
- hotcat_ShowInline : affichage en une seule ligne (booléen) SU
- hotcat_exists_size : taille de l'icône « existe/n'existe pas », en pixels (nombre entier) SU
- hotcat_exists_yes : URL de l'icône « existe » (texte) SU
- hotcat_exists_no : URL de l'icône « n'existe pas » (texte) SU
- hotcat_docURL : URL du lien vers la documentation (texte) S
- hotcat_HiddenCatsLinkID : ID du lien « Afficher/Masquer les catégories cachées » (texte) S
- hotcat_CaseSensitive : statut quant à la première lettre d'une catégorie (booléen) S
- hotcat_TagGroup : groupe d'utilisateur habiliter à baliser ses propres modifications (droit
applychangetags
) S
- Textes
- hotcat_text_MultiLinkText : libellé du lien vers le mode « Multi » TSU
- hotcat_text_MultiLinkTitle : popup du lien vers le mode « Multi » TSU
- hotcat_text_MultiInputOK : libellé du bouton de validation du mode « Multi » TSU
- hotcat_text_MultiInputCancel : libellé du bouton d'annulation du mode « Multi » TSU
- hotcat_text_DefaultSortText : libellé du lien pour modifier le {{DEFAULTSORT:}} TSU
- hotcat_text_DefaultSortTitle : popup du lien pour modifier le {{DEFAULTSORT:}} TSU
- hotcat_text_RemoveLinkText : libellé du lien pour supprimer une catégorie TSU
- hotcat_text_RemoveLinkTitle : popup du lien pour supprimer une catégorie TSU
- hotcat_text_RemoveConfirm : texte de la popup de confirmation de suppression d'une catégorie TSU
- hotcat_text_ModifyLinkText : libellé du lien pour modifier une catégorie TSU
- hotcat_text_ModifyLinkTitle : popup du lien pour modifier une catégorie TSU
- hotcat_text_AddLinkText : libellé du lien pour ajouter une catégorie TSU
- hotcat_text_AddLinkTitle : popup du lien pour ajouter une catégorie TSU
- hotcat_text_Exists_YesTitle : popup de l'icône « existe » TSU
- hotcat_text_Exists_NoTitle : popup de l'icône « n'existe pas » TSU
- hotcat_text_ParentTitle : popup du bouton de suggestion de catégories-mères TSU
- hotcat_text_ParentText : libellé du bouton de suggestion de catégories-mères TSU
- hotcat_text_DaughterTitle : popup du bouton de suggestion de sous-catégories TSU
- hotcat_text_DaughterText : libellé du bouton de suggestion de sous-catégories TSU
- hotcat_text_InputOK : libellé des boutons de confirmation TSU
- hotcat_text_InputCancel : libellé des boutons d'annulation TSU
- hotcat_text_LabelText : titre de la légende TSU
- hotcat_text_LabelTitle : popup du lien vers la documentation TSU
- hotcat_text_RecapTitle : titre du récapitulatif TSU
- hotcat_text_RecapRemove : « Catégories à supprimer » dans le récapitulatif et la légende TSU
- hotcat_text_RecapModify : « Catégories à modifier » dans le récapitulatif et la légende TSU
- hotcat_text_RecapAdd : « Catégories à ajouter » dans le récapitulatif et la légende TSU
- hotcat_text_RecapSort : « Clef de tri globale » dans le récapitulatif TSU
- hotcat_text_Minoredit : « Édition mineure » dans le récapitulatif et la popup des boutons "radio" TSU
- hotcat_text_Watchthis : « Suivre cette page » dans le récapitulatif et la popup des boutons "radio" TSU
- hotcat_text_RadioDefault : « Défaut » dans le récapitulatif et la popup des boutons "radio" TSU
- hotcat_text_RadioYes : « Oui » dans le récapitulatif et la popup des boutons « radio » TSU
- hotcat_text_RadioNo : « Non » dans le récapitulatif et la popup des boutons « radio » TSU
- hotcat_text_AlertProblem1 : Pop-up d'erreur « Impossible de trouver la catégorie » TSU
- hotcat_text_AlertProblem2 : Pop-up d'erreur « La catégorie est déjà présente » TSU
- hotcat_text_AlertProblem3 : Pop-up d'erreur « Plusieurs occurrences de la catégorie trouvées » TSU
- hotcat_text_NoCatTemplate : Nom du modèle « à catégoriser » S
- hotcat_text_ResumeScript : Résumé de modification « HotCatsMulti » : (lien vers documentation) S
- hotcat_text_HotCatTag : balise dédiée à HotCats S
Exemples
modifierPersonnalisation globale sur un autre site (en anglais)
modifier// Personnalisation locale
window.hotcat_SiteCustom = function(){
hotcat_docURL = "http://www.MySite.com/wiki/Help:HotCatsMulti";
hotcat_text_ResumeScript = "[[Help:HotCatsMulti|HotCatsMulti]] : ";
hotcat_HiddenCatsLinkID = "hiddencats-link";
hotcat_CaseSensitive = true;
hotcat_TagGroup = "user";
hotcat_text_HotCatTag = "HotCats";
hotcat_list_size = 5;
hotcat_list_items = 50;
hotcat_autocommit = true;
hotcat_list_down = true;
hotcat_SkipRecap = true;
hotcat_exists_yes = "http://upload.wikimedia.org/wikipedia/commons/a/a7/Icon_yes.png";
hotcat_exists_no = "http://upload.wikimedia.org/wikipedia/commons/d/d1/Icon_no.png";
}
// Import du gadget
mw.loader.load('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-HotCatsMulti.js&action=raw&ctype=text/javascript');
Personnalisation individuelle
modifierwindow.hotcat_UserCustom = function(){
hotcat_suggestion_delay = 500;
hotcat_list_size = 5;
hotcat_list_items = 50;
hotcat_autocommit = true;
hotcat_list_down = true;
hotcat_Minoredit = 1;
hotcat_Watchthis = 1;
hotcat_AutoMulti = true;
hotcat_SkipRecap = true;
hotcat_exists_yes = "http://upload.wikimedia.org/wikipedia/commons/a/a7/Icon_yes.png";
hotcat_exists_no = "http://upload.wikimedia.org/wikipedia/commons/d/d1/Icon_no.png";
}
Traduction
modifierLes textes du gadget peuvent faire l'objet d'une traduction.
Pour cela, il est nécessaire de créer une page de la forme MediaWiki:Gadget-HotCatsMulti.js/i18n/XX.js, où XX est le code de la langue souhaitée (exemple : MediaWiki:Gadget-HotCatsMulti.js/i18n/en.js).
Si vous souhaitez une traduction dans une langue qui n'est pas encore couverte, demandez à un administrateur de créer une telle page sur WP:DIMS en fournissant le code adéquat sur un brouillon.
Si vous souhaitez corriger une traduction existante, demander à un administrateur de le faire sur la page WP:DIMS.
Traductions existantes
modifierDiscussions
modifierNotes
modifier- Sur la Wikipedia en français, cette fonction peut être utilisée pour supprimer l'exemple de catégorie insérée dans des commentaires HTML sur les images et qui peut induire le programme en erreur (voir ici)
Boîte Utilisateur
modifierBonjour. Si vous utilisez Hotcat, vous pouvez copier dans votre page personnelle cette boite utilisateur avec la syntaxe suivante : {{Utilisateur Wikipedia/Hotcat}} --Tangopaso (discuter) 7 mars 2017 à 16:58 (CET)