Avec l’introduction des fonctions avant_propre() et apres_propre() dans ecrire/inc_texte.php3 (depuis la version 1.7.1), on peut maintenant ajouter de nouveaux raccourcis sans plus avoir besoin de modifier le source de spip [1].
Soient les raccourcis suivants :
{1{ |
Ouverture d’un intertitre de 1er niveau (synonyme de {{{) [2] |
}1} |
Fermeture d’un intertitre de 1er niveau (synonyme de }}}) |
{2{ |
Ouverture d’un intertitre de 2ème niveau |
}2} |
Fermeture d’un intertitre de 2ème niveau |
{3{ |
Ouverture d’un intertitre de 3ème niveau |
}3} |
Fermeture d’un intertitre de 3ème niveau |
[*texte*] |
Texte en petites majuscules (small-caps) [3] |
[^texte^] |
Texte en exposant |
--> |
Flèche à droite (→) |
<-- |
Flèche à gauche (←) |
<--> |
Flèche bilatérale (↔) |
Nous mettons en oeuvre leur utilisation en trois étapes :
1°- Configurer les variables de personnalisation [4] en insérant les lignes suivantes dans le fichier mes_fonctions.php3, à créer si nécessaire :
On ajoute également les variables suivantes dans le fichier ecrire/mes_options.php3, à créer si nécessaire :
Vous pouvez bien sûr adapter ces variables, par exemple remplacer <span style="font-variant: small-caps"> par <span style="nom"> (en définissant la classe nom dans votre feuille de style comme devant afficher les petites majucules).
2°- Ne pas oublier de configurer la feuille de style du site pour tenir compte de ces modifications (en fonction des variables de personnalisation que vous aurez choisies).
3°- Ajouter les fonctions suivantes dans le fichier ecrire/mes_options.php3 [5] :
4°- Filtre anti-spam générique. Dernière chose à faire : activer, si vous le souhaitez, le filtre anti-spam. Avec la fonction de cryptage proposé ici (que vous pouvez changer très simplement), dans tout lien vers une adresse mail présente dans votre site, l’arobase sera transformé en chaîne aléatoire et le mail sera chiffré. Pour activer cette fonction, il vous suffit d’ajouter la ligne suivante dans votre fichier ecrire/mes_options.php3 :
Et voilà, en principe, tout doit fonctionner. Tout ce que vous devez placer dans votre fichier ecrire/mes_options.php3 se trouve dans ce fichier :
Si des gens accrochent à cette contrib et qu’ils ont envie de poursuivre, ce serait bien de modifier la barre d’outils pour qu’elle intègre ces nouveaux raccourcis.




mes_options.php3.txt
Vos commentaires
# Le 1er octobre 2004 à 09:13, par tibo
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Très bonne contrib. Elle fonctionne sans problème chez moi.
J’aurais par contre besoin d’un coup de main pour pouvoir utiliser deux fonctions différentes de cryptage : une pour le texte et une pour l’action (href).
Je ne suis pas très doué avec les expression régulières.
Est-ce envisageable d’effectuer deux preg_replace_callback en cascade ou y a-t-il une façon plus élégante ?
En gros j’ai besoin d’utiliser une fonction crypter_texte($texte) et une crypter_action($action). La première avec du texte moi@ici.com ne contenant pas de mailto: au début et la deuxième avec du texte mailto:moi@ici.com.
Merci d’avance
# Le 2 octobre 2004 à 16:44, par ?
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Merci
Euh, je vois pas exactement l’utilité, mais tu peux sans doute remplacer la fonction anti_spam par quelque chose comme ceci :
où les deux fonctions de cryptage s’appelle crypter1 et crypter2.
Moi non plus ;-)
# Le 18 novembre 2004 à 14:43, par tibo
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Merci pour ton aide, c’est OK ça marche.
Le but était (il est atteint maintenant) de :
- Afficher le texte d’une adresse e-mail sous la forme : nom.prenom chez ici.fr
- Crypter le mailto du lien pour lui faire exécuter un bout de code javascript (pour pouvoir cliquer sur le lien et envoyer un mail)
Je l’ai implémenté sur mon site ça marche nickel
# Le 1er juillet 2005 à 16:47, par Sa-Cha
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Salut,
Ben, moi, j’essaie et ça ne marche pas (sppip 1.8.1) Peux-tu me dire comment tu as fait ?
Merci.
Répondre à ce message
# Le 29 mars 2005 à 16:48, par Philippe G.
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Je me trompe peut-être, ùais après un moment, j’ai voulu reprendre cette contrib (très au demeurant !) telle qu’elle et ça ne marchait pas. Il fallu que je rajoute dans ecrire/mes_options.php3 la fonction suivante :
function ereg_remplace($cherche_tableau, $remplace_tableau, $texte) {global $flag_pcre;
if ($flag_pcre) return preg_replace($cherche_tableau, $remplace_tableau, $texte);
$n = count($cherche_tableau);
for ($i = 0; $i < $n; $i++) {
$texte = ereg_replace(substr($cherche_tableau[$i], 1, -1), $remplace_tableau[$i], $texte);
}
return $texte;
}
Et là ça marche...
J’ai faux docteur ??
# Le 29 mars 2005 à 16:51, par Philippe G.
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Désolé pour les fôôôtes, il fallait lire : très bien au demeurant...
(J’utilise la 1.8pr1 sur le site concerné).
Répondre à ce message
# Le 22 mars 2005 à 09:50, par Regis
En réponse à : > Et les alignements de textes
Bonjour,
J’avais utilisé jusqu’à présent la contrib de Jacques Pyrat (1/8/2003) concernant les raccourcis v2 de SPIP.
Je sais qu’elles modifiaient le code de SPIP (shame on me), et maintenant, ce n’est plus nécessaire.
Mais, elles intégraient d’autres raccourcis intéressants :
- aligner le texte à gauche, droite ou au centre.
- encadrer du texte
Il me semble que ces raccourcis pourraient enrichir cette contrib qui est très intéressante.
Merci
# Le 22 mars 2005 à 13:01, par Regis
En réponse à : > Et les alignements de textes
Voici le code à remplacer pour retrouver ces raccourcis :
function avant_propre($texte) {
$chercher_raccourcis = array(
/* 1 */ "/\{0\{/",
/* 2 */ "/\}0\}/",
/* 3 */ "/\{1\{/",
/* 4 */ "/\}1\}/",
/* 5 */ "/\{2\{/",
/* 6 */ "/\}2\}/",
/* 7 */ "/\{3\{/",
/* 8 */ "/\}3\}/",
/* 9 */ "/\[\*/",
/* 10 */ "/\*\]/",
/* 11 */ "/\[\^/",
/* 12 */ "/\^\]/",
// Rajout Jack 2003/08/01 et modifié par Regis 2005/03/22
/* 15 */ "/\[\//",
/* 16 */ "/\/\]/",
/* 17 */ "/\[\|/",
/* 18 */ "/\|\]/",
/* 19 */ "/\[\(/",
/* 20 */ "/\)\]/",
/* 21 */ "/\[1\(/",
/* 22 */ "/\)1\]/"
// Fin Rajout Jack 2003/08/01
);
$remplacer_raccourcis = array(
/* 1 */ "<@@SPIP_debut_intertitre_0@@>",
/* 2 */ "<@@SPIP_fin_intertitre_0@@>",
/* 3 */ "<@@SPIP_debut_intertitre@@>",
/* 4 */ "<@@SPIP_fin_intertitre@@>",
/* 5 */ "<@@SPIP_debut_intertitre_2@@>",
/* 6 */ "<@@SPIP_fin_intertitre_2@@>",
/* 7 */ "<@@SPIP_debut_intertitre_3@@>",
/* 8 */ "<@@SPIP_fin_intertitre_3@@>",
/* 9 */ "__SPIP_debut_smallcaps__",
/* 10 */ "__SPIP_fin_smallcaps__",
/* 11 */ "__SPIP_debut_exposant__",
/* 12 */ "__SPIP_fin_exposant__",
// Rajout Jack 2003/08/01 et modifié par Regis 2005/03/22
/* 15 */ "<div style=\"text-align:right;\">",
/* 16 */ "</div>",
/* 17 */ "<div style=\"text-align:center;\">",
/* 18 */ "</div>",
/* 19 */ "<div class=\"texteencadre-spip\">",
/* 20 */ "</div>",
/* 21 */ "<span class=\"caractencadre-spip\">",
/* 22 */ "</span>"
// Fin Rajout Jack 2003/08/01
);
return ereg_remplace($chercher_raccourcis, $remplacer_raccourcis, $texte);
}
Raccourcis désormais disponibles
[/texte/] : aligner le texte à droite[|texte|] : centrer le texte
[(texte)] : encadrer le texte (occupe toute la largeur de la page, à mettre autour d'un paragraphe)
[1(texte)1] : encadrer/surligner le texte (une partie à l'intérieur d'un paragraphe) : ce raccourci est différent de celui d'origine pour être compatible avec cette contrib.
[^texte^] : mettre en exposant le texte sélectionné
Le style pour les encadrements
.texteencadre-spip {background: #FFE;
border-bottom-color: #999999;
border-bottom-style: solid;
border-bottom-width: 2px;
border-left-color: #EEEEEE;
border-left-style: solid;
border-left-width: 1px;
border-right-color: #999999;
border-right-style: solid;
border-right-width: 2px;
border-top-color: #EEEEEE;
border-top-style: solid;
border-top-width: 1px;
padding: .25em;
}
.caractencadre-spip {
border: 1px solid #666;
padding: 0px .5em 0px .5em;
}
Répondre à ce message
# Le 22 février 2005 à 21:18, par zenop
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Bonjour,
Je viens d’installer cette fonction très intéressante, tout marche (petites capitales, exposant, tiret quadratin)... sauf les niveaux d’intertitres. J’ai installé, parallèlement, la fonction qui permet de découper les articles en pages.
Celle-ci implique d’écrire la balise #TEXTE avec un astérisque : #TEXTE*|decouper_en_page|propre.
Existe-t-il une incompatibilité entre les deux fonctions ?
Merci.
# Le 23 février 2005 à 21:48, par François Schreuer
En réponse à : > > Nouveaux raccourcis typographiques et antispam générique
Aucune idée. J’ai pas testé (par contre, je compte intégrer une fonction similaire générant une table des matières dans la prochaine version de cette contrib, que je publierai dès que la 1.8 définitive sera publiée).
Tu utilises quelle version de spip ?
Répondre à ce message
# Le 19 janvier 2005 à 16:24, par noé de naama
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Est-il prevu une mise à jour de cet article pour la 1.8 et son système de plugin ?
# Le 19 janvier 2005 à 17:32, par François Schreuer
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Oui, oui. Mais j’attends la sortie officielle de la 1.8 ou, au minimum, la publication de spécifications définitives pour les plugins (qui ne sont encore, à ma connaissance, qu’une fonctionnalité expérimentale susceptible d’être fortement modifiée) avant d’adapter le script.
Répondre à ce message
# Le 8 décembre 2004 à 16:01, par lcdh
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Merci pour cette petite merveille, et plutôt que chacun n’y aille avec sa mixture perso de racourcis typo, ne serait-il pas sympa de voir l’intégration de cette contrib directement dans la prochaine version de spip ?
En plus, elle peut permettre d’utiliser avec intelligence la contrib nommée « découper un article + sommaire » elle aussi d’une très grande utilité. On peut donc, grâce aux deux, avoir un vrai sommaire qui reprenne les seuls réels gros titres de l’article, tout en ayant la possibilité d’avoir d’autres titres divers dans l’article.
La prochaine version SPIP en est où des points d’entrée, quelque chose a été décidé ?
Bien à toi
Soÿ
# Le 8 décembre 2004 à 16:19, par lcdh
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
P.S.
je pose la question suite à la lecture de ceci.
# Le 9 décembre 2004 à 22:18, par François Schreuer
En réponse à : > Nouveaux raccourcis typographiques et antispam générique
Bonsoir,
Tu peux toujours le demander sur les listes. S’il y a plein d’utilisateurs qui demandent certaines fonctionnalitéss (et s’ils argumentent bien), il se peut qu’elles soient implémentées par les core-dev (même si c’est absolument pas garanti).
Cela dit, je ne suis pas sûr que ça soit la tendance dans le développement de SPIP d’intégrer de nouvelles fonctionnalités dans la distribution officielle. An contraire, il est plutôt question pour le moment de viser un noyau le plus simple possible et d’organiser un maximum de trucs en plugins autour. Perso, je suis pas sûr que SPIP y ait plus à gagner qu’à perdre, mais ce n’est qu’un avis.
Cela dit, le cas des raccourcis typographiques est un peu particulier puisqu’il est surtout question d’une norme commune qu’il s’agit de préserver (plus même que l’implémentation de cette norme sur toutes les installations de spip). Si l’on se dirige vers des spip qui peuvent communiquer entre eux (et on y va clairement), y’a salement intérêt à ce qu’ils parlent tous le même langage. Donc, m’est avis qu’il serait au moins souhaitable de publier une norme de raccourcis pour toute une série de besoins standards (les intertitres de différents en font assurément partie, mais aussi, dans un moindre mesure, les exposants et les petites majuscules), histoire que les gens qui veulent les utiliser les implémentent de la même façon.
Cela dit, une idée que j’ai déjà vu passer à certains endroits et qui vaut peut-être la peine qu’on s’y penche serait d’abandonner la syntaxe des raccourcis spip pour créer une syntaxe commune avec d’autres outils du même type (wiki, cms,...), ce qui faciliterait grandement la vie aux utilisateurs de plusieurs de ces outils.
On se dirige clairement vers un mécanisme standardisé de plugins (et donc vers la disparition des points d’entrée qui sont ne sont qu’un petit hack sympa et qui n’auront plus de raison d’être). Mais quand ? Ca, je sais pas.
François
Répondre à ce message
# Le 17 novembre 2004 à 19:35, par Bionet
En réponse à : Avec la 1.8b2
Est-ce que cela fonctionne avec SPIP 1.8b2. Quand je m’essaie à ces scripts, j’ai le message suivant sur mes pages :
et à la ligne 26 j’ai ceci :
return ereg_remplace($chercher_raccourcis, $remplacer_raccourcis, $texte);# Le 23 novembre 2004 à 14:09, par François Schreuer
En réponse à : > Avec la 1.8b2
Non, effectivement, cette contrib est écrite pour une 1.7.2 et ne fonctionne pas sur la version cvs actuelle.
Le problème avec la 1.8 est qu’on ne sait pas encore si les points d’entrée seront conservés ou s’ils seront remplacés par un système plus général de plugin. Dans ces conditions, il n’est pas évident de publier des contribs pour la 1.8.
Mais dès qu’on saura quoi, je proposerai une version de cette contrib mise à jour pour la 1.8.
# Le 27 novembre 2004 à 02:12, par julespige
En réponse à : > Avec la 1.8b2 juste l’antispam
bonjour,
l’antispam seul ne tourne pas non plus sur la 1.8b2 ? hum ?
Les entrées (propre) dans inc_texte ne sont pas impléméntées ? hum ?
j’vais l’tester quand meme... :0)
j’ai essayé de déclarer la variable
dans ecrire/mes_options.php3
CA CARBURE UN MAX
# Le 27 novembre 2004 à 12:49, par François Schreuer
En réponse à : > Avec la 1.8b2 juste l’antispam
?
En tout cas, c’est pas garanti.
C’est pas parce que le code est toujours dans la cvs qu’il y sera encore à la sortie de la 1.8. ARNO* a annoncé un système de plugins destinés à remplacer le mécanisme des points d’entrée (entre autres choses). Depuis, ça a beaucoup discuté sur les listes. Donc, en ce qui me concerne, j’ignore ce qu’il va advenir de tout ça. Par conséquent, je le signale ici. Point barre.
FS
Répondre à ce message
# Le 27 juillet 2004 à 13:13, par dima
En réponse à : antispam générique, invisible ?
Faut-il rajouter
<?php [...] ?>en début et fin de mes_options.php3 ? Parce que si je ne les mets pas le contenu de mes_options.php3 vient gentiment habiller mon code html. Sympa comme fond d’écran, très geek ;)Si je les mets, aucun effet sur mes arobases en regardant le code source et si j’appelle crypter sur ma balise #texte un charabia s’affiche.
# Le 18 septembre 2004 à 12:39, par François Schreuer
En réponse à : > antispam générique, invisible ?
Oui, il faut ajouter les
<?php ... ?>(ou intégrer ce code dans un fichier mes_options.php3 existant).Pour l’antispam, l’as-tu bien activé comme indiqué dans l’article ?
Répondre à ce message
# Le 14 septembre 2004 à 21:20, par DoriaN
En réponse à : recalculer et/ou vider le cache ?
à priori ça ne marche pas chez moi :( j’ai tout fait comme il faut pourtant (charger directement le contenu de l’archive dans mon fichiers mes_options.php3 à moi).
je continue à chercher...
# Le 18 septembre 2004 à 12:18, par François Schreuer
En réponse à : > recalculer et/ou vider le cache ?
Bigre.
Peux-tu m’en dire un peu plus sur les éventuels messages d’erreurs que tu reçois ?
NB : cette contrib n’est pas (encore) adaptée à la version 1.8 de SPIP.
Répondre à ce message
# Le 23 juillet 2004 à 16:25, par Geoffroy
En réponse à : Quels fichiers ?
Ces nouvelles possibilités m’intéressent beaucoup, mais je ne parviens pas à les installer. Oui, je sais, je suis loin d’être un expert !
Si j’ai bien compris l’article, les lignes pour les intertitres sont installés dans mes_fonctions.php3, celles pour les petites capitales dans mes_options.php3, les function dans ecrire/mes_options.php3 et l’activation de l’antispam à nouveaux dans mes_options.php3. On est donc en présence de trois fichiers différents.
Pourtant le fichier txt joint place tout, à l’exception des premiers $Globals d’intertitres, dans le fichier ecrire/mes_options.php3.
Je suis un peu perdu dans tout ça !...
Vous pourriez m’aider ?
Merci !
# Le 23 juillet 2004 à 21:40, par François Schreuer
En réponse à : > Quels fichiers ?
Le plus simple à faire, si tu as du mal à l’installation, c’est d’uploader le fichier fourni dans le répertoire
ecrire/, sans oublier de le renommermes_fonctions.php3(sans le.txt). Le reste, c’est de l’habillage (les variables de personnalisation sont facultatives et tu verras bien s’il faut ou non modifier les styles en fonction de ta feuille de style).C’est bien ça.
Non,
mes_fonctions.php3etecrire/mes_fonctions.php3, c’est le même fichier (qui se place dansecrire/).Non.
Bon amusement
FS
# Le 24 juillet 2004 à 09:36, par Geoffroy
En réponse à : > Quels fichiers ?
L’article dit pourtant que c’est dans ecrire/mes_options.php3... Dans lequel finalement ?
Mais nulle part il n’est question, dans l’article d’un fichier ecrire/mes_fonctions.php3...
Je dois être aveugle, mais il me semble bien que si...
Bref, tout est pour moi toujours aussi flou. Serait-il possible de corriger l’article ? (à moins que je me fourvoie totalement)
Merci !
# Le 24 juillet 2004 à 13:43, par François Schreuer
En réponse à : > Quels fichiers ?
Brièvement :
mes_fonctions.php3etmes_options.php3. Vu la proximité qui existe entre les deux, il arrive souvent que l’on écrive l’un en pensant l’autre. Ca m’est arrivé plusieurs fois, toutes mes excuses.mes_fonctions.php3se place à la racine du site. Il contient des fonctions et variables qui n’affectent que le site public.mes_options.php3se place dans la répertoire ecrire/. Il n’existe pas de fichiermes_options.php3à la racine du site. Il contient des fonctions et variables qui affectent aussi bien le site public que l’interface privée. L’usage de la littérature spipienne le désigne aussi bien parmes_options.php3que parecrire/mes_options.php3.mes_options.php3. Les modifications demes_fonctions.php3sont facultatives (comme toutes les variables de personnalisation). Il suffit en principe d’uploader le fichiermes_options.php3fourni en pièce jointe de la présente contrib pour faire fonctionner les nouvelles fonctionnalités.Répondre à ce message