[spip-dev] r16864 - spip/ecrire/inc

Mille mercis.
Est-ce possible de le reporter sur 2.1 ?
PatV

Cette correction permet de gérer les paragraphes successifs mais pas les intertitres. Pour un intertitre on obtient :

<h3 class="h3 spip">Title in English</h3>
<p></p>

Y a-t-il une raison qui empêcherait, lorsqu'il y a plusieurs paragraphes, de tout encadrer par un div avec l'attribut de langue approprié plutôt que d'ajouter un span à chaque paragraphe ?

Cordialement

Joseph

Il faut le coder.
Pour choisir entre le span et le div, cela nécessite d'analyser le contenu du multi pour décider si il sera en block ou inline, avec tous les cas particuliers que cela comporte (raccourcis, blocs html etc ...).

Toute proposition, accompagnée de tests autant que possible, est bienvenue.
Cédric

Cette réponse me fait penser à un code déjà existant :

http://core.spip.org/projects/export/repository/entry/spip/ecrire/inc/texte.php#L120

Pat

Re...
pas possible pour la 2.1.6 ?
Pat

Au moment où le traitement des blocs multi est effectué, les raccourcis typographiques ne sont pas encore traités.

Il existe une solution simple (si elle convient je ferai une proposition de patch) qui consiste à tester simplement la présence d'un saut de paragraphe. Si un saut de paragraphe est présent dans le bloc multi, alors on encadre avec un div, sinon on encadre avec un span.

Ce fonctionnement est analogue à celui du raccourci <code> qui fait le même type de test pour ajouter ou non un div englobant. Il a le mérite d'être facile à comprendre pour un rédacteur et d'être cohérent avec d'autres raccourcis de SPIP.

Une autre solution, plus lourde en terme de traitement et à coder, consiste à traiter une première fois les raccourcis typographiques pour voir si le multi (une fois traité) contient des balises block et ajouter le cas échéant un div englobant à la place d'un span.

Dans les deux cas, on ne fait plus de traitement ligne à ligne du bloc multi mais un traitement global.

La première, la plus simple, pose-t-elle problème ?
Si oui, peut alors envisager la seconde ?

Cordialement

Joseph

Attention, dans code il ne s'agit pas de paragraphes, mais de retour à la ligne, le contenu de code étant justement non interprété (pas de raccourcis rendus ni de html etc ...)

Typiquement, le cas que tu donnais, avec un {{{ }}} dans un multi, ne serait pas pris en compte dans ce cas.

Cédric

Ok,
je vais essayer de creuser la question et de faire une proposition (probablement pas avant dix jours vu mon programme de travail professionnel très chargé en ce moment).

Cordialement

Joseph

Juste pour dire que je viens de poster un message qui s’intéresse particulièrement aux traitements effectués sur les blocs multi (dans le cadre de la génération d’urls multilingues pour les mots clefs). Un parallèle peut-être intéressant à faire ?

Plus de détails sur carnet spip-contrib

Pierre-Jean