Outils pour utilisateurs

Outils du site


technique:linux:dokuwiki

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) .
technique/linux/dokuwiki.txt · Dernière modification : 2020/04/06 15:38 de 127.0.0.1