Kirby Komments Plugin

Kirby

Seit einiger Zeit kann man auf dieser Webseite Kommentare hinterlassen. Nach einiger Entwicklungszeit habe ich meine Lösung dafür jetzt als Kirby-Plugin veröffentlicht.

Mir fehlte bereits schon vor Jahren die Möglichkeit hier eine Kommentarfunktion anzubieten, die nicht auf einem externen Dienst basiert. Ich habe mich also dran gemacht und eines geschrieben. Es gibt bereits ein Kirby-Plugin von Sebastian Greger, bei dem ich auch ganz dreist ein paar Ideen und Code-Schnipsel geklaut habe 🙈 (ich hoffe, er nimmt es mir nicht übel), ich hatte aber ein paar Ideen und Anforderungen, die ich damit nicht lösen/erfüllen konnte.

Komments - mein neues Plugin

Komments heißt mein neues Plugin und ich möchte an dieser Stelle kurz darauf eingehen, was der Hintergedanke dazu ist und wie dieses Plugin mit einigen meiner anderen Kirby-Plugins zusammenhängt.

Kommentare

Das dürfte ziemlich offensichtlich sein: Ich wollte gerne Kommentare auf meiner Seite haben. Das habe ich mit diesem Plugin nun. Es liefert mir eine ganz simple Kommentarfunktion mit einer einfachen Spamerkennung (an der ich in Zukunf wahrscheinlich noch meinen Spaß haben werde…). Sprich, man kann nun unter meinen Beiträgen Kommentare schreiben.

Webmentions

Ich wollte außerdem gerne Webmentions empfangen und senden. Das funktioniert derzeit nur mit webmention.io. Mein Plugin tut das. Dank einiger weiterer Dienste bin ich nun in der Lage Beiträge z.b. auf Twitter und Mastodon zu posten und das Feedback auf diesen Plattformen abzuholen und in Form von Webmentions (die hier als normale Kommentare angezeigt werden) wieder zurück unter die Beiträge zu holen. Antwortest du also bei Twitter auf den Tweet zu diesem Beitrag, erscheint deine Antwort hier als Kommentar.

Spezialitäten

Bevor ich daraus ein offizielles Plugin gemacht habe, hatte ich einen interne Version von Komments hier bereits auf der Seite laufen. Kommentare gibt es ja schon eine ganze Weile. Während der Zeit habe ich ein paar zusätzliche Funktionen eingebaut, die nicht unbedingt Teil eines normalen Kommentar-Plugins sind. So werden neu veröffentlichte Seite automatisch als Toot bei Mastodon gepostet. Außerdem informiere ich bei Updates auch archive.org. Ich wollte außerdem in der Lage sein, Kommentare für einzelne Seiten und Beiträge zu deaktivieren.

Warum was Neues?

Ich hatte ein paar Ideen für meine Seite und die ließen sich nicht bestehenden Plugins umsetzen. Neben der eigentlich Kommentarfunktion, wollte ich auch meine Ratings hier anzeigen. Du kannst weiter unten eine positive oder negative Bewertung abgeben. Diese Ratings wollte ich als eigenständiges Plugin haben. Ich wollte aber auch, dass diese Ratings auf Webmentions reagieren können. Wenn also ein Like via Webmention rein kommt, sollte das Rating-Plugin das mitbekommen und den Zähler entsprechend erhöhen.

Das Problem dabei ist, dass es nur einen Webmention-Endpoint geben kann, ich aber mit den Ratings und Komments zwei verschiedene Plugins hatte, die Endpoints brauchten.

Meine Lösung war das vor einiger Zeit veröffentlichte Plugin Tratschtante. Das Plugin horcht auf einen Webmention-Endpoint und verteilt die Daten, die es empfängt per Hook. Andere Plugins können dann auf diese Hooks lauschen und entsprechend reagieren. Hat man also Tratschtante im Einsatz, kann man Webmentions empfangen und beliebig viele andere Plugins können auf die Tratschtante hören und bekommen dann die Daten weitergereicht (und zwar in einem einheitlichen Format) und können tun, was sie wollen.

Das Resultat: Ein Twitter-Like erzeugt einen Daumen rauf, beim Rating-Plugin und einen Kommentareintrag beim Komments-Plugin.

Wie geht es weiter?

Ich habe hier auf meiner Seite noch ein paar weitere Funktionen, die mehr oder weniger offensichtlich sind und die ich noch als Plugin veröffentlichen möchte. Diese spielen dann über die Tratschtante und andere Schnittstellen alle zusammen.

Für das Kommentar-Plugin selber wird es sicherlich noch einige Anpassungen und Fixes geben, es handelt sich um eine erste Beta. Da sie hier intern aber schon eine ganze Weile im Einsatz ist, bin ich zuversichtlich, dass sie nicht zu instabil laufen sollte.

Ich möchte den Panel-Support noch etwas erweitern und versuchen, das etwas übersichtlicher zu gestalten. Und auch an der Spamerkennung kann man sicherlich noch einiges tun