L'équipe du thème Automattic annonce Blockbase, son nouveau thème parent de bloc : WordPress Tavern

Thème WordPress Blockbase vu depuis l’éditeur du site.

Toute entreprise WordPress qui construit et maintient des thèmes dignes de ce nom fait déjà au moins un travail préliminaire alors que WordPress se rapproche de plus en plus du regroupement de son prochain système de thème de bloc. L’équipe thématique d’Automattic ne fait pas exception. Ben Dwyer a annoncé hier le nouveau thème parent Blockbase de l’équipe sur le blog Theme Shaper. Il inclut la prise en charge des styles globaux et des modèles de blocs.

Le thème est basé sur le projet Blank Canvas classique, prêt pour l’éditeur de blocs, lancé par Automattic en janvier. Jusqu’à il y a quelques jours, il s’appelait même Blank Canvas Blocks. Je me suis rendu compte du travail de l’équipe au cours des deux derniers mois, en attendant de voir comment Blockbase et Mayland Blocks, un thème enfant basé sur le Mayland original de l’équipe, évoluaient.

Pour les auteurs de thèmes qui n’ont pas encore plongé leurs orteils dans l’étang à thème de bloc, cela pourrait également être le point de départ dont ils ont besoin.

Le Saint Graal de certains concepteurs de thème de bloc sera de créer un projet avec un peu plus qu’un fichier theme.json. Le but: laisser WordPress générer tout le CSS via des configurations de paramètres et de styles. Il ne sera jamais possible pour tous les auteurs de thèmes d’atteindre leurs objectifs de conception grâce à cela – la plupart auront besoin d’au moins un CSS personnalisé. Et il reste à voir si un tel objectif est une bonne chose.

Néanmoins, l’avenir de la conception de thèmes reposera sur des styles configurés et générés par JSON. Blockbase exploite ce système pour créer un ensemble normalisé de repères pour ses éventuels thèmes enfants. Cela garantit que les créateurs ne mettent pas continuellement à jour leurs thèmes à mesure que le style des blocs évolue rapidement.

Blockbase sert de pont entre ce qu’il est actuellement possible de configurer via un fichier theme.json et ce qui sera possible dans le futur.

Ce sont les Underscores (_s) modernes pour les blocs, et la communauté de conception de thèmes WordPress aura besoin d’un tel projet pour aller de l’avant. Ils auront besoin d’un point de départ et d’un outil pédagogique, et Blockbase n’est que cela.

La dernière version du plugin Gutenberg ne couvre qu’une fraction de ce qu’elle et, à terme, WordPress gérera dans les mois et les années à venir. Cependant, il permet aux auteurs de thèmes d’ajouter des paramètres personnalisés via la clé settings.custom, créant leurs propres variables CSS qui sont automatiquement générées dans la tête du site. L’équipe thématique a utilisé cette fonctionnalité à son avantage. Là où Gutenberg ne prend actuellement pas en charge un paramètre, Blockbase a un paramètre theme.json personnalisé. Le thème utilise ensuite les variables CSS générées dans sa feuille de style. Comme Gutenberg et WordPress prennent finalement en charge davantage de ces paramètres, l’équipe peut simplement supprimer le code inutile.

Le thème n’est pas du tout sans opinion. «Blockbase est destiné à être une représentation de tous les paramètres de style de thème qui, selon nous, devraient éventuellement vivre dans des styles globaux et être configurables par les utilisateurs», a écrit Dwyer. Le développement du thème de bloc pourrait encore changer de manière inattendue à mesure que le système continue d’être affiné, et le thème devra changer avec lui. Il faut s’attendre à des bosses sur la route.

C’est un projet dont les futurs et actuels modérateurs de blocs peuvent apprendre. Bien qu’il soit actuellement disponible via GitHub, Dwyer a déclaré que l’équipe peut enquêter pour en faire un package npm s’il y a suffisamment d’intérêt.

L’une des choses les plus uniques du thème est de travailler avec les paramètres theme.json via PHP. Dans le fichier functions.php de Blockbase, il extrait les noms de familles de polices enregistrés dans le fichier JSON. Il charge ensuite automatiquement leurs feuilles de style associées à partir de l’API Google Fonts. Bien que cela ne soit pas documenté dans le code (cela devrait l’être), je suppose que l’objectif est de permettre aux auteurs de thèmes enfants de déclarer les polices dans leurs propres fichiers theme.json et à Blockbase de gérer le chargement.

Le code est relativement simple. C’est la technique qui compte.

Alors que les développeurs sont aux prises avec la nature changeante de l’architecture des thèmes WordPress, ils devront trouver de nouvelles solutions pour certains des anciens problèmes qu’ils ont précédemment résolus dans un monde uniquement PHP. Avec la plupart des configurations de thèmes passant au JSON et des modèles au HTML, il peut être facile de sentir qu’ils perdent cette nature dynamique de PHP. C’était quelque chose de fiable, et les développeurs ont passé des années à perfectionner des systèmes personnalisés autour de l’ancien WordPress.

Le nouveau WordPress offre un ensemble d’outils de conception plus robuste prêt à l’emploi, mais cela peut sembler un peu étranger. C’est pourquoi voir des exemples de code dans le monde réel sur la façon dont d’autres gèrent ces fonctionnalités est une étape vitale dans la transition de plus d’auteurs de thèmes vers le développement basé sur des blocs.

Cela peut être un petit échantillonnage de code, mais je suis impressionné par la pensée intelligente. Dans mon voyage pour en savoir plus sur le fonctionnement des thèmes de blocs, je me retrouve souvent à heurter un mur de briques, à lutter contre le système. Ce code fonctionne avec lui plutôt que contre lui.

Je n’écris pas souvent plusieurs paragraphes sur une fonction qui ne couvre que 21 lignes de code, mais je suis toujours un développeur dans l’âme et j’aime voir des solutions élégamment simples. Il ne s’agit pas de la technique de chargement des polices; il s’agit de résoudre des problèmes. Ce code sera sans aucun doute copié plusieurs milliers de fois dans les années à venir et modifié pour des milliers d’utilisations. Si vous êtes un développeur de thèmes et que vous ne le voyez pas encore, vous le verrez.

Comme ça :

J’aime chargement..