J’avais commencé à utiliser ikiwiki pour générer ce site.
Puis, j’ai changé d’avis, et j’ai migré vers txt2site, mais c’est surtout parce que j’utilise txt2tags par ailleurs depuis longtemps, et qu’il était pénible d’utiliser plusieurs langages de marquage (surtout lors de copier/coller d’une page dans une autre). C’est néanmoins un bon outil pour ceux qui n’ont pas ce problème.
Installation
Cette partie explique comment installer simplement un répertoire servant de racine à ikiwiki et utilisant mercurial comme système de gestion de version.
On ne traite pas ici de la partie wiki proprement dite, c’est-à-dire que tout ce qui permet d'éditer en ligne à partir d’un navigateur web. Ces fonctionalités sont désactivées dans cette installation.
Installer l’outil
Il faut d’abord installer l’outil bien sûr. Sous ubuntu, ça se fait simplement par :
$ sudo apt-get install ikiwiki
Setup
La procèdure automatique est la plus simple :
$ ikiwiki --setup /etc/ikiwiki/auto.setup
Il faut répondre à quelques questions :
Nom du wiki : Notes
Système de contrôle de version utilisé : mercurial
Identifiant de l'administrateur (utilisateur du wiki ou openid) : anne
warning: do not know how to set up the mercurial_wrapper hook!
Ce warning n’est pas important : on s’en occupera manuellement plus loin.
Après quelques messages d’information, il demande un mot de passe pour administrer le wiki, et c’est bon.
Comme on ne veut pas laisser tout en vrac à la racine, on déplace ce qui a été créé :
$ mv ~/Notes.setup .ikiwiki/Notes.setup
$ mv Notes/ hg
Ici, on laisse le répertoire cible créé par défaut dans public_html/Notes
car ça nous convient, mais on peut aussi le déplacer si on le souhaite.
On édite ensuite .ikiwiki/Notes.setup
pour mettre à jour :
srcdir => /home/anne/hg/Notes
- on vérifie que
destdir => '/home/anne/public_html/Notes
nous convient.
On modifie également :
adminemail
pour mettre la bonne adresse mail ;- on commente
cgiurl
etcgi_wrapper
car on ne veut pas utiliser le wiki, en fait ;
Puis, pour prendre les modifications en compte :
$ ikiwiki -setup ~/.ikiwiki/Notes.setup
et on peut vérifier que le site a été correctement créé.
Du côté des sources, on remarque que le répertoire .ikiwiki
est automatiquement mis dans .hgignore
car il ne doit pas être
dans le système de gestion de version.
Mise à jour automatique
On a vu lors de l’installation qu’il y avait un message :
warning: do not know how to set up the mercurial_wrapper hook!
On va donc s’en occuper.
L’idée est de configurer mercurial
pour que le site soit automatiquement mis à jour
quand on transfert des nouvelles données. Pour cela, il faut éditer
hg/Notes/.hg/hgrc
et ajouter par exemple :
[hooks]
changegroup = ikiwiki --setup /home/anne/.ikiwiki/Notes.setup --post-commit
Ainsi, à chaque fois que l’on fait un hg push
, on appelle ikiwiki --setup
pour mettre le site à jour.
On peut avoir besoin de faire des mises à jour avant d’appeler ikiwiki
.
Le plus simple est alors de faire un Makefile
avec une cible ikiwiki
qui construit tout ce qu’il faut avant la mise à jour du site.
Mais pour pouvoir utiliser le Makefile
dans le dépot,
il faut d’abord récupérer les fichiers transférés. On va donc avoir :
[hooks]
changegroup = hg update ; make ikiwiki
avec par exemple un Makefile
qui compile la doc avant la mise à jour :
ikiwiki : doc.pdf
ikiwiki --setup /home/anne/.ikiwiki/Notes.setup --post-commit
doc.pdf : doc.tex
rubber --pdf $<
Et après
Pour l’instant, bien sûr, il est vide. Et il faut donc passer à l'édition.
Edition
Après la phase d’installation, on peut commencer à ajouter du contenu dans son site.
Mercurial
Notre site ikiwiki
a été installé
pour utiliser mercurial.
On va donc récupérer les sources depuis n’importe où dans le monde
en faisant :
$ hg clone ssh://anne@ssh.pacalet.fr//home/anne/hg/Notes
On a alors un dépot local dans le répertoire Notes
.
On commence ensuite par éditer un premier fichier :
$ echo "coucou" > index.mdwn
et on le transfère :
$ hg add index.mdwn
$ hg commit -m "premier essai"
$ hg push
et normalement, le site distant a du être mis à jour, ce qu’on peut contrôler en allant voir la page sur le web.
Le but n’est pas ici d’expliquer comment
utiliser [[mercurial | 🎶0048_mercurial]] :
on voit le principe. Et si tout va bien, à chaque push
, le site sera mis à
jour.
Fichiers ikiwiki
Par défaut,
les fichiers traités par ikiwiki
sont ceux qui ont l’extension .mdwn
.
La syntaxe utilisée est le
Markdown
à laquelle s’ajoute des
formattage spécifiques .
On peut aussi utiliser des directives pour générer certains contenus particuliers.
Les pages sont produites en utilisant des //templates// (voir ci-dessous).
Templates
Voir template.
Style
Voir template.
Plugins
ikiwiki propose un nombre impressionnant de plugins .
Pour activer un greffon, il faut éditer ~/.ikiwiki/Notes.setup
et l’ajouter dans add_plugins
.
Un certain nombre de greffons sont regroupés dans
goodstuff
qui est présent par défaut dans le //setup// standard.
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit