Table des matières
Configuration de Dokuwiki
Numérotation des titres
La meilleure solution que j'aie trouvé est l'approche par CSS, quoiqu'il en existe aussi une par plugin.
La solution proposée par chi
est élégante et simple à mettre en œuvre. De plus, elle s'applique séparément à l'affichage et à l'impression (selon qu'on renseigne print.css ou non).
Voici ce qu'elle dit :
Numérotation des titres par CSS uniquement
Voici l'approche CSS pure pour la numérotation des titres (voir the numberedheadings plugin pour une approche différente).
Le code CSS qui suit numérote tous les titres de votre contenu wiki, ainsi que ceux de la table des matières.
Placez-le soit dans l'un des CSS de votre thème (template) (ainsi qu'à nouveau dans le print.css
pour avoir la numérotation lors de l'impression) ou dans un userstyle.css
dans votre répertoire ./conf
:
div.dokuwiki .page {counter-reset: level1;} div.dokuwiki div.toc:before, div.dokuwiki div.toc:after {counter-reset: level1; content: "";} div.dokuwiki .page h1, div.dokuwiki ul.toc li.level1 {counter-reset: level2;} div.dokuwiki .page h2, div.dokuwiki ul.toc li.level2 {counter-reset: level3;} div.dokuwiki .page h3, div.dokuwiki ul.toc li.level3 {counter-reset: level4;} div.dokuwiki .page h4, div.dokuwiki ul.toc li.level4 {counter-reset: level5;} div.dokuwiki .page h5, div.dokuwiki ul.toc li.level5 {} div.dokuwiki .page h1:before, div.dokuwiki ul.toc li.level1 a:before { content: counter(level1) " "; counter-increment: level1; } div.dokuwiki .page h2:before, div.dokuwiki ul.toc li.level2 a:before { content: counter(level1) "." counter(level2) " "; counter-increment: level2; } div.dokuwiki .page h3:before, div.dokuwiki ul.toc li.level3 a:before { content: counter(level1) "." counter(level2) "." counter(level3) " "; counter-increment: level3; } div.dokuwiki .page h4:before, div.dokuwiki ul.toc li.level4 a:before { content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) " "; counter-increment: level4; } div.dokuwiki .page h5:before, div.dokuwiki ul.toc li.level5 a:before { content: counter(level1) "." counter(level2) "." counter(level3) "." counter(level4) "." counter(level5) " "; counter-increment: level5; }
Cela fonctionne avec le thème default. Pour d'autres, chaque occurrence de .page
doit être remplacée par le nom de la “boîte contenant les contenus” (probablement “#content
” ou équivalent).
Inconvénients
- fonctionne seulement avec les navigateurs « modernes » (pas IE, j'ai testé FF et Opera sur Win ; Safari est porobable) ;
- pas de restriction à certaines pages (pour l'instant - cela peut être fait par un autre greffon).
Testé
dokucms
: fonctionne. Il faut juste supprimer toutes les occurrences de .page ( — bersyl91 2010/05/03 11:29) .