Seit Jahren begegne ich immer wieder dem Thema Mastodon auf den einschlägigen Blogs und Websites. Mastodon ist ein Mikroblogging-Dienst in Form eines dezentralen Netzwerkes, gedacht als Gegenentwurf zu den großen kommerziellen Plattformen. Nachdem nun die Entwicklungen bei Twitter in den letzten Monaten meine Motivation verstärkt haben, einen Wechsel durchzuführen, ist er nun vollbracht (@scheible@social.tchncs.de). In diesem Artikel zeige ich Ihnen, wie Sie Ihren Blog am besten mit Mastodon verknüpfen.
Mastodon-Universum
Das Besondere an Mastodon ist, dass es sich zum einen um eine Open-Source-Software handelt, die jeder installieren kann, und zum anderen, dass jeder eine Instanz betreiben kann. Dadurch existieren viele verschiedene Mastodon-Server, die von Vereinen, Organisationen oder Privatpersonen betrieben werden. Sie können sich das so vorstellen, als ob jeder Server eine eigene kleine Community ist, die sich zu einem bestimmten Thema zusammengeschlossen hat. Zusätzlich gibt es aber auch mehrere große allgemeine Instanzen, bei denen keine spezifischen Thematiken im Vordergrund stehen.
Das Universum von Mastodon ist mittlerweile auf über 17 Tausend Instanzen mit insgesamt 8,8 Millionen Teilnehmenden angewachsen (Stand 26. Dezember 2022). Dabei sind die einzelnen Instanzen keine isolierten Inseln, sondern miteinander verbunden, wodurch eine Kommunikation im gesamten Mastodon-Universum möglich ist.
Der Vorteil von Mastodon ist, dass es kein kommerzielles System ist, also auch kein Tracking und keine Werbung existiert.
Auswahl einer Instanz
Wenn Sie sich bei Mastodon anmelden möchten, müssen Sie sich als Erstes eine Instanz aussuchen. Durch den Ansturm in den letzten Monaten ist momentan nicht auf jeder Instanz eine Anmeldung möglich, häufig gibt es aber eine Warteliste. Als globale Übersicht über alle Instanzen können Sie die Seite instances.social verwenden. Hier können Sie alle Instanzen nach verschiedenen Kriterien filtern.
Alternativ schauen Sie sich um, auf welcher Instanz die Personen sind, mit denen Sie sich regelmäßig austauschen oder denen Sie folgen. Ich habe mich daher für die Mastodon-Instanz social.tchncs.de entschieden.
Umzug zu Mastodon
Für den Umzug von Twitter zu Mastodon verwenden Sie das Online-Tool Fedifinder. Hinterlegen Sie Ihre persönliche Mastodon-URL in Ihrem Twitter Profil und melden Sie sich über Fedifinder bei Twitter an. Daraufhin werden die Benutzernamen der Follower des eigenen Twitter-Accounts ausgelesen und danach auf den verschiedenen Mastodon Instanzen gesucht. Als Ergebnis erhalten Sie eine Exportdatei, die Sie in Ihren Mastodon-Account importieren können. Freundlicherweise wird die URL für den Import direkt angezeigt.
Wer noch nach interessanten Accounts zum Folgen sucht, dem kann ich das Tool followgraph.vercel.app empfehlen.
WordPress zu Mastodon
Wenn ich neue Funktionen in meinem WordPress-Blog hinzufüge, verfolge ich das Prinzip des Minimalismus. Lieber eine kleine Funktion selbst schreiben als ein komplexes Plug-in einsetzten, das sich vielleicht in Zukunft, etwa durch eine eingestellte Entwicklung, zu einem Problem erweisen könnte. Daher hatte ich für den automatischen Tweet eines neuen Blog-Eintrags bei Twitter eine eigene kleine Funktion entwickelt.
Für das automatische Veröffentlichen von neuen Blog-Artikeln auf Mastodon gibt es aber das Plug-in Mastodon Autopost. Die Funktionen sind auf das Wesentliche beschränkt und es wird von Simon Frey als Open-Source-Projekt entwickelt (GitHub). Daher habe ich dieses bei mir eingerichtet. Sie können es einfach über den Plug-in-Manager installieren – die Einrichtung ist selbsterklärend.
Mastodon-Feed integrieren
Bisher stellte ich im Footer-Bereich meines Blogs die letzten zehn Twitter-Nachrichten von mir als Liste dar. Auch hier erfolgte der Wechsel auf meinen Mastodon-Feed. Hier gibt es zwar auch einige Plug-ins, aber das Auslesen der aktuellen Nachrichten geht sehr einfach, da jede Mastodon Instanz eine einfache API bereitstellt.
Mastodon JSON API
Als Erstes benötigen Sie die User ID zu Ihrem Account. Wenn Sie diese nicht kennen, geben Sie Ihren Benutzernamen im Format @scheible@social.tchncs.de auf der Seite prouser123.me/mastodon-userid-lookup/ ein. Sie erhalten dann als Ergebnis Ihre ID. Die URL des API-Aufrufs hat das folgende Format:
[URL Instanz]/api/v1/accounts/[User ID]/statuses?limit=[Limit]
Für meinen Account sieht der Aufruf wie folgt aus:
https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10
Sie können sich das Ergebnis zum Beispiel mit ein JSON Viewer ansehen. Klicken Sie auf „Load Data“ und geben Sie in das folgende Feld die URL ein.
PHP-Code
Der nachfolgende Code zeigt exemplarisch, wie eine einfache Einbindung erfolgen kann. Zuerst werden die Daten mit file_get_contents() geladen und mit json_decode() die JSON-Daten dekodiert, damit sie weiter verarbeitet werden können.
$mastodonRaw= file_get_contents("https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10"); $mastodonJson = json_decode($mastodonRaw);
Um sie als Liste auszugeben, wird der ul-Tag ausgegeben und die Daten anschließend in einer foreach-Schleife der Reihe nach bearbeitet. Um das Datum in der deutschen Schreibweise darzustellen, wird es mit date_parse() eingelesen.
echo '
- ';
foreach($mastodonJson as $mastodonElement){
$mastodonDate = date_parse("$mastodonElement->created_at");
}
echo '
Die Ausgabe erfolgt als Listenelement. Als Erstes wird in dem time-Tag das Datum ausgegeben und danach die eigentliche Nachricht. Da Mastodon Umbrüche und weitere HTML-Tags erlaubt, ersetzte ich die Umbrüche mit str_replace() durch ein Leerzeichen und entferne mit strip_tags() die Tags. Abschließend füge ich einen Umbruch ein und den direkten Link zur Nachricht. Für die Optik entferne ich mit substr() das https:// in der Darstellung.
echo'
', ' ', $mastodonElement->content)).'
<a href="'.$mastodonElement->url.'">'.substr($mastodonElement->url, 8).'</a>
Hier der komplette PHP-Code, um den Mastodon-Feed in WordPress zu integrieren:
$mastodonRaw= file_get_contents("https://social.tchncs.de/api/v1/accounts/109574717313715704/statuses?limit=10"); $mastodonJson = json_decode($mastodonRaw); echo '
- ';
foreach($mastodonJson as $mastodonElement){
$mastodonDate = date_parse("$mastodonElement->created_at");
echo'
- '.strip_tags(str_replace('
', ' ', $mastodonElement->content)).'
<a href="'.$mastodonElement->url.'">'.substr($mastodonElement->url, 8).'</a> ';
echo '
Ich würde mich freuen, wenn Sie mir auf Mastodon folgen: @scheible@social.tchncs.de
Foto Quell: unsplash.com