Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2008-03-15 21:42:51

philotropes
Membre
Inscription : 2007-11-04

Supprimer la balise "pre" (texte préformaté) de la syntaxe wiki

Si vous avez autorisez la syntaxe wiki dans les commentaires, vous avez sûrement rencontré le problème suivant: des utilisateurs non avertis commencent leurs lignes par des espaces, sans savoir que cela transforme leur texte en "texte préformaté" (balise <pre>).

Non seulement le texte préformaté n'est pas joli, mais dans certaines CSS (la plupart?) quand le texte préformaté est long (un paragraphe), il sort de la colonne et le navigateur met une barre de défilément dans le commentaire!

Ce problème m'ennuyait d'autant plus que sur mon blog on ne parle pas de code, et la fonction préformatée ne sert donc à rien. Je voulais donc la supprimer mais je n'ai pas trouvé sur les forums comment le faire. En fait, dotclear prévoit une option pour cela (merci Olivier!), voici comment l'utiliser.

La méthode ci-dessous peut s'appliquer, avec les modifications appropriés, pour désactiver les autres balises de la syntaxe Wiki.

Pour supprimer l'option "texte préformaté" de la syntaxe dans les commentaires:

1. Modifier la classe wiki2xhtmlComment

Ouvrez /inc/classes/class.wiki2xhtml.php. Dans la section "#Wiki2html pour les commentaires", trouvez la ligne:

$this->setOpt('active_pre',1);

Et remplacez le 1 par un 0.

Attention: le code ci-dessus apparaît au début du fichier, dans la section "class wiki2xhtml extends wiki2xhtmlBasic". Ce n'est pas la ligne qu'il faut modifier! En effet celle-ci concerne les options pour la syntaxe wiki de l'édition des billets. La ligne à modifier est plus bas, dans la section "class wiki2xhtmlComment extends wiki2xhtmlBasic", qui concerne la syntaxe wiki des commentaires.

L'étape 1 suffit à désactiver les balises "pre" de la syntaxe wiki des commentaires. Si vous avez une barre Wiki pour vos commentaires, le bouton correspondant devient inutile, autant le supprimer:

2. Supprimer le bouton "pre" de votre theme

Ouvrir themes\VOTRETHEME\prepend.php. Cherchez la ligne:

  tb.btPre('".str_replace("'","\'",__('Preformated text'))."');

Et commentez-là pour la désactiver, autrement dit ajoutez // au début de la ligne:

 // tb.btPre('".str_replace("'","\'",__('Preformated text'))."');

Et c'est fait.

Remarques

La modification n'a que des avantages, à mon avis. La grande majorité des utilisateurs ne connaissent pas "<pre>", mais beaucoup sont tentés de mettre des espaces en début de lignes, pour faire des alinéas, ou en copiant/collant d'autres textes, etc. Et la balise <code> (@@...@@ en wiki) reste disponible pour remplacer <pre>.

La même méthode peut s'appliquer pour désactiver les autres balises de la syntaxe wiki et les boutons correspondants pour les commentaires.

Vous pouvez aussi manipuler les options de la classe "wiki2html" pour désactiver certaines fonctionnalités wiki de l'édition des billets. Mais là je n'ai pas regardé quel fichier modifier pour changer la "WikiToolbar" de l'éditeur de billet - quelqu'un sait-il où elle se trouve?

Hors ligne

#2 2008-03-15 22:03:49

annso
Responsable de la machine à Twix
Lieu : Lyon
Inscription : 2006-03-05
Site Web

Re : Supprimer la balise "pre" (texte préformaté) de la syntaxe wiki

aaah, merci c'est magique! J'avais déjà repéré ce problème (balises <pre> qui apparaissaient), mais je ne savais pas du tout d'ou il venait!!
Par contre, je n'ai pas mis en place ta solution, mais plutôt désactivé le wiki des commentaires (a vrai dire, je ne savais même pas qu'il était activé, et de toute façon a part un ou 2 énergumènes, aucun ne sait parler wiki).

merci!

Hors ligne

#3 2008-03-15 23:11:15

philotropes
Membre
Inscription : 2007-11-04

Re : Supprimer la balise "pre" (texte préformaté) de la syntaxe wiki

Eh ben dans mon expérience quelques commentateurs savent utiliser le wiki, notamment... les autres blogueurs! D'autant qu'avec la barre ceux qui sont un peu futés comprennent vite. Et puis quand certains le font, d'autres en veulent autant et cherchent comment faire, etc. (Quoi de mieux que les italiques ou le gras pour ce faire entendre!)

A ce sujet, il serait pratique de pouvoir faire apparaître le popup d'aide Wiki à partir du formulaire des commentaires. En l'état les éditeurs du blog y ont droit, mais pas les commentateurs! Il serait pourtant idéal en lien sur "Ce blog accepte la syntaxe wiki pour les commentaires"...

Hors ligne

#4 2008-03-15 23:45:44

brol
Membre
Inscription : 2005-10-16

Re : Supprimer la balise "pre" (texte préformaté) de la syntaxe wiki

installe la wikibarre pour les comm et le tour est joué ;-)

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map