WordPress-Plugin-Readme in Markdown umwandeln

Die readme.txt eines WordPress-Plugins muss speziell formatiert werden, wie an einer Beispiel-Readme zu sehen ist. Teilweise ist das bereits Markdown, aber etwa die Überschriften sind anders ausgezeichnet. Hier stelle ich ein Tool zur Konvertierung des WordPress-Readme-Formats in richtiges Markdown vor.

Wenn der Inhalt der readme.txt im korrekten Format für WordPress-Plugins einfach in eine readme.md kopiert wird, sieht das ziemlich unschön aus (hier ein Screenshot von GitHub):

Das Readme.txt-Format von WordPress in einer Markdown-Datei. (Screenshot: GitHub)

Die Überschriften sind nicht wirklich hervorgehoben und die Plugin-Header sind alle direkt hintereinander (gut, letzteres ließe sich verhindern, indem nach jedem Header zwei Leerzeichen eingefügt werden).

Glücklicherweise wurde mit dem Projekt WP Readme to Markdown ein Converter erstellt, der sich um die Überschriften, die Plugin-Header und das Einfügen der Screenshots kümmert. Es gibt auch eine CLI-Version, die nach Änderungen an der readme.txt schnell ausgeführt werden kann – theoretisch natürlich auch automatisch, zum Beispiel über ein NPM-Skript mit Watcher-Plugin.

Da ich nicht wegen dieser einen Funktion NPM oder ähnliches auf mein Plugin schmeißen will und mir kein anderer Weg eingefallen ist, führe ich den Befehl erst mal von Hand aus. Nach Installation des CLI über Composer wechselt ihr auf der Konsole in das vendor/bin-Verzeichnis und führt folgenden Befehl aus:

wp2md -i ../../readme.txt -o ../../README.md
Code-Sprache: Bash (bash)

Damit wird die readme.txt aus dem Root-Verzeichnis des Projekts in eine README.md umgewandelt. Das Ergebnis sieht dann so aus:

Schön formatiert: Die Markdown-Datei mit dem konvertierten Inhalt der WordPress-Readme. (Screenshot: GitHub)

Wenn jemand von euch eine Idee hat, wie man das automatisieren könnte ohne etwas anderes als Composer und Git im Projekt zu haben – gerne her damit 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert