Sommaire du Couteau Suisse

Publié le mercredi  29 juin 2011
Mis a jour le dimanche  4 septembre 2011
par  Steph
popularité : 9%

Les sommaires des Intertitres hiérarchisés ne fonctionnant plus correctement depuis Spip 2.1.8 (incompatibilité avec les Enluminures typographiques), j’ai finalement décidé d’utiliser la lame sommaire automatique" du Couteau Suisse.

Mais évidemment, je souhaitais l’adapter au design de ce site…

Vous trouverez ci-dessous les explications des modifications que j’ai apportées.

Installation et configuration de la lame  

- une fois dans le plugin Couteau Suisse, basculer la lame "Sommaire automatique" pour qu’elle soit active

  • descendre la page jusqu’à arriver au menu de configuration
  • voici les paramètres que j’ai choisis :
    • profondeur retenue : 3
    • Largeur du sommaire : 60 caractères
    • Calculer de jolies ancres : oui
    • Création automatique du sommaire : non (dans l’immédiat je préfère garder la main sur ce paramètre, mais je changerai peut-être d’avis plus tard)
    • Activer la balise #CS_SOMMAIRE : non

Modifier l’aspect graphique du sommaire  

Enlever l’image en forme de coin  

- on se base sur le fichier /couteau_suisse/fonds/sommaire.html
- recopiez ce fichier que vous modifierez comme suit
- ou téléchargez le fichier ci-dessous dans une nouvelle fenêtre et enregistrez-le sous le nom "sommaire.html"
- placer le résultat dans le dossier squelettes/fonds (le créer si besoin)

  1. <!-- surcharge du fichier /couteau_suisse/fonds/sommaire.html pour le site Steph-en-Bretagne.com
  2. modif pour enlever l'image représentant un coin :
  3. à la ligne 21 :
  4. cs_sommaire_[(#ENV*{fond_css})]_fond
  5. remplacé par :
  6. cs_sommaire_sans_fond
  7. -->
  8. [(#REM)
  9.         Ce fond est surchargeable dans vos squelettes.
  10.         Utilisation d'un cookie pour stocker l'etat du sommaire au moment de quitter la page.
  11.  
  12.         Champs disponibles :
  13.                 fond_css : 'avec' ou 'sans'
  14.                 sommaire : les liens du sommaire en <li></li>
  15.         Indispensable :
  16.                 <div class="cs_sommaire_titre_XXX"> et <ul> places a la suite l'un de l'autre
  17.         Par defaut : sommaire deplie
  18.         Pour un sommaire replie a la premiere visite de la page :
  19.                 - ajouter la classe 'cs_sommaire_replie' a : <div class="cs_sommaire_titre_XXX">
  20.                 - ajouter la classe 'cs_sommaire_invisible' a : <ul>
  21. ]<div class="cs_sommaire cs_sommaire_sans_fond" id="outil_sommaire">
  22.   <div class="cs_sommaire_inner">
  23.     <div class="cs_sommaire_titre_[(#ENV*{fond_css})]_fond">&nbsp; <:couteau:sommaire_titre:> &nbsp;</div>
  24.     <ul>
  25.       [(#ENV*{sommaire})]
  26.     </ul>
  27.   </div>
  28. </div>

Personnaliser les CSS  

On utilise :
- base : plugins/couteau_suisse/outils/sommaire.css.html
on y prendra les lignes que l’on veut changer pour les coller dans
- notre feuille perso.css.html qui se trouve dans le dossier /squelettes/css

Voici ce que j’ai fait pour ce site :

  1. /*  --------------------------------------------------------------------          */
  2. /* Personnalisation de la lame sommaire du couteau suisse */
  3. /* /plugins/auto/couteau_suisse/outils/sommaire.css.html     */
  4. /*  --------------------------------------------------------------------         */
  5. .cs_sommaire {
  6.         margin-right:20% !important;
  7.         margin-left:20% !important;
  8.         margin-bottom:50px !important;
  9.         width:60% !important;
  10.         white-space:nowrap !important;
  11. }
  12. .cs_sommaire_avec_fond {
  13.         border: 1px solid rgb(211, 134, 16) !important;
  14. }
  15. .cs_sommaire_sans_fond {
  16.         border: thin solid rgb(211, 134, 16) !important;
  17.         background-color: #F9F9F9 !important;
  18. }
  19. .cs_sommaire_inner>ul>li>a {
  20.         font-weight: bold;      font-size: 115%
  21. }
  22. div.cs_sommaire_titre_avec_fond, div.cs_sommaire_titre_sans_fond {
  23.         color : #195472 !important;
  24. }

Analyse :

.cs_sommaire {
        margin-right:20% !important;
        margin-left:20% !important;
        margin-bottom:50px !important;
        width:60% !important;
        white-space:nowrap !important;
}

Sert à centrer le sommaire (écrire float:center !important; ne marche pas). Ceci est basé sur un calcul de l’espace occupé par les 60 caractères choisis pour la Largeur du sommaire et le reste de l’espace disponible divisé par 2 (les 2 marges) :

.. 60% : largeur (width) du sommaire
+ 20% : marge de droite
+ 20% : marge de gauche
= 100% de l’espace total.

white-space:nowrap : empêche le texte de revenir à la ligne (et place des …)

margin-bottom : pour que l’espace sous le sommaire, c’est-à-dire avant le début de l’article proprement dit soit plus important.

.cs_sommaire_avec_fond {
       border: 1px solid rgb(211, 134, 16) !important;
}
.cs_sommaire_sans_fond {
       border: thin solid rgb(211, 134, 16) !important;
       background-color: #F9F9F9 !important;
}

Sert à changer les couleurs du fond et de la bordure.

.cs_sommaire_inner>ul>li>a {
        font-weight: bold;        font-size: 115%       
}

Permet d’obtenir que les titres de niveau 1 soient présenté en plus grand et gras que les autres.

div.cs_sommaire_titre_avec_fond, div.cs_sommaire_titre_sans_fond {
        color : #195472 !important;
}

Pour changer la couleur du mot "Sommaire".

Pour mettre des puces avant chaque élément du sommaire  

Je n’ai pas choisi cette option, mais si vous souhaitez que chaque élément de la liste des titres dans le sommaire soit précédé d’une puce ronde, vous pouvez ajouter dans perso.css.html les lignes suivantes, à placer après celles concernant .cs_sommaire_sans_fond {...} :

div.cs_sommaire ul li {
       list-style-type: disc !important;
       margin-left: 1em !important;
}

ex :

• Titre 1

• Titre 2

Autres modifications  

Placer les "retour sommaire" à la fin des intertitres  

Je ne sais pas pour vous, mais pour moi, un petit PNG - 2.7 ko en début de titre, ça me fait penser à une puce. Du coup, avant de lire la doc du Couteau Suisse, je n’aurai jamais pensé à cliquer dessus pour revenir au sommaire.

Je me suis donc dit qu’il suffisait de les mettre à la fin (même si c’est moins joli).

On utilise :
- base : plugins/couteau_suisse/outils/sommaire_fonction.php ;
on y prendra les lignes que l’on veut changer pour les coller dans
- notre feuille mes_options.php (à créer si nécessaire) qui doit se trouver dans le dossier /config

  1. <?php
  2. // Surchage de la lame "sommaire automatique" du couteau suisse
  3. // Permet de placer les puces de retour au sommaire après les intertitres plutôt qu'avant
  4. function sommaire_lien_retour($self, $titre) {
  5.   static $haut = NULL;
  6.   if(!isset($haut))
  7.     $haut = '<a title="'._T('couteau:sommaire_titre').'" href="'.$self.'#outil_sommaire" class="sommaire_ancre">&nbsp;</a>';
  8.    return $titre . '&nbsp;' . $haut;
  9. }

Le '&nbsp;' placé dans la dernière ligne ci-dessus permet de décoller la puce de retour au sommaire du texte lui-même, c’est plus joli.

Si vous ne voulez pas de retour au sommaire du tout

  1. <?php
  2. // Surchage de la lame "sommaire automatique" du couteau suisse
  3. // Permet de supprimer les puces de retour au sommaire
  4. function sommaire_lien_retour($self, $titre) {
  5.   return $titre;
  6. }

Résultat avant / après modification des fichiers  

PNG - 24.1 ko

Pb lié au remplacement des Intertitres hiérarchisés  

Les ancres et liens générés par ce sommaire sont calculés différemment de ceux des Intertitres hiérarchisés. Il me va donc falloir (et à vous aussi si vous utilisiez auparavant les Intertitres) repasser toutes mes pages et tous les liens internes de ce site … joli travail en perspective :-D


Agenda

<<

2013

>>

<<

Mai

>>

Aujourd'hui

LuMaMeJeVeSaDi
293012345
6789101112
13141516171819
20212223242526
272829303112
Aucun évènement à venir les 12 prochains mois

Annonces

Annonce nouvelle mise à jour de SPIP

Après la 2.1.8, puis la 2.1.9, une nouvelle mise à jour de sécurité est préconisée par SPIP.

La nouvelle version est la 2.1.10. A installer d’urgence !

Nous indiquons sur notre site comment "Effectuer une mise à jour de spip" : vous pouvez suivre le tuto, il marche !


Brèves

30 mars 2011 - nouvelle mise à jour de sécurité de SPIP

Après la 2.1.8, une nouvelle mise à jour de sécurité est préconisée par SPIP. La nouvelle version (...)