Geekitude

Geekeries en tout genres

Outils pour utilisateurs

Outils du site


archives:info:logiciels:doku:vector
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>";
archives/info/logiciels/doku/vector.txt · Dernière modification : 2018/05/03 10:35 de 127.0.0.1