CodeLoad/fr

CodeLoad est un chargeur personnalisable de code d'une page. Il permet aux communautés d'instaurer pour leurs utilisateurs un système pour activer le code donné (en JavaScript ou en CSS), d'une manière similaire à l'extension Gadgets. Sur un Wiki utilisant le script, les préférences utilisateur peuvent être configurées sur la page [ Special:BlankPage?blankspecial=CodeLoadPrefs]. Un lien vers la page est ajoutée à la boîte de dialogue des raccourcis et au menu "Mes outils" dans la barre d'outils en bas de l'écran.

Utilisation

 * 1) Ajouter la ligne sous la page MediaWiki:ImportJS de votre Wiki : dev:CodeLoad.js
 * 2) Les définitions de code doivent être établies par les administrateurs du Wiki en question. L'information sur cette configuration est décrite ci-dessous.

Configuration des définitions
Les définitions sont chargées depuis la page. Voici quelques examples de définitions, pouvant être copiées/collées pour servir de base vers la page des définitions de votre Wiki.

Elles sont configurées sous la variable JavaScript, qui doit être un objet avec un identifiant uniquement (cela peut être le nom du script tout simplement) pour chaque clé, et un objet (définition) comme valeur. Chaque définition peut contenir les clés suivantes :

Voici un example pour AjaxRC:

Groupes
Les définitions peuvent être, en option, triées par groupes sur la page des préférences. Elles sont configurées par la variable JavaScript, qui doit être un objet avec un identifiant unique par clé, et une chaîne de caractères (le nom du groupe, montré comme un en-tête sur la page de préférences) comme valeur de cet objet. Les liens Wikitexte peuvent être utilisés avec les noms des groupes.

Lorsqu'une définition d'un groupe est mise dans un identifiant existant déjà dans, il y sera alors ajouté. Toute définition sans groupe, ou avec un identifiant de groupe absent de, sera ajouté au groupe 'Autre'.

Articles
Le tableau des articles doit contenir les noms de pages d'un ou plusieurs page(s) CSS (finissant par ) et/ou JavaScript (finissant par  ). Ces pages peuvent être locales (stockées dans l'espace de nom MediaWiki) ou provenir de Dev Wiki. Les importations en dehors de ces deux provenances ne sont pas supportées. Les noms de pages ne doivent contenir aucune préfixe MediaWiki. Pour les importations provenant de Dev Wiki, il faut y ajouter le préfixe.

Préférences
Les préférences (si instaurées) doivent être un objet, et peut contenir les clés suivantes (toutes optionnelles):

L'objet des préférences peut aussi contenir des clés personnalisés pour les préférences de cette définition. Un identifiant de préférence devra être utilisé pour chaque clé, et un booléen, un nombre, ou une chaîne de caractère (valeur par défaut) comme valeur.

Les noms des préférences peuvent être configurées par la variable JavaScript, qui doit être un objet avec un identifiant de préférence pour chaque clé, et une chaîne de caractères (le nom instauré pour la préférence) comme valeur. Il est possible d'utiliser les liens Wikitexte dans les noms des préférences. Ils sont partagés à travers toutes les définitions, et si un nom est disponible, il sera utilisé sur la page des préférences au lieu de son identifiant.

Requis
Les requis (si instaurés) doivent être un objet, et contenir les clés suivantes (toutes optionnelles) :

Message d'introduction
Un message optionnel peut être configuré par la variable JavaScript, et sera montré sous le texte d'introduction par défaut. Il peut être utilisé par exemple pour donner plus d'informations sur les définitions disponibles, ou donner un lien vers une page contenant plus de détails à ce propos. Les liens Wikitexte peuvent aussi être utilisés dans ce message.

Utiliser les préférences gardées par CodeLoad-kept
Les préférences instaurées ou sauvées avec CodeLoad peuvent être accessibles en appelant la fonction  avec comme argument un identifiant de définition. C'est une méthode recommandée pour configurer les préférences de script globales. En prenant la défintion d'AjaxRC comme exemple, le code suivant instaurera la variable  avec les préférences utilisateur pour la définition. Les préférences utilisateur peuvent être accessibles par les propriétés de la variable.

requiresGlobalPrefs
Si  a la valeur true pour une défintion, les préférences de cette dernière seront exposées comme propriétés de l'objet global. Ceci est disponible pour permettre la configuration facile de scripts provenant de Dev Wiki à l'aide de CodeLoad. En prenant la définition d'AjaxRC ci-dessus comme exemple, le code suivant accède aux préférences utilisateur de la définition.

globalPrefNamespace
Si  a la valeur true pour une défintion et que   est une chaîne de caractères (cf  ), les préférences de cette définition seront ajoutées en un seul objet (espace de nom (namespace)) avec le nom , et seul cet objet sera exposé comme propriété de l'objet global. Cela peut être nécessaire pour certains scripts particuliers, selon la configuration de leurs préférences dans le script. En prenant la définition d'AjaxRC ci-dessus comme exemple, le code suivant accède aux préférences utilisateur de la définition.