Bonjour,
Pour mon site j'ai mis en place ce wiki, très pratique et bien fait...
Seulement, il se pose un "problème" dans l'utilisation que nous en faisons, je m'explique :
Le site en question est la communauté francophone d'Opera et le wiki se trouve a cette adresse : http://www.opera-fr.com/wiki/
Le navigateur Opera permet de rajouter des boutons a la barre d'outils par l'intermédiaire de liens spécifiques dans les pages, ces liens commencent tous par : opera:/ et contiennent des | pour délimiter les options du bouton.
Seulement quand on fait un lien comme ca dans le wiki :
1) Il ajoute un point d'interogation devant opera:/
2) Les | sont considérés comme les séparateurs texte|url|langue...
Comment faire pour que quand un lien comme ca se présente (qui commence par "opera:/"), qu'il ne rajoute pas le point d'interrogation devant et qu'il ne considére pas les "|" comme les séparateurs syntaxiques ?
Je me doutes que cela se passe dans la classe wiki2xhtml, mais a quel niveau ?
Quelle partie modifier ?
Je vous remercie de m'aider car là, je suis un peu paumé...
Bod, le 2006-06-28 à 15:59
Intéressant, je ne connaissais pas cette fonctionnalité d'Opera.
Alors la solution est en 2 étapes :
- Pour utiliser le | sans qu'il soit considéré par la syntaxe wiki, il faut l'échapper avec un antislash et entrer \|
- Le ? placé devant l'URL est un bug de ChuWiki, merci de l'avoir trouvé :) Pour le corriger sur votre version, il va falloir aller modifier un tout petit peu les sources, ou attendre la nouvelle version.
La modification est la suivante : dans le fichier sdk.php, recherchez la ligne
$strHtmlContent = preg_replace('/href="\?(http:.*)"/', 'href="\1"', $strHtmlContent);
et remplacez là par
$strHtmlContent = preg_replace('/href="\?(\[a-z]+:.*)"/', 'href="\1"', $strHtmlContent);
J'ai testé chez moi, tout fonctionne correctement.
Bon wiki et merci d'avoir contribué à améliorer ChuWiki :)
Vincent, le 2006-06-28 à 17:11