Steve Frécinaux

Attributs de blocs dans Wiki2xhtml

Voici un patch qui permet de définir des attributs (lang, class) pour les éléments de type blocs (paragraphes, blocs de citations, etc.), avec Wiki2xhtml. J’ai utilisé la syntaxe proposée par Laurent Jouanneau pour son propre moteur WikiRenderer : entourer la liste d’attributs avec °°.

La fonctionnalité n’a pas vraiment d’intérêt dans le cadre d’une application comme DotClear (dans la mesure où vous avez la possibilité d’éditer vos billets avec la syntaxe wiki ou directement en HTML, au choix), et n’a donc pas retenu l’intérêt de son créateur, Olivier Meunier. Cependant elle peut avoir son utilité, si vous êtes un inconditionnel de la syntaxe Wiki (personne n’est parfait) ou si vous n’avez pas la possibilité d’utiliser directement du HTML (si vous utilisez un outil comme ChuWiki par exemple).

La modification est basée sur la version de Wiki2xhtml fournie avec Dotclear 1.2 bêta, c’est à dire la version 3.1d. Ce n’est pas du grand art, mais ça a le mérite de fonctionner. Voici les fichiers (le patch reprend les modifications apportées) :

Le patch rajoute une option active_blockattr qui activera, vous vous en doutez, la gestion de ces attributs de blocs. La syntaxe est la suivante : °°langue|citation|classes°° pour les blocs de citation (>), ou °°langue|classes°° pour les autres blocs, où langue est la langue du contenu du bloc, citation est l’URL du document d’où provient la citation, et classes est une classe CSS (ou une liste de classes , séparées par des espaces) qui doivent être appliquées sur le bloc. Un ou plusieurs attributs peuvent rester indéfinis.

Les attributs doivent être placés en tout début du contenu des blocs (première ligne, premier caractère). Exemples :

>°°fr|http://www.neokraft.net/sottises/wiki2xhtml/°° Wiki2xhtml est
> une classe PHP servant à transformer du texte écrit avec une
> syntaxe Wiki en XHTML valide.

°°en|centered°° This text is in written in English and will
probably be centered.

°°|post-info°° Ce texte est une information sur le billet et devrait
être stylé comme tel.

En espérant que ceci vous sera d’une quelconque utilité…