From: JLuc [mailto:jluc@no-log.org]
Sent: Friday, July 11, 2003 1:19 AM
To: spip-dev@rezo.net
Subject: [spip-dev] Re: petite idée CSS
Bonjour,
Andre Vincent wrote:
> Voir:
> [uZine 3] Spip et les feuilles de style
Oui la page présente les styles prédéfinis de spip.
Je parlais en fait de nouveaux css pludtôt que des css prédéfinis>
d'origine. Pour exemple, je pensais en l'occurence à un css qui
complèterait la ligne courante bien jusqu'à la fin de ligne
avec un _ ou un . ou un souligné ou ... un peu comme un point de
suite associé à une tabulation dans la feuille de style d'un TTX.
(J'ai le vague souvenir d'avoir vu ça réalisé en css.)
C'est plus clair là ?
..................................................
Je pense qu'il y a d'autres syles semi-standards utilisables
même si il ne m'en vient pas presentement à l'esprit.
Je comprends pas trop ce que tu veux faire...?
- une liste de trucs et astuces en CSS à l'usage du webmestre SPIP,
- ou ajouter de nouveaux styles potentiels, avec marqueurs SPIP associés et modification du code à la clé ?
Je comprends pas trop ce que tu veux faire...?
- une liste de trucs et astuces en CSS à l'usage du webmestre SPIP,
ce serait pas mal, mais ya des déjà des sites pour ça.
Ou alors des trucs spécial spip ?
- ou ajouter de nouveaux styles potentiels, avec marqueurs SPIP associés et modification du code à la clé ?
Plutôt, mais je pense pas qu'il y ait besoin de modification du code
à moins qu'on ne veuille pousser la démarche plus loin.
Dans ma situation de novice css,
j'aimerais bien disposer d'une bibliothèque de styles déjà définis
éventuellement à personnaliser mais déjà prêts.
Choisir que ce soit des marqueurs SPIP d'origine me semble limiter
la variété diffusable.
Pour le fonctionnement, je vois donc ça comme une bibliothèque de filtres : on en a un certain nombre en standard, on peut en ajouter
dans mes_css comme on ajoute des filtres dans mes_fonctions.
Ce serait donc quelquechose d'aussi simple à utiliser que les
raccourcis spip, sauf qu'au lieu d'employer un raccourci,
on indiquerait soit le nom d'un css avec la syntaxe HTML normale,
soit le nom du css avec une syntaxe simplifiée qui serait traitée
par un filtre ma_typo ou mes_raccourcis_css sur appel dans le squelette.
Mais je sais pas ce que peut couvrir une syntaxe simplifiée
dans la mesure où les css s'appliquent à plein d'éléments différents
et à plein de niveaux différents.
J'ai créé cette fonction pour me permettre d'utiliser des CSS à l'intérieur
des textes des articles. C'est une fonction encore jeune et pas testée à
fond.
Instructions :
1) copier ce code dans mes_fonctions.php3
////////////////////////////////////////////////////////////////
// Ajouts de styles CSS à l'intérieur du texte
// Par Thierry Gagnon - www.thierrygagnon.com
//
//Utiliser dans le texte en ajoutant la balise du style (ex: #citation#)
//et en fermant le style par la balise de fin (toujours #/# pour tous les
styles)
////////////////////////////////////////////////////////////////
function styles($texte) {
$texte = (ereg_replace("#(\w+)#","<span class='$1'>",$texte));
//Insertion d'un style css
$texte = (ereg_replace("#/#","</span>",$texte)); //Fermeture d'un style
css précédemment défini
return $texte;
}
2) Mettre le filtre | styles | dans les balises des squelettes impliquées.
(ex : [(#TEXTE|styles)] ).
3) Lors de la rédaction des articles, rubriques ou brèves, mettre le nom du
css entre des marqueurs # et d'indiquer la fin du style par #/# (dièse -
barre oblique - dièse).
Si il y en a qui ont des suggestions pour l'améliorer, je suis intéressé à
les entendre.
Je suis désolé car mes tests n'avaient pas été faits correctement. Je
n'avais pas pu voir que ma nouvelle fonction ne fonctionnait pas. Je suis
revenu à la version précédente de cette fonction où je devais spécifier
individuellement les style dans mes-fonctions.php3.
Le code serait donc :
function styles($texte) {
$texte = (ereg_replace("#nom_du_style#","<span
class='citation'>",$texte)); //Insertion d'un style css
$texte = (ereg_replace("#/#","</span>",$texte)); //Ferme un style css
défini précédemment
return $texte;
}
Il faut ajouter une copie de la ligne " $texte =
(ereg_replace("#nom_du_style#","<span class='citation'>",$texte)); " pour
chacun des styles utilisés, en prenant soins de changer " nom_du_style ".
Question aux pros : Je ne comprends pas pourquoi $texte =
(ereg_replace("#(\w+)#","<span class='citation'>",$texte)); ne fonctionne
pas. L'utilisation de (\w+) devrait permettre la saisie de n'importe quel
mot alphanumérique, n'est-ce pas?
Le jour où je trouverai comment saisir correctement les mots entre les
balises # le script pourra être plus flexible. Puisque je propose d'utiliser
quand même le nom complet du style, la fonction pourra être modifiée sans
avoir à changer les raccourcis dans les textes.
Merci, j'avais vu l'astuce depuis. J'ai la mauvaise habitude de regarder
dans mon manuel de Javascript pour définir des expressions régulières.
Je crois que le problème se situerais au fait que j'utilise des paires de
caractères semblables au lien de paires différentes, comme le fait SPIP. Ex
: {} au lieu de # #.
On pourrait utiliser les [ ] comme le BB code, mais ça ne sera pas aussi
facile d'extraire n'importe quoi pour utiliser en css sans enlever la
possibilité d'utiliser le bbcode. J'imagine que ce sera un choix à faire...
En tout cas, ce que tu proposes (1ere version) répond bien aux
besoin de l'idée.
Faut voir quels CSS à la fois variés et standards
peuvent alimenter une bibliothèque.
Bises à tous,
JLuc
Thierry Gagnon wrote:
Je crois que le problème se situerais au fait que j'utilise des paires de
caractères semblables au lien de paires différentes, comme le fait SPIP. Ex
: {} au lieu de # #.
? Si c'est ça, on pourrait utiliser #{ ... }#
Sinon, essayer avec #[^#]+# ou #[a-zA-Z0-9]+# ...
A + !