Mein erstes Kirby-Plugin: Tag für PeerTube-Videos

Mein erstes Kirby-Plugin: Tag für PeerTube-Videos

Ich bin nach wie vor dabei, meine Blog&more-Webseite mit dem Kirby-CMS einzurichten. Eine von einer Million Baustellen: Ich wollte eine einfache Möglichkeit, ein Peertube-Video einzubetten, ohne den Embed-Code von Peertube zu verwenden. Und da ich in Kirby mit Markdown schreiben, wollte ich versuchen, einen KirbyTag zu programmieren, der über die Embed-API von Peertube ein Video einbettet.

Der Programm-Code nahm die normale Entwicklung eines Hobbyprojekts: von Quick & Dirty über wilde Erweiterungen und chaotische Verbesserungen zum ausgemisteten und neu strukturiertem Code, der halbwegs lesbar ist.

Das Plugin kann aktuell ein Peertube-Video über eine URL einbetten, angepasst werden kann der Player über Optionen der API, wie controls, loop, start. Bei der Option autoplay:true stellt das Plugin das Video automatisch auf stumm — anders funktioniert in modernen Browsern das automatische Abspielen von Videos nicht mehr.
Aber das alles steht in der README-Datei im Git-Repository auf Codeberg.

Und dann kam der Größenwahn. Warum das Plugin nur für mein Blog nutzen? Vielleicht würden gerne auch andere Kirby-Nutzer*innen Peertube-Videos einbetten? Ok, der Open-Source-Quellcode ist auf Codeberg frei verfügbar. Also recherchierte ich ein bisschen und schaffte es tatsächlich, das Plugin als Composer-Plugin zu veröffentlichen (ich hoffe, ich habe da alles richtig gemacht). Es reicht also ein composer require herrthees/kirby-peertube, um das Plugin zu installieren. Das Plugin als Zip-Datei herunterladen und in den Plugin-Ordner der jeweiligen Kirby-Site zu entpacken, geht natürlich auch.

Und so sieht das dann beispielsweise aus.

( peertube: https://peertube.miniwue.de/w/r62bARwEgkDLf3fgDqR6jd loop:true)

Falls ihr das Plugin nutzen könnt und wollt — viel Spaß damit.

Tags

Mit dem Absenden stimmst du zu, dass die eingegebenen Daten gespeichert und in Form eines Kommentars dargestellt werden dürfen.
Ralf Thees

Ralf Thees

Blogger, Podcaster, Journalist, Webentwickler, Netizen, Mensch