Je profite de l'occasion de parlotes autour de #INTRODUCTION sur la
liste SPIP-DEV que pour ceux qui désirent supprimer tous les tags HTML
d'une #INTRODUCTION, il suffit de remplacer dans vos squelettes le tag
'#INTRODUCTION' par '[(#INTRODUCTION|notags)]' et de mettre le code
ci-dessous dans un fichier 'mes_fonctions.php3' à la racine de votre
site SPIP:
Attention, ça supprimera toute mise en forme du tag #INTRODUCTION,
plus de retours lignes ni gras, italique, etc., que du texte brut
(avec les caractères spéciaux en codes HTML quand même).
En espérant que ça pourra aider quelqu'un.
NB: Pour les spécialistes PHP. Je sais qu'il y a un code REGEX plus
performant: '$texte = ereg_replace("<[^>]*>","",$texte);'
mais je ne l'ai pas essayé et celui que je donne plus haut fonctionne
alors je ne vais pas chercher plus loin. Libre à vous d'améliorer le
machin.
R> Lors de la création d'un lien dans un texte du style
[monlien->>http://www.monlien.org] comment faire pour qu'il ouvre dans une
R> nouvelle fenêtre et non pas dans la même ?
J'ai la solution!
Dans le fichier 'mes_fonctions.php3' à la racine de ton site SPIP tu
met ça:
Et dans tes squelettes tu modifie les balises '#TEXTE' et '#CHAPO' et
toutes les autres susceptibles de contenir une adresse internet par
'[(#TEXTE|lienperso)]' et '[(#CHAPO|lienperso)]' et etc..
ATTENTION!!! J'ai pas testé cette fonction (j'ai plus d'accès Web pour
l'instant). Donc si vous pouviez essayer et me dire si ça marche, ça
serait sympa. Normalement ça marche, mais je promet rien (notamment au
niveau des REGEX que je ne maîtrise pas à fond).
AUTRE PROPOSITION:
Bien sûr on peut créer une fonction dans un fichier interne à Spip
(comme inc-squelettes.php3 ou un truc comme ça) pour que ça le fasse
sans avoir à modifier les squelettes. Mais ma solution doit marcher
avec toutes les versions de Spip et de toutes façons ça reste de la
bidouille.
Pas href, mais target... Sinon il y a plus simple (la décision des
liens à traiter est laissée à SPIP, c'est plus propre, du coup, et ça
prendre d'autres choses que HTTP) :
oui, c'est mieux ! En fait on pourrait mettre cette fonction dans
inc_texte.php3 et, comme ça, le choix d'avoir des liens extérieurs
"sauteurs" se résumerait à un #TEXTE|liens_sauteurs
Sinon, vous pouvez aussi hacker le code de SPIP, et la manip est plutôt
simple.
Certes, mais ça veut dire que les mises à jour de spip ne se font plus de
manière transparente.
Oui, désolé, faut remplacer 'href=\"_blank\">' par
'target=\"_blank\">'
PT> Sinon il y a plus simple (la décision des
PT> liens à traiter est laissée à SPIP, c'est plus propre, du coup, et ça
PT> prendre d'autres choses que HTTP) :
PT> Sinon il y a plus simple (la décision des
PT> liens à traiter est laissée à SPIP, c'est plus propre, du coup, et ça
PT> prendre d'autres choses que HTTP) :
je vais tester ça (je ne sais quand) et je te dirai le résultat
BALME
----- Original Message -----
From: "Dioxyde.org" <dioxyde@free.fr>
To: "Rbalme" <rbalme@wanadoo.fr>
Cc: <spip@rezo.net>
Sent: Wednesday, January 09, 2002 9:52 AM
Subject: Re[2]: [Spip] Suppr. tags dans #INTRODUCTION
Bonjour Rbalme,
R> Lors de la création d'un lien dans un texte du style
[monlien->>http://www.monlien.org] comment faire pour qu'il ouvre dans une
R> nouvelle fenêtre et non pas dans la même ?
J'ai la solution!
Dans le fichier 'mes_fonctions.php3' à la racine de ton site SPIP tu
met ça:
Et dans tes squelettes tu modifie les balises '#TEXTE' et '#CHAPO' et
toutes les autres susceptibles de contenir une adresse internet par
'[(#TEXTE|lienperso)]' et '[(#CHAPO|lienperso)]' et etc..
ATTENTION!!! J'ai pas testé cette fonction (j'ai plus d'accès Web pour
l'instant). Donc si vous pouviez essayer et me dire si ça marche, ça
serait sympa. Normalement ça marche, mais je promet rien (notamment au
niveau des REGEX que je ne maîtrise pas à fond).
AUTRE PROPOSITION:
Bien sûr on peut créer une fonction dans un fichier interne à Spip
(comme inc-squelettes.php3 ou un truc comme ça) pour que ça le fasse
sans avoir à modifier les squelettes. Mais ma solution doit marcher
avec toutes les versions de Spip et de toutes façons ça reste de la
bidouille.
ODo> Est-ce que justement le fait que l'on précise dans cette fonction
ODo> class=spip_out ne veux pas dire qu'il s'agit d'un lien extérieur ?
L'attribut class signifie l'emploi d'un style personnalisé dans la
feuille de style. ça n'agit donc que sur l'aspect du lien, rien à voir
avec le fait que ça soit un lien extérieur.
La fonction de Pierre ouvre dans une nouvelle fenêtre TOUS les liens
d'un article, même ceux qui sont internes, vers des
articles/rubriques/brèves/autres du site, pas très joli.
L'attribut class signifie l'emploi d'un style personnalisé
[...] rien à voir avec le fait que ça soit un lien extérieur.
En théorie, oui, mais en pratique, non ! En fait, SPIP colle à TOUS les
liens externes l'attribut class="spip_out" et à TOUS les liens internes
l'attribut class="spip_in". Donc si on touche aux liens ayant pour
style spip_out, on touche de facto aux liens vers l'extérieur. Mais
c'est spécifique à SPIP...
La fonction de Pierre ouvre dans une nouvelle fenêtre TOUS les liens
d'un article, même ceux qui sont internes
Complètement faux, je réfute, je m'insurge. Mon hack de SPIP ainsi que
ma fonction pour filtre altèrent tous les deux les liens externes, tous
les liens externes, que les liens externes. Tu as testé, avant de
cracher sur ma solution, au moins ??
Dans une version SPIP 1.2.1 à peine modifiée, les titres de mes brèves
font apparaître un saut de ligne entre la 2eme et la 3eme ligne des
titres de breves du sommaire ici:
L'attribut class signifie l'emploi d'un style personnalisé
[...] rien à voir avec le fait que ça soit un lien extérieur.
PT> En théorie, oui, mais en pratique, non ! En fait, SPIP colle à TOUS les
PT> liens externes l'attribut class="spip_out" et à TOUS les liens internes
PT> l'attribut class="spip_in". Donc si on touche aux liens ayant pour
PT> style spip_out, on touche de facto aux liens vers l'extérieur. Mais
PT> c'est spécifique à SPIP...
Heu... Oui, ok. Je savais pas. Mais c'est pas ça qui va ouvrir mon
lien externe dans une nouvelle fenêtre.
La fonction de Pierre ouvre dans une nouvelle fenêtre TOUS les liens
d'un article, même ceux qui sont internes
PT> Complètement faux, je réfute, je m'insurge. Mon hack de SPIP ainsi que
PT> ma fonction pour filtre altèrent tous les deux les liens externes, tous
PT> les liens externes, que les liens externes. Tu as testé, avant de
PT> cracher sur ma solution, au moins ??
J'ai pas testé. Mais.... Heu... Attends je relis ta fonction...
Ah oui, désolé je me suis trompé, je savais pas que Spip détectait les
liens externes et leur mettait la classe spip_out. Donc tu as raison.
Désolé. Je viens de comprendre. Mais c'est paske je savais as et gna!
Bon, c'est pas une excuse, ok. Désolé. Ta fonction est bonne! Je
savais rien sur les spip_out/spip_in, merci m'avoir fait comprendre
Je veux dire que les quelques changements que j'ai fait ne devraient à
priori pas être la cause du problème.
Pour l'observer il faut bien sûr visualiser au moins 3 lignes dans un
titre de brève (éventuellement en grossissant l'affichage).
Ce saut de ligne est également présent en MENU par exemple ici:
Je veux dire que les quelques changements que j'ai fait ne devraient à
priori pas être la cause du problème.
Pour l'observer il faut bien sûr visualiser au moins 3 lignes dans un
titre de brève (éventuellement en grossissant l'affichage).
Ce saut de ligne est également présent en MENU par exemple ici:
C'est visible à partir d'Affichage / Taille du texte / "plus grande"
avec IE6 sous W98SE (1024x768 si çà peut aider) SPIP 1.2.1
De mon côté, je ne visualise pas non plus ce problème chez moi. Mais je crois avoir une idée... tu évoques sans doute un interlignage irrégulier à certains endroits (par exemple: les deux premières lignes sont bien "ressérées", et la dernière ligne semble avoir un interlignage plus grand).
C'est généralement dû au placement d'un <br> en dehors de la définition de la taille de la police. Si tu fais:
<font size=6>
<font size=1>Ma première ligne<br>
Ma deuxième ligne<br>
Ma troisième ligne</font> <br>
</font>
tu risques d'avoir un affichage où la troisième ligne est plus éloignée de la deuxième que la deuxième de la première. En effet, le dernier <br> n'est plus en taille 1, mais en taille 6; du coup, la présence du <br> en taille six dans la dernière ligne fait que cette ligne est plus interlignée que les autres.
La solution consiste donc à essayer de bien placer les <br> à l'intérieur des définitions des tailles de polices.
Cà doit être çà. J'avais dit une bétise, le squelette a en fait été
modifié pour fonctionner avec un fichier chartegraphique.php3
voila à quoi çà ressemble:
----------------------
<BOUCLE_premiere_breve(BREVES){tout}{par date}{inverse}{0,1}>
<BR><BR>[(#LOGO_BREVE|#URL_BREVE)<BR>]
<FONT FACE="<? echo $police ?>" SIZE=1>
<B>[(#DATE|nom_jour)] [(#DATE|jour)] [(#DATE|nom_mois)]</B>
</FONT><BR>
<A HREF="#URL_BREVE"><FONT FACE="<? echo $police ?>" SIZE="<? echo
$tailletitre_premiere_breve ?>">#TITRE</FONT></A>
[<BR><FONT FACE="<? echo $police ?>" SIZE="<? echo
$tailletexte_premiere_breve ?>">(#INTRODUCTION)</FONT>]
</BOUCLE_premiere_breve>