Table des matières
Index et lettres accentuées
La fonction html_index(), qui génère l'index d'un site, le construit avec les noms des sous-dossiers du dossier data/pages. Or ces noms ne comportent ni espace, ni lettres accentuées, ce qui peut être gênant pour des sites en langue française (par contre pour les noms des pages, DokuWiki peut utiliser le premier titre de niveau H1).
Le petit patch suivant permet d'obtenir un index où les dossiers sont désignés par un intitulé pouvant contenir espaces et lettres accentuées. Ce patch est basé sur la version 2006-03-09 de DokuWiki.
Modifications des scripts PHP
Il faut modifier les scripts search.php et html.php qui se trouvent dans le dossier inc.
Modification de la fonction search_index de search.php
Modifier ainsi, dans la fonction search_index, la construction du tableau $data (autour de la ligne 100) :
$data[]=array( 'id' => $id, //===================================== // gestion des intitulés 'intitule' => intitule($file,$id), //===================================== 'type' => $type, 'level' => $lvl, 'open' => $return );
Ajouter ensuite (par exemple juste avant la fonction search_index) la fonction suivante :
//===================================== // gestion des intitulés function intitule($f,$i) { global $conf; include($conf['datadir'].'/t_intitule.inc'); $intitule= $t_intitule[$f]; if ($intitule=="") $intitule=$i; return $intitule; } //=========================
Modification de la fonction html_list_index de html.php
Modifier ainsi, dans la fonction html_list_index, la ligne qui génère les intitulés de l'index :
//===================================== // gestion des intitulés //$base = ':'.$item['id']; $base = ':'.$item['intitule']; //=====================================
Tableau des intitulés
Il reste à créer, et à maintenir, un tableau associatif des intitulés de dossiers. Pour cela créer à la racine du dossier /data/pages un fichier nommé t_intitule.inc dans lequel est défini un tableau t_intitule :
<?php $t_intitule=array( '/playground' => 'Bac à sable', '/wiki' => 'La documentation', '/dossier1/dossier12/dossier123' => 'Le dossier' ); ?>
Le tableau associe au chemin d'accès à un dossier l'intitulé que l'on veut voir apparaître dans l'index. Il n'est pas obligatoire d'affecter ainsi un intitulé à chaque dossier, si il n'y a pas d'association c'est le nom du dossier qui apparaîtra dans l'index.
Credits
— ML 2006-06-29