You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Git ne gère pas bien les contenus concurrents occupant ce qui lui semble être un même emplacement. De plus, le format actuel ne permet aucune généricité dans les modèles. En particulier, il n'est pas possible d'intégrer de façon homogène et sûre l'en-tête et le pied de page, ni d'ajouter de système de navigation. L'objectif de cette issue est de repenser le modèle de publication du Beau code web afin de pouvoir se concentrer sur le contenu des recommandations.
Voici une proposition:
On produit les pages à l'aide d'un simple système de template. Je propose Twig, que vous connaissez probablement tous.
Les pages sont produites par PHP sous forme de fichiers HTML. À terme, on pourrait envisager de copier ces fichiers dans le dossier doc, qui serait le seul publié.
Il y a une page de modèle général, page.twig, un modèle de recommandation, recommandation.twig et un module PHP pour interpréter tout ça, page.php. Je ne suis pas sûr qu'il en faille plus.
Le modèle de page que j'ai créé va chercher tous les fichiers fournis dans une liste components. Celle-ci peut être construite à l'aide d'un filtre (glob) qui liste les noms de fichiers qui satisfont un motif donné. Comme les recommandations qui composent une page sont insérés dans l'ordre de leur nom de fichier, ça donne beaucoup de souplesse pour organiser (ou réorganiser) ceux-ci.
J'ai mis un exemple sur Azrael avec la page guide-html.php (code). Les composants chargés suivent le motif guide-html-*.twig. J'ai mis une recommandation de test guide-html-000-test.twig et la recommandation que nous avons déjà validée guide-html-010-validite.twig. Ceci m'a d'ailleurs permis de voir qu'on avait oublié son id.
The text was updated successfully, but these errors were encountered:
Nouvelle tentative de modularisation pour tester à fond Grunt. Je suis, au bout du compte, assez content du résultat. Il recompile tout à chaque fois, mais c'est assez rapide et comme Git fait des diff pour savoir ce qu'il faut éventuellement mettre en commit, mes craintes d'avoir le bazar à la fin ne se sont pas avérées.
Grunt est basé sur Node.js et il a un plugin Twig (TwigJS précisément), qui fait bien le job qu'on lui demande.
Je viens de publier une nouvelle branche experimental/grunt qui permet de démontrer ce qu'on pourrait faire. La liste des tâches est en JS, Gruntfile.js. Je l'ai programmée pour copier tout le dossier assets ainsi que les fichiers HTML pas encore modularisés et pour utiliser tous les modèles Twig trouvés (hormis les composants et les partiels). Pour lancer la fabrication, il suffit de taper grunt en ligne de commande.
Git ne gère pas bien les contenus concurrents occupant ce qui lui semble être un même emplacement. De plus, le format actuel ne permet aucune généricité dans les modèles. En particulier, il n'est pas possible d'intégrer de façon homogène et sûre l'en-tête et le pied de page, ni d'ajouter de système de navigation. L'objectif de cette issue est de repenser le modèle de publication du Beau code web afin de pouvoir se concentrer sur le contenu des recommandations.
Voici une proposition:
doc
, qui serait le seul publié.page.twig
, un modèle de recommandation,recommandation.twig
et un module PHP pour interpréter tout ça,page.php
. Je ne suis pas sûr qu'il en faille plus.components
. Celle-ci peut être construite à l'aide d'un filtre (glob
) qui liste les noms de fichiers qui satisfont un motif donné. Comme les recommandations qui composent une page sont insérés dans l'ordre de leur nom de fichier, ça donne beaucoup de souplesse pour organiser (ou réorganiser) ceux-ci.J'ai mis un exemple sur Azrael avec la page
guide-html.php
(code). Les composants chargés suivent le motifguide-html-*.twig
. J'ai mis une recommandation de testguide-html-000-test.twig
et la recommandation que nous avons déjà validéeguide-html-010-validite.twig
. Ceci m'a d'ailleurs permis de voir qu'on avait oublié sonid
.The text was updated successfully, but these errors were encountered: