SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 203 visiteurs en ce moment

Accueil > Rédaction > Assistants de rédaction > Archives Assistants de rédaction > Retours à la ligne fidèles à l’article rédigé

Retours à la ligne fidèles à l’article rédigé

2 août 2006 – par Jujubre – 14 commentaires

3 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

SPIP a un formatage particulier des articles :
il ne permet pas d’afficher les sauts de ligne tels qu’ils sont insérés lors de la rédaction de l’article.
En effet, un saut de ligne simple ne change rien, un double induit la creation d’un nouveau paragraphe.

L’astuce de SPIP est d’ajouter un _ (tiret bas suivit d’un espace).
Pour l’utilisateur lambda, un tel procédé n’est pas pratique, et conduit la majeure du temps à son oubli, et donc à un article completement défiguré.

En rajoutant 3 lignes de code dans ecrire/inc_texte.php3, les sauts de lignes sont retrouvés :)

il suffit de rechercher la ligne

et de remplacer par :

preg_replace("/\n([\w\d])/", "\n<br />\\1", $letexte);
est l’élément clé : il signifie : « remplacer par un saut de ligne html tous les sauts de ligne dont la ligne suivante commence par un caractère alphanumérique »

$letexte = preg_replace("@^ ?<br />@", "", $letexte);
retire le saut de ligne en debut d’article.

Jujubre

Dernière modification de cette page le 4 février 2011

Retour en haut de la page

Vos commentaires

  • Le 27 avril 2011 à 05:06, par frdm En réponse à : Retours à la ligne fidèles à l’article rédigé

    Un article sur le présent site existe désormais pour le plugin « Retour simple » qui a été élaboré en partant de la contribution de Jujubre « Retours à la ligne fidèles à l’article rédigé ». Voir Alinéas : « Retour simple », qui met en oeuvre finalement le filtre |post_autobr présent dans Spip..

    Répondre à ce message

  • Le 4 février 2011 à 04:07, par frdm En réponse à : Retours à la ligne fidèles à l’article rédigé

    Voici l’adaptation des instructions à SPIP 2.1.8

    En rajoutant 3 lignes de code dans

    ecrire/inc/texte.php

    les sauts de lignes sont retrouvés :)

    il suffit de rechercher la ligne

    1. $letexte = preg_replace('@^\n<br />@S', '', $letexte);

    (rédaction du code dans SPIP 2.1.8)

    et de la remplacer par :

    1. $letexte = trim($letexte);
    2. $letexte = preg_replace("/\n([\w\d])/", "\n<br />\\1", $letexte);
    3. $letexte = preg_replace("@^ ?<br />@", "", $letexte);
    4. $letexte = "\n".$letexte;

    Télécharger

    Répondre à ce message

  • Le 5 août 2006 à 14:21, par Thierry Gagnon En réponse à : Retours à la ligne fidèles à l’article rédigé

    Merci ! Je me demande s’il serait possible de faire cette intervention sous la forme d’un filtre qui serait appliqué avant |propre ? C’est à essayer...

    • Le 10 août 2006 à 23:40, par yannick069 En réponse à : Retours à la ligne fidèles à l’article rédigé

      Bien sûr que tu peux en faire un filtre.
      Tu as tout ce qu’il faut pour ^^

      Il suffit d’ajouter une fonction dans ton fichier mes_fonctions.php (que tu crées le cas échéant dans ton répertoire squelettes) :

      /*****************************************************************************/
      /* Formate un texte comme dans partie privée (sauts de ligne).
      /*****************************************************************************/
      function sauts_ligne($letexte='') {
       if($letexte) {
         $letexte = trim($letexte);
         $letexte = preg_replace("/\n([\w\d])/", "\n<br />\\1", $letexte);
         $letexte = preg_replace("@^ ?<br />@", "", $letexte);
         $letexte = "\n".$letexte;
         return $letexte;
       } else return('');
      }

      Ensuite dans tes fichiers html tu appelles ton texte à afficher avec ce filtre de cette manière :

      [(#TEXTE*|sauts_ligne|propre)]

      Et voilà le tour est joué ;)

      Yan

    • Le 10 août 2006 à 23:50, par yannick069 En réponse à : Retours à la ligne fidèles à l’article rédigé

      J’ai posté un peu vite, le filtre affichera bien le texte comme voulu ds la partie publique mais le problème restera le même pour la partie privée. La seule solution que je vois étant en effet de modifier directement dans écrire/inc_texte.php

    • Le 31 janvier 2008 à 15:43, par chryjs En réponse à : Retours à la ligne fidèles à l’article rédigé

      Il y a beaucoup de points dans ton message. Je vais essayer de répondre au fur et à mesure :

      • « Faut-il créer un plugin ? » : je n’en suis pas sûr mais comme il faut ajouter une tâche comme indiqué au paragraphe 1 , il me semble que cela n’est possible qu’en réalisant un plugin. [1]
      • Pourquoi « montravail » ? Un petit manque au niveau de l’explication de cette doc (que je vais actualiser donc). C’est un nom « générique » que j’ai choisi pour faire cet exemple. On peut l’appeler comme on veut à condition de bien reprendre le même nom dans le nom de la tâche (cf paragraphe 1) ex : tachebidule -> cron_tachebidule / genie_tachebidule .
      • A quoi sert « spip_log... » ? A rien ! C’est juste un exemple de tâche réalisée. En l’occurence j’ai choisi de générer une ligne de log. A toi de programmer (en php) ce que tu veux que la tâche réalise !

      Je prend bonne note de tes remarques et vais faire quelques ajouts pour l’améliorer :)

      [1L’autre choix serait de l’ajouter dans ecrire/ ce que je ne recommande pas.

    Répondre à ce message

  • Le 9 janvier 2008 à 14:19, par zerax En réponse à : Autre astuce sans Forker le core

    Voici le code qui fonctionne dans mes_fonctions.php :
    je l’ai testé sur SPIP 1.9.2c et c’est cencer foncitonner dans toutes les versions contenant le pipeline pre_typo

    la regexp ne prend pas en compte par exemple si on a 2 raccourcis de liens qui se suivent(aprés un retour a la ligne.

    Bon ya forcement a améliorer la regexp mais ca au moins le mérite de fonctionner...

    function sautligne_pre_typo($texte){
     $texte = trim($texte);
     $texte = preg_replace("@([\w\d])([\n])([\w\d])@S", "$2_ $3", $texte);
     $texte = preg_replace("@^ ?<br />@", "", $texte);

     $texte = "\n".$texte;
     return $texte;
    }

    function ajout_pipelines_perso($texte){
     $spip_pipeline['pre_typo'][]="sautligne_pre_typo";
     return $texte;
    }

    $spip_pipeline['insert_head'][]="ajout_pipelines_perso";

    Répondre à ce message

  • Le 20 août 2007 à 16:18, par christophe En réponse à : astuce plus clean pour la 1.92b

    modification du noyau : ajouter dans ecrire/inc/texte.php après la ligne 482 les 2 lignes suivantes :

    $letexte = trim($letexte) ;
    $letexte = post_autobr($letexte) ;

    nb : exploitation de la fct « post_autobr » définie dans ecrire/inc/filtre.php

    permet de résoudre le pb sur le frontoffice comme sur le backoffice

    Répondre à ce message

  • Le 13 septembre 2006 à 12:20, par Jujubre En réponse à : Retours à la ligne fidèles à l’article rédigé

    J’ai fait un plugin qui evitera d’avoir amodifier le noyau de spip.
    Ce plugin attend sa v alidation, et je mettrai un lien vers l’article depuis ici.

    Répondre à ce message

  • Le 20 août 2006 à 12:46, par di2 En réponse à : Retours à la ligne fidèles à l’article rédigé

    merci !
     ;o)

    Répondre à ce message

  • Le 12 août 2006 à 01:44, par fulvio En réponse à : Retours à la ligne fidèles à l’article rédigé

    vraiment utile, merci ! Ca évite de mettre des br pour forcer le retour... comprends pas pourquoi il n’y avait rien à ce propos avant.

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

  • La Fabrique

    20 avril 2012 – 316 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Enluminures typographiques V3

    25 juillet 2009 – 186 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)

  • Refonte de l’identité graphique

    10 juillet – 36 commentaires

    Lors de la SPIP Party 2017 à Toulouse, un nouveau contributeur est venu nous présenter son travail sur une refonte du logo. Au delà de la refonte du logo, c’est une toute nouvelle identité graphique pour SPIP que Jordan nous propose. Voici une (...)

Ça spipe par là