Balises "enveloppantes"

Bonjour,

je cherche à écrire un plug-in qui permet de modifier une zone balisée dans un article écrit dans le back-end.
Par exemple :
blablabla blablablablabla blablabla
Dans spip, je sais que l’on peut réaliser des balises « simples » à l’aide des modèles ou des balises dynamiques par exemple, mais je n’ai pas trouvé comment on peut réaliser des balises délimitant « des zones ».

J’ai regardé les plug-in existant, et par exemple j’ai regardé le code de « couleurs » : https://contrib.spip.net/Des-couleurs-dans-le-texte-905

L’auteur obtient bien un système de « zones délimitées » avec lesquelles il peut jouer, mais au prix d’un passage par les pipelines et d’une analyse (par expression régulière) du texte qui y passe. Ca me semble périlleux parce que ca revient plus ou moins à réécrire un « parser » spip si j’ose dire.

N’y a-t-il aucune autre solution sous spip ? Par exemple, en natif sous spip il y a bien aaa qui existe. Peut-on reproduire cela ? Je n’ai pas su trouver où était le code (justement) associé pour m’en inspirer. Quelqu’un a une idée ?

En vous remerciant,
Mikhaël

Il reste peut-être à regarder le plugin enluminures typographiques qui augmente la barre typo de quelques raccourcis
Il me semble que ça passe de toute façon par des pipelines, expressions régulières, preg_replace…

Bonjour

Pour ce genre de petites choses il n’est pas forcément nécessaire de passer par un plugin. Les modèles sont là pour ça :

https://www.spip.net/fr_article3454.html

Et il est possible de pousser le vide un peu plus loin en fournissant une interface pour chaque modèle :

https://contrib.spip.net/Plugin-Inserer-Modeles

Et la cerise sur le gâteau : si on utilise ce plugin, on peut créer une icône qui permet d’appeler l’interface du modèle directement depuis la barre typo :wink:

pw

Le 2017-08-15 22:24, Mikhaël MYARA a écrit :

Bonjour,

je cherche à écrire un plug-in qui permet de modifier une zone balisée dans un article écrit dans le back-end.
Par exemple :
blablabla blablablablabla blablabla
Dans spip, je sais que l’on peut réaliser des balises « simples » à l’aide des modèles ou des balises dynamiques par exemple, mais je n’ai pas trouvé comment on peut réaliser des balises délimitant « des zones ».

J’ai regardé les plug-in existant, et par exemple j’ai regardé le code de « couleurs » : https://contrib.spip.net/Des-couleurs-dans-le-texte-905

L’auteur obtient bien un système de « zones délimitées » avec lesquelles il peut jouer, mais au prix d’un passage par les pipelines et d’une analyse (par expression régulière) du texte qui y passe. Ca me semble périlleux parce que ca revient plus ou moins à réécrire un « parser » spip si j’ose dire.

N’y a-t-il aucune autre solution sous spip ? Par exemple, en natif sous spip il y a bien aaa qui existe. Peut-on reproduire cela ? Je n’ai pas su trouver où était le code (justement) associé pour m’en inspirer. Quelqu’un a une idée ?

En vous remerciant,
Mikhaël

Salut

C'est une extension à textwheel non ? Le moteur entre utilisé par SPIP
pour parser les textes.
Pas de lien de documentation en tête

Km

En fait les modèles ne sont pas tout à fait des balises enveloppantes. C’est le code généré par le modèle qui peut ensuite l’être. On y met tous les traitements et tout le code html souhaité.

Par exemple si on appelle un modèle de cette façon :

<mon_modele|titre=Mon titre|texte=mon texte>

On peut récupérer tout ça dans squelettes/modeles/mon_modele.html et utiliser le code que l’on désire pour baliser tout ça :

[

(#ENV*{titre}|typo)

]

[

(#TEXTE)
]

Par exemple…

Le 2017-08-16 11:46, Mikhael Myara a écrit :

Bonjour,
ce que vous dites m’intéresse mais je ne vois pas, dans le lien que vous indiquez, de balise « enveloppante », avec des syntaxes type
aaaa par exemple. Pouvez-vous mieux préciser ce à quoi vous pensez ? Ca m’intéresse !
Entre temps j’ai regardé comme proposé par chankalan le plug-in barre typo et en effet, celui-ci tape dans les pipelines et utilise des expressions régulières si j’ai compris le code, au moins pour tout ce qui est du type [] par exemple.
++
Mike

Le 16 août 2017 à 07:44, p.weber@free.fr a écrit :

Bonjour

Pour ce genre de petites choses il n’est pas forcément nécessaire de passer par un plugin. Les modèles sont là pour ça :

https://www.spip.net/fr_article3454.html

Et il est possible de pousser le vide un peu plus loin en fournissant une interface pour chaque modèle :

https://contrib.spip.net/Plugin-Inserer-Modeles

Et la cerise sur le gâteau : si on utilise ce plugin, on peut créer une icône qui permet d’appeler l’interface du modèle directement depuis la barre typo :wink:

pw

Le 2017-08-15 22:24, Mikhaël MYARA a écrit :

Bonjour,

je cherche à écrire un plug-in qui permet de modifier une zone balisée dans un article écrit dans le back-end.
Par exemple :
blablabla blablablablabla blablabla
Dans spip, je sais que l’on peut réaliser des balises « simples » à l’aide des modèles ou des balises dynamiques par exemple, mais je n’ai pas trouvé comment on peut réaliser des balises délimitant « des zones ».

J’ai regardé les plug-in existant, et par exemple j’ai regardé le code de « couleurs » : https://contrib.spip.net/Des-couleurs-dans-le-texte-905

L’auteur obtient bien un système de « zones délimitées » avec lesquelles il peut jouer, mais au prix d’un passage par les pipelines et d’une analyse (par expression régulière) du texte qui y passe. Ca me semble périlleux parce que ca revient plus ou moins à réécrire un « parser » spip si j’ose dire.

N’y a-t-il aucune autre solution sous spip ? Par exemple, en natif sous spip il y a bien aaa qui existe. Peut-on reproduire cela ? Je n’ai pas su trouver où était le code (justement) associé pour m’en inspirer. Quelqu’un a une idée ?

En vous remerciant,
Mikhaël