Introduction

Il y a quelques mois je vous parlais de ma découverte d’Hugo, le moteur de site statique. J’en profitais pour faire la transition de mon blog vers Hugo. Mais aussi d’outils spécifiques comme hugo-portal, un portail web de ma fabrication.

Vous l’aurez compris, dans la continuité de ma démarche, je me devais de passer également mon wiki à ce formidable outil qu’est Hugo. Ceci pour simplifier ma chaîne de publication Web et n’avoir qu’un outil à maintenir.

Nous verrons ici les étapes successives par lesquelles je suis passé pour obtenir un premier résultat :

  • la recherche d’un outil de migration de Dokuwiki vers Hugo
  • la recherche d’un thème Hugo spécialisé wiki
  • mes impressions sur cette migration

Ombrelle figée vue du dessus dont les contours et tout le reste du décor tournent sans fin en laissant une trace éphémère

Photo trouvée sur le profil de silkeremmery sur flickr sous licence cc by 2.0.

Outil de migration de Dokuwiki → Hugo

Généralement, la première chose à faire quand on veut migrer depuis un outil vers un autre, c’est de regarder dans la documentation de ce dernier s’il existe un script de migration. Et Ô bonheur : Hugo propose une page complète sur les outils de migration. Et plus encore : un script pour Dokuwiki existe.

En revanche, j’ai tenté de l’utiliser, et j’ai dû modifier le script dokuwiki-to-hugo. Dans les grandes lignes j’ai :

  • ajouté le script main.py à la racine du projet (sinon ça ne fonctionnait pas comme la documentation le signalait) sans cela je n’obtenais aucun résultat
  • ajouté la prise en compte du mot clé “this” qui semble apparaître à plusieurs endroit de mon Dokuwki. Mot clé utilisé pour la création de liens

Avec ce script, on simplifie grandement la tâche de migration, car il suffit :

  • de récupérer son dossier Dokuwiki contenant les pages, par exemple wiki/data/pages
  • de le copier quelque part sur notre disque local. Par exemple : /home/olivier/wiki
  • de lancer notre script dokuwiki-to-hugo (situé dans le répertoire /home/olivier/dokuwiki-to-hugo/) de la manière suivante :
python3 main.py -d /home/olivier/wiki/data/pages

Vous obtenez un dossier /home/olivier/dokuwiki-to-hugo/output/home/od/projets/wiki/data/pages qui contient des fichiers Markdown compatibles avec Hugo. La grande classe !

Il ne reste plus qu’à ajouter un beau thème pour obtenir un wiki tout neuf !

Un thème wiki pour Hugo

Dans le même ordre d’idée que le paragraphe précédent, quand on cherche quelque chose de particulier sur un outil, on regarde dans la documentation et/ou sur le site web. Ça tombe bien, Hugo propose une galerie de thèmes.

Mon problème : Je ne vois rien qui soit dans l’esprit d’un wiki. Il n’y a même pas de tag wiki dans la liste des thèmes. Évidemment il y a bien un tag documentation dans la liste de thèmes Hugo, mais ça ne ressemble pas vraiment à mon habitude de wiki.

Je me suis donc improvisé créateur de thème Hugo avec les contraintes non-moins compliquées :

  • de rendre le site responsive un maximum : qu’il soit utilisable sur mon mobile et sur mon desktop
  • de rester le plus simple possible, dans l’esprit de Dokuwiki, voire assez proche
  • de ne pas y passer énormément de temps
  • de partager mon travail. Et qui sait, le proposer sur la galerie de thèmes Hugo ?

J’ai donc créé le thème Adam & Eve pour Hugo. Il peut se résumer à 2 types d’écran :

  • la page d’accueil, qui affiche le titre de notre wiki et contient des liens vers du contenu qu’on veut partager
  • une page spécifique, qui propose un retour vers l’accueil, un sommaire du contenu de notre page et le contenu de notre page

Voici un aperçu d’une page spécifique sur laquelle on remarque notamment des encarts jaune et rouge que j’ai repris de certains modules Dokuwiki :

Page décrivant Minetest sur ma version en cours de migration

La page d’accueil ressemble plutôt à :

Page contenant des encarts jaunes et rouges que j’ai repris de certains modules Dokuwiki

Et sous sa version mobile :

Page d’accueil du wiki apparaissant sur un téléphone mobile

Ce thème ne ment pas, il reste dans son plus simple apparât : celui d’Adam et Eve.

Mon ressenti sur cette migration

Je ne vais pas le cacher, je reste mitigé sur la migration d’un Dockuwiki vers Hugo. Pour plusieurs raisons :

  • suivant la taille de son wiki précédent, la migration prendra plus de temps. Je parle bien sûr de la relecture et le peaufinage. Dans mon cas : 375+ pages à vérifier. J’y suis encore à l’écriture de ces lignes…
  • l’outil de migration n’est pas parfait, il ne gère pas les tableaux, certains morceaux de code qu’on a mis sur nos pages, la conversion des liens est loin d’être parfaite et parfois ça cafouille quand il y a plusieurs signes égal à la suite

Mais soyons positif : vous partez avec une épine de moins que moi, à savoir le thème wiki ! Soyez heureux de pouvoir enfin profiter d’un si merveilleux thème wiki pour votre outil 😇.

Conclusion

De nos jours, faut pas rêver, peu d’outils font les choses à votre place :

  • j’ai dû compléter le script de migration Dokuwiki vers Hugo pour assurer les particularités de mon wiki
  • j’ai dû créer mon propre thème wiki pour avoir quelque chose qui corresponde à mes attentes d’un wiki responsive simple
  • j’ai passé - et passe encore - un temps fou à peaufiner et traiter mes anciennes pages pour avoir quelque chose de potable sur la nouvelle mouture

C’est un bilan très mitigé. Mais j’ai migré mon Dokuwiki vers Hugo 😄. C’est le plus important. Maintenant que j’ai Hugo pour mon blog, et pour mon wiki, je vais pouvoir passer pas mal de temps sur le contenu. Au bienfait des visiteurs !

EDIT : à la mi-août 2017 (mais en ayant passé peu de temps dessus), la migration n’est toujours pas complète : je remanie sans cesse la structure et le contenu de mes pages wiki. Il sera donc réellement en ligne tardivement cette année !