balises #EXTENDS et #BLOCK

cf ma phrase d’exemple juste au dessus @maieul : ce n’est pas possible d’expliquer aux gens « placez vos blocs, dans des blocs (n’ayant pas le même sens) », impossible de faire plus confus… c’est littéralement ce qu’il faudra expliquer pourtant. Et on va pas dire « mettez vos blocs dans des zones de pages… mais qui sont en fait des blocks dans le code » (quoi ?)… vraiment personne va rien comprendre.

C’est chercher le bâton un peu… :stuck_out_tongue: (alors qu’on peut faire simple et compréhensible)

Si la spec c’est Twig, alors je comprend que se pose la question d’intégrer Twig.

Cool, que de bonnes idées

je trouve que la syntaxe twig

{% block footer %}
          &copy; Copyright 2011 by <a href="https://example.com/">you</a>.
{% endblock %}

serait du coup plus claire et sans confusion avec #BALISE ou <BOUCLE>

Je ne crois pas que ce soit le but, car pour le coup Twig fait beaucoup moins que SPIP :slight_smile:

Twig s’inscrit dans le modèle MVC, ou en tout cas est pensé pour, ce que SPIP n’est pas.
Twig, c’est la Vue, qui (en gros) ne peut afficher QUE ce que lui passes explicitement le Contrôleur.
Donc pas de <BOUCLES> en toute liberté sur tous les objets de la base de données.

Se priver de la syntaxe historique de SPIP rendrait quasi impossible (en pratique) le portage des sites existants et ce serait un fork dur.
Mais il ne serait pas absurde, si ça apporte des trucs sympas, d’enrichir la syntaxe en faisant (optionnellement via un plugin ? et durablement en tout cas si ça se fait dans le core) cohabiter la syntaxe historique des <BOUCLEs> avec celle de twig {% block footer %} car elles sont tellement différentes en tant que syntaxes, qu’elles ne semblent pas incompatibles (pour le parser), et que les fonctionnalités semblent complémentaires.
Voire, peut être, de brancher le code de twig sur le résultat de l’analyse préalable d’une forme syntaxique « à la SPIP » utilisant des <BLOCs>.

@nicod on garde bien entendu l’existant mais pouvoir différencier 3 syntaxes balise/boucle/archi faire quelque chose comme

{% block footer %}
    <BOUCLE_secteurs(RUBRIQUES) {racine} {par num titre}{!par date}>
        #BALISE
    </BOUCLE_secteurs>
{% endblock %}

Bref que ce soit écrit {% … %} ou autrement mais ni <boucle> (dédié aux tables ou data/tableau avec critères) ni #balise (champ des tables et déjà beaucoup d’autres features comme #MABALISE). Simple suggestion je suis peut-être dans le faux hein !

Je ne comprends pas de quoi tu parles…
Il n’est nullement question d’intégrer Twig à SPIP, ce fil de discussion parle juste de reprendre un concept de Jinja / Twig et autres DANS la syntaxe de SPIP. De l’étendre quoi.

Pour l’instant il s’agit d’une idée qui est présentée ici… pour la discuter je suppose.
PS J’ai un peu édité mon précédent post.

J’avais proposé, plus haut dans le fil :

<BLOC(content)>
...
</BLOC>

Ça ne touche pas du tout aux <BOUCLES>, qui restent ce qu’elles sont.

Mais une syntaxe à l’identique à Twig {% ... %} serait sûrement confusionnante, laissant entendre que les autres fonctionalités de Twig seraient utilisables.