En FrançaisEn AnglaisPersos
JeuxMegadrive
MegaCD32X |
La traduction des balises PmWiki est définie par un ensemble de règles; chaque règle fait une recherche sur une syntaxe spécifique dans le texte avec balises et remplace celui-ci par un autre texte. De manière interne, ceci est fait en utilisant la fonction PHP "preg_replace". Les règles sont ajoutées au moteur de traduction via la fonction de PmWiki Markup(), qui est définie comme Markup($name,$when,$pattern,$replace) ou Par exemple, le code qui crée la règle pour Markup("em","inline","/''(.*?)''/","<em>$1</em>"); Cette définition crée une règle appelée "em" qui sera exécutée avec les autres balises "inline", et la règle remplace tout texte entre deux paires de guillemets simples avec le même texte ($1) encadré par Les deux premiers paramètres de la fonction Markup() sont utilisés pour spécifier l'ordre dans laquelle les règles doivent s'appliquer. Le premier paramètre fournit un nom pour la règle -- " Le second paramètre dit que la règle doit être utilisée en même temps que les autres règles de balises "inline". PmWiki découpe la méthode de traduction en un certain nombre de phases: _begin début de la traduction fulltext la traduction est faite sur tout le texte split découpage du texte à balises en lignes directives exécution des directives inline balises 'inline' links conversion des [[liens]], liens-url, et MotsWiki block balises de blocs style manipulation du style _end fin de la traduction Donc, spécifier "inline" pour le second paramètre dit que cette règle doit être appliquée dans la même phase que les autres règles "inline". Si nous voulons une règle qui soit exécutée avec les directives -- c.a.d., avant que les règles 'inline' soient exécutées, nous aurions spécifié "directives" pour le second paramètre. Ici une règle pour le texte Markup("@@","inline","/@@(.*?)@@/","<code>$1</code>"); et pour une directive Markup("comment","directives","/\\[:comment .*?:\\]/",''); Ok, maintenant à propos de la règle pour Markup("strong","<em","/'''(.*?)'''/","<strong>$1</strong>"); Ceci crée un règle appelée "strong", et le second paramètre "<em" dit que cette règle doit être exécutée avant la règle "em" définie plus haut. Si nous voulons exécuter une chose après la règle "em", nous utilisons ">em" à la place. Donc, il est possible d'ajouter des règles à tout moment dans la séquence de traduction de balises de PmWiki, ceci d'une manière extensive. (En fait, les séquences "inline", "block", "directives", etc., sont justes des règles de positionnement utilisées pour donner une séquence générale pour les autres règles. Donc on peut utiliser "<inline" pour spécifier les règles qui doivent être exécutées avant les autres règles "inline".). Si vous voulez désactiver les balises disponibles, créez une ligne du genre : Markup("strong","<em"); L'absence de paramètres de syntaxe indique que vous voulez désactiver la balise. Les règles de balises par défaut de PmWiki sont définies dans le fichier scripts/stdmarkup.php. Pour voir la table de traduction complète pendant que le programme tourne, le module scripts/diag.php fournit " Les questions et mises à jour au sujet de cette page sont vivement appréciées, vous pouvez les envoyer à Pm?, pmwiki-users (en anglais). << Configurer les liens InterMap | Index doc admin | Styles Wiki personnalisés >> |