Table des matières
Le modèle Vector
Raison de l'abandon
Le design de ce modèle est sympa, large et moderne (volontairement proche du look de Mediawiki, trop peut-être). Je l'ai utilisé un bon moment avant de revenir au modèle de base, principalement pour m'approcher d'un des crédos de Dokuwiki: Keep it simple.
Les modifications proposées ci-dessous dans les fichiers sous “…lib/tpl/vector” ne seront pas conservées en cas de mise à jour de Vector.
Trop de sécurité dans Vector
Certains fichiers .htaccess dont le but est de bloquer l'accès à certains fichiers du modèle (surtout aux robots) l'empêchent, dans certaines configurations, de fonctionner correctement (typiquement, certains éléments graphiques comme le bouton W3C est bloqué). Une note de l'auteur dans ces fichiers indique clairement qu'en cas de problèmes, il suffit de les supprimer et qu'il n'y aura pas de conséquences graves pour la sécurité.
Les 2 fichiers potentiellement gênants se trouvent respectivement dans les dossiers suivants “…/lib/tpl/vector/” et “…/lib/tpl/vector/user/”.
Personnaliser le modèle Vector
Ajouter la gestion de logos par Namespace
Pour rendre Vector capable d'utiliser un logo par Namespace, il faut là encore modifier le fichier “…/lib/tpl/vector/main.php” et remplacer les lignes entre “ <!– start logo –>” et “ <!– end logo –>” par celles-ci :
<!-- start logo --> <div id="p-logo"> <?php //include namespace or userdefined or default logo $namespacelogo=str_replace(":", "_", $INFO['namespace']); echo "<a href=\"".wl()."\" "; if (file_exists(tpl_incdir()."user/logo_".$namespacelogo.".png")){ //namespace png echo "style=\"background-image:url(".tpl_basedir()."user/logo_".$namespacelogo.".png);\""; }elseif (file_exists(tpl_incdir()."user/logo_".$namespacelogo.".gif")){ //namespace gif echo "style=\"background-image:url(".tpl_basedir()."user/logo_".$namespacelogo.".gif);\""; }elseif (file_exists(tpl_incdir()."user/logo_".$namespacelogo.".jpg")){ //namespace jpg echo "style=\"background-image:url(".tpl_basedir()."user/logo_".$namespacelogo.".jpg);\""; }elseif (file_exists(tpl_incdir()."user/logo.png")){ //user defined PNG echo "style=\"background-image:url(".tpl_basedir()."user/logo.png);\""; }elseif (file_exists(tpl_incdir()."user/logo.gif")){ //user defined GIF echo "style=\"background-image:url(".tpl_basedir()."user/logo.gif);\""; }elseif (file_exists(tpl_incdir()."user/logo.jpg")){ //user defined JPG echo "style=\"background-image:url(".tpl_basedir()."user/logo.jpg);\""; }else{ //default echo "style=\"background-image:url(".tpl_basedir()."static/3rd/dokuwiki/logo.png);\""; } echo " accesskey=\"h\" title=\"[ALT+H]\"></a>\n"; ?> </div> <!-- end logo -->
Il suffira ensuite de coller les logos (toute image de 128*128 pixels au format PNG, GIF ou JPG) dans le dossier “…/lib/tpl/vector/user” en respectant le format de nom “logo_<namespace>.<extension>”. On peut procéder de la même manière pour les sous espaces de nom avec “logo_<namespace1>_<namespace2>…<extension>”, par exemple pour l'espace de noms :info:doku : “logo_info_doku.png”.
Améliorer la visibilité des titres
Cette modification devrait normalement être faite dans le fichier “…/vector/user/screen.css” et donc être protégée des mise à jour mais cela ne fonctionne pas .
Pour faire ressortir les titres de premier niveau, et améliorer très largement la lisibilité des pages, il suffit de les mettre en gras en ajoutant ces lignes à la fin du fichier “…/vector/static/css/screen.css” :
div#content .dokuwiki h1 { font-weight: bold; }
Adaptation au plugin UserHomePage
Pour que Vector affiche correctement le lien vers l'espace de nom de l'utilisateur, voici comment procéder :
- pour la valeur Si oui, utilisez ':namespace:' comme pages racines : des options de [Vector], indiquer la même chose que l'espace de nom indiqué pour l'option Namespace under which user namespaces are created du plugin [UserHomePage] en l'encadrant par “:” avant et après
Les modifications faites dans le fichiers “…/vector/main.php” ne seront pas conservées en cas de mise à jour de Vector.
- dans le fichier “…/lib/tpl/vector/main.php”, supprimer les lignes suivantes :
echo " <li id=\"pt-userpage\">".(tpl_getConf("vector_userpage") ? html_wikilink(tpl_getConf("vector_userpage_ns").$loginname, hsc($loginname)) : hsc($loginname))."</li>";
et les remplacer par cette ligne :
echo " <li id=\"pt-userpage\">".html_wikilink(tpl_getConf("vector_userpage_ns").$loginname.":".tpl_getConf("vector_startpage"), hsc($loginname))."</li>";