Neues Plugin zum Schreiben von WordPress Theme JSON-Dateien über YAML – WP Tavern

19. März 2022

Ich habe ein neues Lieblings-Plugin für die WordPress-Entwicklung: Theme YAML. Sascha Paukner hat es erst vor einem Tag veröffentlicht, und es könnte schon bald in den Werkzeugkästen vieler Theme-Entwickler/innen zu finden sein. Es ermöglicht Themakern, Theme-JSON in YAML-Format.

Um sie zu nutzen, müssen Themenautoren lediglich eine neue theme.yaml Datei erstellen und ihre benutzerdefinierte Konfiguration im menschenfreundlichen YAML-Format hinzufügen. Das Plugin wandelt sie in JSON um und speichert sie in der theme.json Datei.

Als jemand, der sich schon oft den Kopf zerbrochen hat, wenn er direkt in JSON geschrieben hat, war ich nie glücklicher, als ich das Folgende in meinem Code-Editor gesehen habe:

Atom-Code-Editor, der eine theme.yaml-Datei mit Einstellungen öffnet, die in JSON umgewandelt werden.

Das ist schön.

Ich wünschte nur, ich wäre zuerst auf diese Plugin-Idee gekommen. Ich arbeite routinemäßig mit YAML-Dateien, wenn ich mit anderen Systemen zu tun habe, und konvertiere die Daten in PHP und JSON. Es machte sofort Sinn, als ich die Beschreibung des Plugins sah.

JSON ist nicht das am einfachsten zu schreibende Format, wenn es um Konfigurationsdateien geht, und das ist es, was die theme.json Datei ist. Es eignet sich gut für die sprachübergreifende Datenspeicherung, aber manchmal erschaudere ich, wenn ich eine JSON-Datei öffne, um sie einzugeben, besonders wenn sie 100 oder 1.000 Zeilen umfasst. Außerdem kannst du keine Inline-Kommentare hinterlassen, um dich oder andere daran zu erinnern, warum eine bestimmte Entscheidung getroffen oder eine Einstellung konfiguriert wurde.

Ist YAML besser? YAML hat seine Vor- und Nachteile, und meiner Erfahrung nach können Teile der Syntax für Ungeübte sehr komplex werden. Aber allein die Unterstützung von Inline-Kommentaren ist es wert.

Die Dokumentation des Plugins war bestenfalls dürftig. Sie sagte nichts darüber aus, wie es unter der Haube funktioniert. Ich hatte Fragen. Gibt es eine Einstellung für die Umwandlung? Ist sie automatisch? Geschieht sie bei jedem Seitenaufruf?

Ich habe einen Blick unter die Haube geworfen, damit du das nicht tun musst. Das Plugin sucht automatisch nach einem theme.yaml Datei im Stammordner des aktiven Themes, wenn eine Seite geladen wird. Wenn es gefunden wird, überprüft es die letzte Änderungszeit und speichert den Wert in der Datenbank. Wenn es neue Änderungen gibt, analysiert das Plugin die theme.yamlgeparst, in JSON umgewandelt und in die Datenbank geschrieben. theme.json Datei.

Wenn das aktive Thema ein untergeordnetes Thema ist, durchläuft es diesen Prozess automatisch auch für sein übergeordnetes Thema.

Der Nachteil des Plugins ist, dass es das resultierende JSON minifiziert, was schwer zu lesen ist. Das ist in Ordnung, wenn du die theme.yaml Datei zur Hand hast. Wenn du jedoch das WordPress.org-Theme-Verzeichnis einreichst, ist diese "Build"-Datei normalerweise etwas, das ein Theme-Autor nicht in sein Theme-ZIP packen würde.

Ich bin der festen Überzeugung, dass der Code für jeden, der eine Kopie erhält, lesbar und bearbeitbar sein muss. Es gibt mehrere Möglichkeiten für Theme-Autoren, dies zu tun. Sie können sowohl den theme.json und theme.yaml Dateien oder ändere den folgenden Code in der Hauptdatei des Plugins:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES);

Wir müssen lediglich die Option JSON_PRETTY_PRINT Flagge für die json_encode() Funktion:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);

Ich hoffe, dass der Plugin-Entwickler diese Änderung in einer zukünftigen Version berücksichtigt oder den Theme-Autoren erlaubt, es zu filtern.

Es gibt andere Lösungen für Themenautoren, die sich scheuen theme.json. Ich habe mein JSON in der Vergangenheit in überschaubare Stücke auf mehrere Dateien aufgeteilt. Dann habe ich eine Webpack-Plugin zum Zusammenführen der Dateien während meines Watch/Build-Prozesses.

Ich empfehle die Verwendung der JS YAML Parser oder ein ähnliches Paket für diejenigen, die YAML bevorzugen, aber eine Integration mit ihrem Build-System wünschen.

Quelle


Dieser Artikel ist im Original von wptavern.com und wurde übersetzt
https://wptavern.com/new-plugin-for-writing-wordpress-theme-json-files-via-yaml

Abonniere den RSS-Feed von unseren WP News und verpasse keine Meldung: https://die-mainagentur.de/feed/?post_type=wp-news

Alternativ kannst du unseren WP-Newsletter abonnieren

Mit dem Eintrag in den WP-Newsletter bekommst du per Mail über neue Artikel zugesendet. Du kannst den Newsletter jederzeit abbestellen.
Mehr dazu in der Datenschutzerklärung