[spip-dev] Notes de bas de page en v1.6pr2

Bonjour,

Il semble y avoir un problème dans le traitement des notes de bas de page.
Lorsque j'observe le code HTML affiché dans le navigateur, je vois que (la
première exceptée), les notes sont incluses dans une balise <p
class="spip_note">...</p>.
Mais pour la première note, la balise ouvrante <p class="spip_note"> est
absente, alors que la balise fermante </p> est présente.

J'ai vu qu'un message posté en octobre 2002 décrivait probablement le même
phénomène:
http://listes.rezo.net/archives/spip/2002-10/msg01314.html

A+

Yves Grenier

Hum, oui, c'est un vieux bug, qui vient de l'idée qu'une note toute seule ne
devrait pas créer de paragraphe. Mais c'est absurde, en fait ; si on a
besoin d'un comportement très précis des notes quand il n'y en a qu'une, il
faut écrire un filtre spécifique.

Je vais essayer de corriger cela pour la 1.6 ; merci.

Il semble y avoir un problème dans le traitement des notes de bas de page.
Lorsque j'observe le code HTML affiché dans le navigateur, je vois que (la
première exceptée), les notes sont incluses dans une balise <p
class="spip_note">...</p>.
Mais pour la première note, la balise ouvrante <p class="spip_note"> est
absente, alors que la balise fermante </p> est présente.

J'ai vu qu'un message posté en octobre 2002 décrivait probablement le même
phénomène:
http://listes.rezo.net/archives/spip/2002-10/msg01314.html

-- Fil

Hum, oui, c'est un vieux bug, qui vient de l'idée qu'une note toute seule ne
devrait pas créer de paragraphe. Mais c'est absurde, en fait ; si on a
besoin d'un comportement très précis des notes quand il n'y en a qu'une, il
faut écrire un filtre spécifique.

En fait, la cohérence serait de faire ça dans propre() : mettre des <p
class="spip">...</p> même quand il n'y a qu'un seul paragraphe. On avait
fait le choix inverse pour pouvoir faire propre("juste un mot") sans que ça
le mette dans un paragraphe... mais les implications sont, notamment, les
problèmes avec le html moderne et les feuilles de style.

On peut peut-être changer d'avis, d'autant que la distinction propre() /
typo() est maintenant complète, je pense, dans l'espace privé aussi bien que
dans le site public ?

Pour schématiser, la proposition serait "Si un élément peut comporter
plusieurs paragraphes, il en comprte au moins un (par opposition à un bout
de texte flottant)".

-- Fil

Impec, j'avais créé un filtre perso pour ça : encore un truc en plus en
moins :wink:

-- Roustoubi

Non, le choix a été fait de ne pas créer de paragraphe "parasite" quand il n'y a pas de changement de paragraphe dans le texte. Ce qui permet un contrÎle graphique nettement plus fin. Mais bon, si à l'usage ce genre de finasserie ne sert pas, pourquoi pas.

En fait, la cohérence serait de faire ça dans propre() : mettre des <p
class="spip">...</p> même quand il n'y a qu'un seul paragraphe. On avait
fait le choix inverse pour pouvoir faire propre("juste un mot") sans que ça
le mette dans un paragraphe... mais les implications sont, notamment, les
problèmes avec le html moderne et les feuilles de style.

Par ailleurs, on pourrait régler dans la foulée le cas de l'intertitre et du
<br> pas compliants. Pour l'aspect "sale mais historique" de l'intertitre
ancienne manière (&nsp;<h3> ... </h3><br>), il suffirait de documenter la
chose et de conseiller aux gens de mettre un $debut_intertitre dans
mes_fonctions.php3 ? -- mais je pense qu'ARNO* va hurler :wink:

Bon, enfin, le patch est prêt, à vous de voir... certains trucs sont à
intégrer de toutes façons (le fait de ne pas mettre de <p...>...</p> autour
des intertitres) ; d'autres à discuter éventuellement (le ridicule <br />,
ou le fait de donner un debut_intertitre moins sale mais moins historique).

Du coup je ne l'envoie pas dans le CVS... et ça peut attendre la 1.7

-- Fil

Non, le choix a été fait de ne pas créer de paragraphe "parasite" quand il
n'y a pas de changement de paragraphe dans le texte. Ce qui permet un
contrôle graphique nettement plus fin. Mais bon, si à l'usage ce genre de
finasserie ne sert pas, pourquoi pas.

Je suis bien d'accord avec toi. Ce que je me dis, toutefois, c'est que
maintenant que les feuilles de style sont omniprésentes, le poids relatif
des avantages/inconvénients a peut-être changé, car :
1) le "contrôle nettement plus fin", on peut l'avoir avec un filtre pas
compliqué à écrire (on peut l'ajouter dans inc_filtres.php3) ;
2) tandis que le problème qui fait que le premier paragraphe n'est pas là,
il se pose à tous ceux qui utilisent des feuilles (de plus en plus de monde).

Ce qui est certain, c'est que si on fait le choix de basculer, on ne revient
pas en arrière par la suite :wink:

-- Fil

Hum, oui, c'est un vieux bug, qui vient de l'idée qu'une note toute
seule ne
devrait pas créer de paragraphe. Mais c'est absurde, en fait ; si on a
besoin d'un comportement très précis des notes quand il n'y en a qu'une,
il
faut écrire un filtre spécifique.

En fait, la cohérence serait de faire ça dans propre() : mettre des <p
class="spip">...</p> même quand il n'y a qu'un seul paragraphe. On avait
fait le choix inverse pour pouvoir faire propre("juste un mot") sans que
ça
le mette dans un paragraphe... mais les implications sont, notamment, les
problèmes avec le html moderne et les feuilles de style.

Je pense qu'on peut déjà corriger le "bug" pour les notes : contrairement
à un chapo, il n'y a aucun intérêt à coller le #NOTES au reste du texte
(enfin, je pense: Arno ?).

Pour le reste une idée serait :
- un seul paragraphe : <span class='spip'>paragraphe...</span>
- plusieurs paragraphes : <p class='spip'>paragraphe</p> (etc.)

Ca permettrait au moins d'appliquer la feuille de style, à défaut
de passer à la ligne s'il y a un seul para (je ne sais pas si on
peut le spécifier dans les CSS, à voir).

Pour la résolution des <p> foireux autour de <h3>, je suis pour (mais
il faut laisser le <h3> lui-même ;-)).

Salut,

Apparemment il y a aussi un bug de validation avec le raccourci
"-----" (qui donne un trait horizontal). C'est le même problème
que le <h3> en fait....

Exemple :
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.vie-privee.org%2Fnews178

Sinon les <br /> sont nécessaires uniquement dans une optique "XHTML",
et là je ne sais pas si c'est suffisant... S'il y a un expert dans le
coin ?

a+

Antoine.

Hello,

contrairement à un chapo, il n'y a aucun intérêt à coller le #NOTES
au reste du texte (enfin, je pense: Arno ?).

Et même si cela peut avoir un intérêt, il faut de toute façon englober
ces notes dans des éléments valides ...

Pour le reste une idée serait :
- un seul paragraphe : <span class='spip'>paragraphe...</span>
- plusieurs paragraphes : <p class='spip'>paragraphe</p> (etc.)

Pourquoi pas tout simplement mettre toutes les notes dans un code
générique, la personnalisation étant laissée aux CSS associées ?

On peut très bien spécifier qu'un paragraphe de classe spip_note ne
doit pas débuter par un saut de ligne ...

Pour la résolution des <p> foireux autour de <h3>, je suis pour
(mais il faut laisser le <h3> lui-même ;-)).

Pourquoi h3 plutôt que h2, h1 ou p alors ?

-Nicolas

> Pour la résolution des <p> foireux autour de <h3>, je suis pour
> (mais il faut laisser le <h3> lui-même ;-)).
Pourquoi h3 plutôt que h2, h1 ou p alors ?

C'est arbitraire. Donc "<h3>".

-- Fil

> Pour le reste une idée serait :
> - un seul paragraphe : <span class='spip'>paragraphe...</span>
> - plusieurs paragraphes : <p class='spip'>paragraphe</p> (etc.)

Cette idée me conviendrait tout à fait. L'avantage est de permettre le CSS,
donc la gestion de la forme, et en même temps, de faire apparaître la
structure "logique" du document par la distinction entre un seul paragraphe
et plusieurs.

Yves Grenier

Salut,

Apparemment il y a aussi un bug de validation avec le raccourci
"-----" (qui donne un trait horizontal). C'est le même problème
que le <h3> en fait....
Exemple :
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.vie-privee.org%2Fnews178

A mon avis ceci ets erroné:
<p> bla bla <hr> bla </p>

Pour la raison suivante: <p> et <hr> Ne peuvent etre imbriqués, un <p> ne
peut contenir un <hr>. En html 4.01 transitional, pour éviter une erreur
d'imbrication, le tag <hr> contient dans ce cas un </p> implicite. On a
donc:
<p> bla bla </p><hr> bla </p> <- d'où </p> qui ne correspond à aucune
ouverture de paragraphe.

La bonne écriture étant:
<p> bla bla </p><hr><p> bla </p>

Qu'en penses tu ?

  Yannick

dans ce cas, si on va à la ligne autour du -----, on va pas générer ça ?
<p>avant</p>
</p><hr><p>
<p>apres</p>

À+, Pif.

Salut,