Nouveau plugin pour écrire des fichiers JSON de thème WordPress via YAML – WP Tavern

J’ai un nouveau plugin lié au développement WordPress préféré : Thème YAML. Sascha Paukner l’a publié il y a à peine un jour, et il pourrait trouver sa place dans les boîtes à outils de nombreux développeurs de thèmes d’ici peu. Il permet aux thémistes d’écrire des thèmes JSON au format YAML.

Pour l’utiliser, les auteurs de thèmes n’ont qu’à créer un nouveau fichier theme.yaml et commencer à ajouter leur configuration personnalisée au format YAML convivial. Le plugin le convertira en JSON et l’enregistrera dans le fichier theme.

json. En tant que personne qui a eu sa juste part de maux de tête en écrivant directement en JSON, je n’ai jamais été aussi heureux de regarder ce qui suit dans mon éditeur de code : C’est joli. J’aurais juste aimé avoir pensé à cette idée de plugin en premier.

Je travaille régulièrement avec des fichiers YAML lorsque je traite avec d’autres systèmes et je convertis les données en PHP et JSON. Cela avait du sens dès que j’ai vu la description du plugin. JSON n’est pas le format le plus facile à écrire lorsqu’il s’agit de fichiers de configuration, ce qu’est le fichier theme.

json. Cela fonctionne bien pour le stockage de données multilingue, mais je grince parfois des dents lorsque j’ouvre un fichier JSON pour le saisir, surtout s’il contient des centaines ou des milliers de lignes. De plus, vous ne pouvez pas laisser de commentaires en ligne pour vous rappeler ou rappeler aux autres pourquoi une décision particulière a été prise ou un paramètre configuré.

YAML est-il meilleur ? Cela a ses avantages et ses inconvénients, et d’après mon expérience, certaines parties de la syntaxe peuvent devenir complexes pour les inconnus. Cependant, la prise en charge des commentaires en ligne en vaut la peine. La documentation du plugin était au mieux simple.

Il n’a rien dit sur la façon dont cela fonctionnait sous le capot. J’avais des questions. Existe-t-il un paramètre pour la conversion ? Est-ce automatique ? Cela se produit-il à chaque chargement de page ? J’ai fait un pic sous le capot pour que vous n’ayez pas à le faire.

Le plugin recherche automatiquement un fichier theme.yaml dans le dossier racine du thème actif lorsqu’une page est chargée. S’il est trouvé, il vérifiera son heure de dernière modification et stockera la valeur dans la base de données.

S’il y a de nouvelles modifications, le plugin analyse theme.yaml, le convertit en JSON et l’écrit dans le fichier theme.json.

Si le thème actif est un enfant, il exécutera également automatiquement ce processus pour son parent. L’inconvénient du plugin est qu’il laisse le JSON résultant minifié. C’est OK lorsque vous avez le fichier theme.

yaml sous la main. Cependant, lors de la soumission au répertoire de thèmes WordPress.org, ce fichier de « construction » serait généralement quelque chose qu’un auteur de thème ne regrouperait pas dans son ZIP de thème.

Je crois fermement au code d’expédition lisible et modifiable par quiconque en reçoit une copie. Il existe plusieurs options pour les auteurs de thèmes pour ce faire. Ils peuvent expédier à la fois les fichiers theme.

json et theme.yaml ou modifier le code suivant dans le fichier principal du plugin : $themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES); Nous avons simplement besoin de basculer sur le drapeau JSON_PRETTY_PRINT pour la fonction json_encode() : $themeJson = json_encode($themeObject,; J’espère que le développeur du plugin prendra en compte ce changement dans une future version ou permettra aux auteurs de thèmes de le filtrer. Il existe d’autres solutions pour les auteurs de thèmes qui évitent theme.

json. J’ai divisé mon JSON en morceaux gérables sur plusieurs fichiers dans le passé. Ensuite, j’ai utilisé un plugin webpack pour les fusionner pendant mon processus de surveillance/construction.

Je recommande d’utiliser l’analyseur JS YAML ou un package similaire pour ceux qui préfèrent YAML mais souhaitent une intégration avec leur système de construction.