Projet:JavaScript
Un article de Wikipédia, l'encyclopédie libre.
[modifier] Projet JavaScriptCe projet essaie de centraliser les fonctions JavaScript pour éviter la dispersion du code. |
|
[modifier] Obtenir une fonctionPour bénéficier d'une des fonctionnalités présentées ci-dessous, vous devez impérativement posséder un compte sur Wikipédia. Lorsque connecté à votre compte :
En forçant votre navigateur à purger son cache, vous verrez la fonction apparaître. |
[modifier] Personnaliser une fonctionCertaines fonctions sont paramétrables. La colonne de gauche du tableau des fonctions pointe vers la page sur laquelle la fonction est codée. Vous pouvez visualiser le code source (par l'onglet modifier). Si vous trouvez une section délimitée par des balises comme /////ZONE PERSONNALISABLE/////, vous pouvez recopier et adapter cette partie dans votre page monobook en personnalisant les variables dans une fonction que vous ajoutez aux fonctions appelées après chargement de la page (fonction addOnloadHook). Plus de détail ici. Si vous avez des doutes quant à votre personnalisation, vous pouvez demander un conseil en page de discussion. |
[modifier] Demander une fonction, rapporter un bugAllez en page de discussion pour toute anomalie ou fonction manquante. |
[modifier] DéveloppeursPour rajouter une nouvelle fonction, veillez à respecter certaines règles présentées en bas de page. |
Sommaire |
[modifier] Toutes les fonctions disponibles
La liste complète de ces pages est accessible via Special:Prefixindex/MediaWiki:Gadget-.
Certaines notices d'utilisation sont disponibles sur Projet:JavaScript/Notices.
[modifier] Fonctions pour tout utilisateur
Fonction | Détails | Installation | Autres |
---|---|---|---|
Bistro & Oracle | Ajout de liens vers le Bistro et l'Oracle dans le panneau de navigation | obtenir('BistroOracle'); | Illustration |
Bistro du Jour | Ajout d'un lien vers le Bistro du jour dans le panneau de navigation | obtenir('BistroDuJour'); | Illustration |
Résumé Deluxe | Ajout de boutons prédéfinis pour la boîte de résumé | Préférences > Gadgets > ResumeDeluxe | Illustration |
Suivi Deluxe | Cesser de suivre une page par un simple clic depuis la liste de suivi | Préférences > Gadgets > OptimizedSuivi | Illustration |
Onglet de purge | Ajout d'un onglet pour demander aux serveurs de purger leur cache | Préférences > Gadgets > OngletPurge | Illustration |
Éditeur d'en-tête | Ajout d'un onglet pour modifier l'introduction d'un article (section zéro) | Préférences > Gadgets > EditZeroth | Illustration |
Catégories à gauche | Ajout d'une boîte de navigation listant les catégories d'un article | obtenir('CatsaGauche'); | Illustration |
HotCats | Ajout en bas de l'article de liens pour rapidement ajouter / modifier / supprimer une catégorie | Préférences > Gadgets > HotCats | Illustration |
Onglet Google | Ajout d'un onglet pour des recherches via Google | Préférences > Gadgets > OngletGoogle | |
Barre d'édition Deluxe | Ajout de boutons supplémentaires dans la barre d'outils d'édition | Préférences > Gadgets > DeluxeBar | |
Revert | Ajout de liens pour annuler les modifications et laisser un message de manière automatisée | Préférences > Gadgets > RevertDiff | Illustration |
Détection de plagiats | Ajout d'un onglet pour trouver les sites web ressemblants via CopyScape | obtenir('CopyScape'); | |
Fusion de contributions | Ajout d'une comparaison des heures de contributions de plusieurs utilisateurs | obtenir('FusionContribs'); | |
Recherche Google | Ajout d'un bouton pour utiliser la recherche du panneau de navigation via Google | obtenir('GoogleSearch'); | Illustration |
Recherche avancée | Remplace la boîte de recherche par une plus complète avec des raccourcis | obtenir('AdvancedResearch'); | Notice - Illustration |
Supprimer les infobulles | Enlève les info-bulles des onglets. | Préférences > Gadgets > SupprimerInfoBulles | |
URL avec ancres | Obtenir les URL vers une section d'un article. (NB. ne marche pas partout). | obtenir('AncreTitres'); | Illustration |
Prévisualisation rapide | Prévisualisation rapide en AJAX. | Préférences > Gadgets > QPreview | Notice - Illustration |
Dernière contribution | Affiche juste dessous le titre si une contribution récente a eu lieu (éviter les conflits de modification). | Préférences > Gadgets > LastContrib | Notice - Illustration |
Liens rouges | Affiche deux liens sur les liens rouges. Exemple : Accueil(gg|pl) | obtenir('LiensRouges'); | |
Évaluation d'articles | Ajoute des boutons ouvrant un popup pour cocher le degré d'avancement et l'importance de l'article. | obtenir('EvalProject'); | Illustration |
Identifiant de blocage | Retrouver rapidement les détails d'un blocage à partir de l'identifiant numérique | obtenir('BlockLogById'); | Illustration |
Diff numérique dans l'historique | Affiche le nombre de caractères ajoutés/supprimés dans l'historique, à la place de la taille de la version | obtenir('HistoryNumDiff'); | Illustration |
DeluxeHistory | Affiche les historiques en couleur en fonction du statut des contributeurs | Préférences > Gadgets > DeluxeHistory | Notice - Illustration |
WikEd | Éditeur intégré au navigateur ajoutant des fonctions de traitement de texte lors de l'édition | Préférences > Gadgets > WikEd | Notice - Illustration |
Navigation popups | Affiche une fenêtre popup (« surgissante ») quand la souris passe sur un lien, permettant de nombreuses fonctions | Préférences > Gadgets > Popups | Notice - Illustration |
[modifier] Fonctions destinées à l'administration
Fonction | Détails | Installation | Autres |
---|---|---|---|
Blocage Deluxe | Meilleurs boutons de blocage | obtenir('BlocageDeluxe'); | Illustration |
Suppression Deluxe | Motifs de suppression prédéfinis | Préférences > Gadgets > SuppressionDeluxe | Notice - Illustration |
Restauration Deluxe | Cocher rapidement les versions de l'historique à restaurer | obtenir('RestaurationDeluxe'); | Illustration |
Pages courtes optimisées | Rajout de quelques liens utiles dans Special:Shortpages | Préférences > Gadgets > OptimizedShort | |
Liens de Navigation | Rajout de liens utiles aux administrateurs dans le panneau de navigation | Préférences > Gadgets > NavigAdmin | Illustration |
Protection à la création | Permet aux admins d'empêcher automatiquement la recréation d'un article lors de la suppression. Plus utile depuis la création de nouvelles fonctionnalités dans MediaWiki. | Préférences > Gadgets > ProtectCreation |
[modifier] Personnalisation d'une fonction
La personnalisation d'une fonction se fait dans une autre fonction de votre script personnel. Cette fonction doit être ajoutée aux fonctions appelées après chargement de la page, en appelant la fonction addOnloadHook. Les paramètres modifiables peuvent être présents dans les notices d'utilisation.
Exemple :
obtenir('GoogleSearch'); function personnaliserGoogleSearch() { googlesearchPrefix = "fr"; } addOnloadHook( personnaliserGoogleSearch );
On peut créer une fonction de personnalisation par script utilisé, ou créer une seule fonction de personnalisation pour tous les scripts utilisés.
[modifier] Pour les développeurs
[modifier] Intégration
- Les fonctions sont dans des pages qui commencent par MediaWiki:Gadget- et se terminent par .js. Il faut l'extension .js (pour être compatible avec l'extension Gadgets), la liste complète de ces pages est donc accessible via Special:Prefixindex/MediaWiki:Gadget- (et choisissez celles qui se terminent par .js). Si vous n'êtes pas administrateur, vous pouvez demander l'insertion ou la modification d'un script sur WP:DIMS.
- Variables permettant de personnaliser la fonction :
- Elles sont déclarées hors de tout contexte (voir schéma ci-dessous).
- Elles ont un nom discriminatoire et préfixé par le nom de la fonction principale, ceci afin d'éviter les mélanges avec d'autres fonctions.
[modifier] Présentation préférentielle du code
- Les tabulations valent 8 caractères et l'indentation est propre.
- Les points-virgule en fin d'instructions devraient être mis de préférence.
- La balise source permet une meilleure lisibilité, cf. exemple
- Penser à catégoriser la page.
- Schéma type :
/** * Toto * * La fonction Toto ne sert à rien du tout * * Auteurs : * Date de dernière révision : */ // Documentation de la fonction Toto : // Il n'y en a pas //////////////////////ZONE PERSONNALISABLE////////////////////// var totoVariablePersonnalisable = 42; /////////////////FIN DE LA ZONE PERSONNALISABLE///////////////// function Toto() { var interne = false; // cette fonction ne sert à rien totoVariablePersonnalisable ++; interne = !interne; } addLoadEvent(Toto);
[modifier] Zone personnalisable
La zone personnalisable est signalée entre les deux lignes de commentaires suivantes :
//////////////////////ZONE PERSONNALISABLE//////////////////////
et
/////////////////FIN DE LA ZONE PERSONNALISABLE/////////////////
Cette zone ne doit contenir que des variables.
[modifier] Conseil
Pour plus de lisibilité, pour appliquer plusieurs méthodes à un même objet, on utilisera l'instruction "with (
" voir un exemple dans Blocage Deluxe.