Steve Frécinaux

Propulsé par ChuWiki ?

Une question qui revient souvent est : Il indique qu’il utilise ChuWiki mais comment l’utilise-t-il ? Je ne vois pas de lien vers un éventuel wiki !. Et bien c’est simple, j’utilise ChuWiki pour éditer/mettre à jour facilement les parties du site les plus statiques, comme par exemple le pieds de page, ou la page de liens au complet.

Comment faire ? Facile (enfin, bof). Ouvrez le fichier sdk.php fourni avec ChuWiki 1.1 et séparez-le en deux fichiers. J’entends par là qu’il vous faut copier certaines fonctions et celles dont elles dépendent (y compris la lecture de la configuration) vers un autre fichier. Ces fonctions sont GetWikiContent, GetSpecialContent (optionnelle) et Render. Pour celles dont elles dépendent, je vous laisse trifouiller par vous même, ça ne devrait pas vous prendre trop de temps :). Incluez ensuite ce fichier dans le prepend.php de votre thème.

Ajoutez ensuite cette fonction dans votre fonctions.php :

function chuPage($pageName) {
   $content = GetWikiContent($pageName) . GetSpecialContent($pageName);
   echo Render($content);
}

Update: pour bien faire il faudrait “synchroniser” les deux syntaxes wiki (Chu et DotClear). La façon la plus simple de faire cela est de supprimer les lignes de sdk.php important les deux interpréteurs propres au script, et de les remplacer par un import du fichier dotclear/inc/classes/class.wiki2xhtml.php.

Voilà, il ne vous reste plus qu’à prier pour ne pas avoir de conflits de noms,
corriger les quelques bugs qui se présentent, et alors vous pourrez utiliser
directement la fonction chuPage dans vos templates ! Le concept est celui-ci
vous créez une page Exemple dans votre « wiki d’administration » et vous pouvez ensuite l’inclure dans votre template DotClear via <?php chuPage('Exemple'); ?>.

Vous voulez faire ça plus simplement ? C’est simple (hihi), insistez auprès de l’auteur de ChuWiki pour qu’il englobe le tout dans une classe et qu’il utilise des chemins absolus pour les fichiers qu’il inclus (deux « ennuis » que j’ai colmatés dans ma propre copie) pour la prochaine release de son bébé ;)