Manuel:Etendre le balisage wiki
MediaWiki fournit un marquage standard du texte pouvant être facilement adapté. Les extensions peuvent modifier le balisage du wiki de plusieurs manières :
- en ajoutant des types de balises standard – l'approche classique du marquage MediaWiki personnalisé est d'ajouter un nouveau marquage qui ressemble aux balises XML déjà embarquées dans MediaWiki (
<tag>) , aux modèles ({{...}}), ou aux balises de liens ([[...]]). - en ajoutant des types de balises personnalisés – certaines extensions définissent de nouveaux types de balises.
- en modifiant fondamentalement l'analyseur syntaxique – quelques extensions essaient de modifier fondamentalement la stratégie d'analyse afin que d'autres langages de balisage puissent être utilisés à la place du marquage standard.
Ajouts aux types de balises standard
La manière la plus facile d'étendre le balisage d'un wiki est d'ajouter un type de balise standard en utilisant une de fonctionnalités suivantes.
Variables
Une variable appelle une fonction PHP qui renvoie une chaîne Wikitexte qui remplace la variable sur la page. Les variables sont habituellement utilisées pour injecter des informations système dans le marquage wiki (par exemple, l'heure actuelle ou la page courante).
Exemple de syntaxe :
{{VARIABLENAME}}
Pour définir une variable, voir Manual:Variables. Pour la liste des extensions qui définissent des variables personnalisées, voir Catégorie:Extensions de variables.
Fonctions d'analyse syntaxique
Tout comme les variables, une fonction d'analyse appelle une fonction PHP et renvoie une chaîne wikicode qui remplace la fonction d'analyse sur la page. A la différence des variables, une fonction d'analyse syntaxique peut passer des paramètres à la fonction PHP. Les fonctions d'analyse sont utilisées pour manipuler la génération du wikicode nécessitant une logique trop complexe ou trop perturbante pour être codée à l'aide de modèles.
Exemple de syntaxe :
{{#functionname: param1 | param2}}
Pour définir une fonction d'analyse syntaxique, voir Fonctions d'analyse. Pour la liste des extensions qui définissent des fonctions d'analyse syntaxique personnalisées, voir Catégorie:Extensions des fonctions de l'analyseur syntaxique.
Balises de l'analyseur syntaxique
A la différence des variables et des fonctions d'analyse qui génèrent du wikicode, les balises de l'analyseur génèrent du HTML.
Une balise de l'analyseur est une balise XML qui appelle une fonction PHP, analyse son contenu, et génère le code HTML qui remplace la balise et son contenu sur la page.
Les balises de l'analyseur peuvent aussi passer des arguments à la fonction PHP.
Par exemple, <syntaxhighlight> est une balise de l'analyseur définie par Extension:SyntaxHighlight.
Exemple de syntaxe :
<tagname param1name="param1value" param2name="param2value"> some text </tagname>
Pour définir une balise d'analyse syntaxique, voir Extensions de balise. Pour la liste des extensions qui définissent des balises d'analyse syntaxique personnalisées, voir Catégorie:Extensions de balises.
Sélecteurs de comportement
Un sélecteur de comportement appelle une fonction PHP, mais, contrairement à d'autres méthodes d'extension de balisage du wiki, ces sélecteurs ne produisent généralement aucun contenu.
A la place, ils modifient le comportement de la page ou définissent une propriété de page.
Par exemple, ajouter __NOTOC__ à une page va masquer la table des matières.
Exemple de syntaxe :
__SWITCHNAME__
Pour définir un sélecteur de comportement, voir Manuel:Mots Magiques. Pour la liste des extensions qui définissent des sélecteurs de comportement personnalisés, voir Aide:Mots magiques.
Balisage des liens
La personnalisation du balisage des liens modifient la manière dont Mediawiki interprète les liens internes.
Exemple de syntaxe :
[[ ... ]]
Pour la liste des extensions qui définissent le balisage des liens personnalisés, voir Catégorie:Extension de balises de liens.
Ajouter de nouveaux types de balises
Pour ajouter de nouveaux types de balises ou pour changer toute la stratégie du marquage, les développeurs doivent ajouter des fonctions à l'un ou à plusieurs des analyseurs existants et aux accroches de sortie des pages :
- Catégorie:Extensions liées à ParserBeforeStrip s'appuie sur l'accroche ParserBeforeStrip. (supprimé en 1.36)
- Catégorie:Extensions liées à ParserBeforeInternalParse s'appuie sur l'accroche ParserBeforeInternalParse.
- Catégorie:Extensions liées à OutputPageBeforeHTML s'appuie sur l'accroche OutputPageBeforeHTML.
- Catégorie:Extensions liées à ParserAfterTidy s'appuie sur l'accroche ParserAfterTidy.
Voir aussi Catégorie:Extensions par utilisation d'accroche.
Voir aussi
- Extensions - fournit les instructions générales pour trouver, installer et écrire des extensions.