couleurs_spip version 2

Mise à jour et amélioration du plugin présenté à l’article Des couleurs dans le texte V2... (et des span) permettant d’enrichir la typographie de groupes de mots en insérant des balises dans le texte des articles (ou le chapeau, ou descriptif,…)

Les nouveautés :
-  Possibilité d’imbriquer les span
-  Écriture simplifiée pour la balise de fermeture
-  Redéfinition de la feuille de style du plugin par une feuille du même nom placée dans /squelettes/css/

Mettre certains mots en couleur

Pour mettre certains mots du texte en couleur ou modifier leur taille ou toute autre caractéristique typographique, il suffit d’entourer ceux-ci de balises. Par exemple :
Rouge : <cs_rouge>le texte en rouge</cs>
Orange : <cs_orange>le texte en orange</cs>
xxl : <cs_xxl>le texte en plus gros</cs>

le principe est <cs_code>le texte à mettre en couleur ou autre</cs>.
Les couleurs disponibles d’origine pour les styles définis par défaut étant :
noir, marron, rouge, orange, jaune, vert, bleu,violet, gris, blanc.
les tailles disponibles par défaut étant : xxxl, xxl, xl, l, s, xs, xxs

Il convient cependant de ne pas abuser de cette possibilité pour ne pas détruire la cohérence graphique et typographique du site. Ceci est utilisable dans tous les éléments des articles, sauf les titres...

span imbriqués

Il est possible d’imbriquer les balises. Par exemple :
<cs_rouge>cette partie de phrase est en rouge <cs_vert>ceci en vert</cs> et de nouveau en rouge</cs>
Produira : cette partie de phrase est en rouge ceci en vert et de nouveau en rouge (simulé ici par du gras et de l’italique).

Notes :
-  Ne pas oublier de fermer les balises et de ne l’appliquer qu’à l’intérieur du même paragraphe (différence de comportement là dessus entre IE et les navigateurs intelligents).
-  Il est important d’avoir autant de balises de fermeture (</cs>) que de balises d’ouverture.
-  Les balises sont fermées dans l’ordre inverse où elles ont été ouvertes.
-  Lors de l’imbrication le span le plus « interne » hérite des propriétés non redéfinies du premier (dans l’exemple précèdent si le style rouge est souligné alors la partie en vert le sera aussi sauf si on a redéfini cette propriété pour le vert (text-decoration : none ;)

Définir ses styles personnels

Pour cela il suffit de créer dans son dossier squelettes un dossier « css » et d’y placer une copie de la feuille de style du plugin que l’on modifiera ensuite en supprimant ou ajoutant des styles. Elle devra s’appeler couleurs_spip.css.

Les noms des styles doivent tous commencer par « cs_ »

span.cs_nb {
	color: white;
	background-color: black; }

définit par exemple un style de style « noir au blanc » (caractères en blanc sur fond noir).

Ce style sera alors utilisé dans le texte de l’article (ou du chapeau ou de tout autre élément) par <cs_nb>le texte écrit en noir au blanc</cs>

Rappelons que le bon goût en matière de typo doit rester de mise :-)) dans les couleurs et les effets, et que leur utilisation doit rester parcimonieuse.

Disponible sur la zone.

Discussion

13 discussions

  • 3

    Bonjour à tous et d’avance merci pour votre temps de lecture.
    Je suis entrain de travailler sur mon site web qui est bilingue (français/anglais). Je ne gère pas les langues avec le système proposé car je veux économiser la gestion des images qui devient ingérable lorsqu’on passe en multilingue... doublon des logo etc...
    J’ai donc fais des modèles qui ajoutent des drapeaux et je traduis mon texte dans le même article...
    les visiteurs voient les deux langues à la fois...
    Ainsi, je suis à la recherche d’une solution pour modifier la couleur d’un texte : j’ai essayé de faire deux modèles l’un dans lequel je commence un « span » avec une classe qui écrit d’une couleur différente, l’autre dans lequel je ferme le « span ».

    Mais lors de l’affichage, ma fermeture de span « saute » (il a été éliminé), ce n’est pas un problème d’appel car j’ai ajouté un texte ... pour tracer... il apparaît... le second modèle est donc bien appelé..

    Ce module semble avoir ce genre de principe... quelqu’un sait t-il comment ce plugin se débrouille pour faire ça... ? Ce sont des modèles ?

    • Ce plugin ne convient il pas tel quel à tes besoins ?

      Puisque tu demandes, le code est public, le lien figure plus haut dans la colonne de droite de cette page, et tu verras là comment ce plugin fait. Il n’y a qu’un seul fichier php : https://git.spip.net/spip-contrib-extensions/couleurs_spip/src/branch/master/couleurs_spip_pipelines.php

      Il y a d’autres plugins qui définissent de nouvelles règles textwheel pour définir de nouveaux raccourcis, et qui pourraient t’inspirer. Par exemple « Dame Blanche » https://plugins.spip.net/dame.html?compatible_spip=%2A mais il y en a d’autres (cherche « textwheel »).

    • Avant tout, tu devrais regarder par ici :
      Multilang

      Un seul article pour plusieurs langues.
      De fait, les documents et logo ne sont pas doublonnés.
      Tu complètes avec
      Menu de langues sous forme de liens

      et le visiteur peut passer d’un article français à sa version anglaise et inversement.

    • Merci beaucoup pour ces liens précieux... je suis une ancienne utilisatrice qui a commencé à utiliser spip il y a plus de 10 ans... et je viens tout juste de migrer sous spip 4... je ne suis pas bien au courant de toutes les évolutions qui ont eu lieux étant donné que je m’étais éloigné. Donc, un grand merci à vous pour ces conseils... la possibilité de gérer deux langues avec les même images étaient vraiment un gros problème il y a 10 ans.. très bonne nouvelle que vous m’apprenez ici !!

      Et j’avais pas essayé le plugin des couleurs.. je l’ai téléchargé ce matin pour essayer de comprendre comment il fonctionne en effet. avant de le poser sur le site en ligne... mais je m’étais dis que des fois, d’autres personnes avaient peut être des idées pour faire autrement...

      J’ai bien fait de poser la question. Ces informations vont être précieuses je pense !

      Encore un grand merci à vous tous !

    Répondre à ce message

  • 1

    Bonjour,
    bug sur la version 3.2.1 du plugin sur SPIP 3.2.11 (sous différentes versions PHP) avec tous les autres plugins désactivés.
    Erreur remontée : Warning : imageftbbox() : Could not find/open font in Website\plugins-dist\filtres_images\filtres\images_typo.php on line 577

    • Pour info, je suis en localhost quand je rencontre le bug, et ce bug ne semble pas se reproduire sur mon site distant.

    Répondre à ce message

  • 1

    Bonjour,
    Plugin très utile, mais qui manque de traduction en Anglais.
    J’en ai fait une pour moi, et je cherche maintenant à la partager pour les autres utilisateurs. Merci de m’indiquer comment.
    Et merci pour ce petit plugin tout sympa !

    • tu peux me l’envoyer par mail (monprenomsanstrema at monprenomsanstrema.net), je mettrais sur le serveur (et je vais programmer pour que le plugin soit sur trad.spip.net)

    Répondre à ce message

  • 1

    Bonjour,
    Je viens de passer un site en spip3.1.0 et j’utilise le plugin couleur_spip. En site public le plugin fonctionne correctement dans les textes déjà écrits avant la mise à jour spip, mais lorsque je veux écrire un nouvel article ou reprendre un ancien, l’outil pour choisir les couleurs n’apparaît plus dans la barre d’outils de rédaction d’article.
    Difficile pour les rédacteurs de taper [fond_vert][jaune]mon texte[/jaune][/fond_vert].
    Quelqu’un pour m’aider svp ?

    Chti47

    • Je viens de résoudre mon problème. Apparemment il y aurait un petit conflit entre le plugin couleur_spip et le plugin enluminure typographique. Après avoir désactivé enluminure typographique, et l’avoir réactivé, couleur_spip affichait de nouveau les icones dans la barre d’outils . Est-ce du à un ordre d’activation des plugins ?

    Répondre à ce message

  • Bonjour,
    Il y a un bug si l’on utilise directement les balises cs : les balises de fin /cs ne sont pas remplacées par des /span, par conséquent la couleur se propage au delà de la balise de fin.

    • Texte de l’article spip :

    CROCHETS [rouge]texte rouge[/rouge] blablabla [violet]texte violet[/violet] blablabla [orange]texte orange[/orange] blablabla 
    
    BALISES CS <cs_rouge>texte rouge</cs> blablabla <cs_violet>texte violet</cs> blablabla <cs_orange>texte orange</cs> blablabla

    • Code html produit :

    <p>CROCHETS <span class="cs_red cs_rouge">texte rouge</span> blablabla <span class="cs_purple cs_violet">texte violet</span> blablabla <span class="cs_orange cs_orange">texte orange</span> blablabla</p>
    
    <p>BALISES CS <span class="cs_red cs_rouge">texte rouge</cs> blablabla <span class="cs_purple cs_violet">texte violet</cs> blablabla <span class="cs_orange cs_orange">texte orange</cs> blablabla</p>

    • Résultat
    Avec les crochets, aucun problème, avec les balises cs, les « blablabla » qui suivent le texte en couleur sont également colorés.

    Il semble que l’erreur soit corrigée si l’on ajoute à la ligne 115 de couleurs_spip_pipelines.php (function couleurs_spip_liste_remplacements(), juste avant le de fin du « if (is_null($rempl)) ») l’instruction :
    $rempl["</cs>"] = "</span>";

    Pensez-vous que cette correction puisse être apportée ? Merci d’avance de votre réponse.

    Version du pluggin utilisée : 3.1.0 SVN [84314]
    Testé en DTD XHTML 1.0 Strict et XHTML 1.0 Transitional, sans aucun autre pluggin activé.

    Répondre à ce message

  • 2
    Cedman

    Comment faire pour que la balise CS_xxx Soit reconnue dans les titre et sous-titre

    • a. Définir dans mes fonction la fonction couleurs_spip définie dans cet article.
      b. Dans les squelettes utiliser alors [... (#TITRE|couleurs_spip)...]
      Ça devrait le faire.

    • Bonjour,

      Sur un site en SPIP3 j’ai ajouté un fichier mes_fonctions.php dans squelettes/ qui contient :

      /** filtre de colorisation du texte |couleurs_spip **/
      function couleurs_spip($letexte) {
      	$letexte = preg_replace('<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+Jmx0O2NzXyguKikmZ3Q7KC4qKSZsdDsvY3NfXDEmZ3Q7PC9jb2RlPg=="></span>iU', '<span class="cs_$1">$2</span>', $letexte);
      	return $letexte;
      }

      pour pouvoir coloriser les champs titre & descriptif des documents
      et j’ai ajouté le filtre |couleurs_spip dans mon squelette.

      Ça marche pas j’ai le message d’erreur :
      1 Filtre couleurs_spip non défini

      C’est la première fois que j’essaie cette colorisation, peut-être me plantais-je ??

      dd

    Répondre à ce message

  • 1

    Bonjour, sous SPIP 2.1.14 je suis surpris car dans l’aperçu de mon article j’ai bien els couleurs suite au code mais plus qd les articles sont affichés sur le site.

    Ex : http://31.fo-snudi.fr/article597.html où j’ai mis « Si l’on » (début de l’article) en orange mais il continue d’apparaitre noir :/

    Quelqu’un a une piste ?

    • Quel est le squelette utilisé ? Est-ce qu’avec le squelette-dist cela fonctionne (pour tester rebaptiser toto le dossier des squelettes perso). Si dans ce cas cela fonctionne c’est probablement dû au fait que #INSERT_HEAD n’est pas présent dans les entêtes du squelette, entre les balises

      et

      . Voir ici pour plus d’explications http://www.spip.net/fr_article4629.html et voir sur les squelettes de la dist pour exemple.
      Normal alors que cela fonctionne dans la partie privée et pas dans la partie publique.

    Répondre à ce message

  • 3

    Bonjour,

    Je suis sous spip 3.11, et chez moi cela ne fonctionne pas, le text reste de la même couleur et quand je regarde le code source je vois

    <cs_rouge>le texte en rouge</cs>

    d’ou peut venir le problème

    Merci

    • Et en vidant le cache, ça donne quoi ?

    • Bonjour,

      Même en vidant le cache cela ne fonction pas

    • Bonjour
      Les balises sont-elles insérées dans le texte d’un article ou son titre. dans ce dernier cas je ne sais si cela fonctionne.

      Vérifier que le lien vers la feuille de style couleurs_spip.css figure bien dans le head de la page. Sinon revoir l’installation du plugin. est-il bien actif ?

      D’autre part pour spip3 ce plugin a été repris par Cédric pour l’unifier avec la lame tout en couleur du Couteau si j’ai bien compris voir la doc de la lame. Que donnent l’utilisation des codes du style [rouge]le texte[/rouge] ?

    Répondre à ce message

  • 1

    Merci pour ce plugin !

    Il y a t-il un moyen de mettre des boutons dans la barre typo pour insérer encore plus facilement les balises ?

    Merci d’avance de vos réponses.

    • utilise le couteau suisse avec l’option tout en couleur et tu auras l’option dans la barre typographique

    Répondre à ce message

  • 3

    Salut
    J’aimerais faire évoluer ce plugin, en rajoutant par exemple le pipeline insert_head_css qui permet d’insérer la css au bon endroit dans le head et de la compresser avec les autres. Ca serait possible de le passer en svn ?

    Et du coup ne serait-il pas judicieux de lui changer de nom et de rubrique. Car il n’est pas que lié à la possibilité d’ajout de couleurs. Vu qu’il ajoute des span et qu’on fait ce qu’on veut ensuite avec la css...

    Faut juste trouver un autre nom...

    • Pas de soucis. Je le mets sur la zone dès que je trouve un peu de temps.

      Changer de nom pourquoi pas, mais la doc est déjà en place et à priori la principale utilisation est celle de mettre certains mots en couleur non ? span_spip c’est pas très beau... Enfin les goûts et les couleurs...

    • span_spip est pas du tout beau... mais c’est bien ce que fait le plugin (et je m’en sert, pas pour juste mettre des couleurs, mais des effets mettant en évidence certaines parties du texte...)
      on pourrait aller plus loin en remarquant qu’il ajoute des SPANs avec CLASSe... (ou « Class in Span » pour être précis, et là on retombe sur nos pattes avec le préfixe « cs »)  ;-D

    • Pour la rubrique, c’est bien un assistant de rédaction (comme les raccourcis typographiques de Spip, permettre aux rédacteurs qui ne connaissent pas forcément HTML, de faire <span class="ma_classe-bidule">mon texte à mettre en valeur</span> en faisant <cs_ma_classe-bidule>mon texte à mettre en valeur</cs> tout simplement  :-P)
      Et le logo cadre très bien avec !

      Petite doléance de puriste en passant : ce serait bien (mieux) qu’on puisse écrire aussi bien cs rouge (un ou plusieurs espaces) que cs_rouge (avec underscore, pour la compatibilité ascendante)...

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom