Ich habe ein bisschen Buch geschrieben!

Ein Kapitel über „IndieWeb und Fediverse“ im Fachbuch „WordPress 6 – Das umfassende Handbuch“, erschienen im @rheinwerkverlag, um genau zu sein.

Ein Bild der ersten Seite des IndieWeb und Fediverse Kapitels mit einer Autorenbeschreibung und Foto von mir.

Im November 2023 fragten mich @florian und @simon, ob ich Zeit und Lust hätte, ein Kapitel über das IndieWeb zu ihrem Buchprojekt beizusteuern.

Und da spätestens seit dem Studium der Plan, ein Buch zu schreiben, auf meiner „Big 5 for Life“-Liste steht, habe ich ohne groß darüber nachzudenken zugesagt.

Ich hatte 2007 so viel Spaß und Motivation beim Bloggen. Dazu kamen die Arbeit an meiner Bachelor-Thesis und ein paar Jahre später mein erster Artikel sowie eine fortlaufende Kolumne in einem Print-Magazin, dass ich mir gut vorstellen konnte, auch mal ein Buch zu schreiben. Zu der Zeit hatte ich auch bereits Kontakt zu Galileo Press (heute Rheinwerk-Verlag), die mich wegen eines Buchprojekts angefragt hatten. Damals standen die Themen „Web Accessibility“, „jQuery“ und „WordPress (evtl.)“ zur Debatte. Microformats, mein damaliges Steckenpferd, wurden leider als „nicht unbedingt […] „ergiebig“ genug“ für ein Buchthema angesehen. 🙂

Jetzt, nachdem ich die 30 Seiten für das Kapitel über „IndieWeb und Fediverse“ geschrieben habe, bin ich froh, klein angefangen zu haben. Ich habe unterschätzt, wie viel Arbeit das ist, aber auch gemerkt, wie viel Spaß es macht! Außerdem war es die perfekte Themenkombination!

Ich hoffe, dass Flo und Simon (und der Rheinwerk-Verlag) mich vielleicht auch eine Überarbeitung für das WordPress-7-Buch (und 8, 9, 10, …) schreiben lassen. Und wer weiß – vielleicht klappt es ja irgendwann doch noch mit einem ganzen Buch. 😉

Vielen Dank nochmal für die Chance, zumindest ein „bisschen Buch“ schreiben zu können!

@simon hatte eine Idee:

Wir starten Ende Februar eine neue kleine Veranstaltungsreihe: den KrautPress Website Club. Gemeinsam mit Matthias Pfefferle werden wir uns einmal im Monat treffen und ganz im Sinne des WordPress-Mottos „democratize publishing“ zusammen über persönliche Websites sprechen.

…und fand die perfekten Worte um mich zu umgarnen 🫶:

Matthias ist im deutschsprachigen Raum, aber vor allem in der WordPress-Welt, eine der Instanzen zum Thema IndieWeb. Mit ihm über kleine Ideen für Websites zu sprechen oder einen unerwarteten Deepdive zu Themen wie Webfinger, .well-known oder Webmentions zu machen, motiviert mich persönlich immer an meinem eigenen Blog zu arbeiten.

Also veranstalten wir am 26. Februar von 17:30-18:30 einen virtuellen KrautPress Website Club (in Anlehnung an den Homebrew Website Club) in dem wir an Simons, eurer und meiner Webseite basteln. Es wird um die Themen Social Web im Allgemeinen und dem IndieWeb und dem Fediverse im Speziellen gehen. Wir werden nicht über SEO oder Web-Shops sprechen 😉

Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities & content, or just want support with blogging!

https://indieweb.org/Homebrew_Website_Club

Wenn ihr dabei sein wollt, einfach in den Kommentaren des KrautPress Posts euer „Interesse bekunden“: https://krautpress.de/2025/erster-website-club/

Ich habe einen neuen Podcast! 🎉

…naja, nicht ganz ☺️

Aber ich darf (neben Courtney Robertson, Dave Lockie und Robert Jacobi) eine Show auf @dothewoo.io hosten!

Knapp 17 Jahre nach der ersten und fast 14 Jahre nach der letzten Episode des OpenWebPodcasts darf ich wieder mit Gästen über das Fediverse, das IndieWeb, das OpenWeb im Allgemeinen und diesmal speziell (aber nicht zwingend) im Kontext von WordPress sprechen.

Same Same But Different: Der Titel ist erschreckend ähnlich (obwohl ich damit nichts zu tun hatte und Bob den OpenWebPodcast nicht einmal kannte), die Themen sind auch gleich (ich bin leider inselbegabt) mit dem neuen Fokus auf WordPress und auch bei den Gästen wird es vielleicht Überschneidungen geben.

Was wirklich neu ist: Der Podcast ist auf Englisch – und genau davor hatte/habe ich bisher den größten Respekt.

Die erste Episode ist schon „im Kasten“ und sollte in den nächsten zwei Wochen live gehen (ich glaube es wird sogar ein Video geben).

Ein riesiges Dankeschön vor allem an @alex, dass er als mein erster Gast das Versuchskaninchen gespielt hat ☺️

(wobei ich mir nicht mehr ganz sicher bin, ob ich das vorher wirklich erwähnt hatte… 🤔)

Es ist auf jeden Fall eine großartige Folge, in der wir über die noch großartigeren (WordPress-)Projekte von Alex sprechen.

Danke auch nochmal an Bob (@BobWP), dass er dem fediverse einen festen Platz in seinem Podcast eingeräumt hat!

Ihr könnt DoTheWoo übrigens auch über ActivityPub auf Mastodon oder jeder anderen fediverse Plattform eurer Wahl abonnieren! Folgt einfach @dothewoo.io@dothewoo.io oder klickt @dothewoo.io

TL;DR

<div class="h-event">
    <time class="dt-duration" datetime="P20Y">
        20 Jahre Microformats 🎉
    </time>
</div>

Longread

Vor zwanzig Jahren haben @KevinMarks und @tantek.com Microformats in einer Konferenzpräsentation vorgestellt.

Happy Birthday 🎉

Ich bin ein bisschen spät dran, ich weiß, ich weiß, aber es gibt wenig, was mich schon so lange (online) begleitet wie das Format und die Community (abgesehen vielleicht von WordPress), dass ich das nicht unkommentiert lassen kann!!

Zu meiner Historie: Im Gegensatz zu vielen Anderen in der Branche, mache ich meinen Job nicht, weil ich Spaß am programmieren alleine habe. Ich hatte nie das Bedürfnis, als Kind oder Jugendlicher an einem Computer oder C64 herumzubasteln. Statt dessen bin ich Ende der 90er dem Internet/Web/Bloggen verfallen.

Das Web war:

But if you think of the years 1995-2005, you remember when the web was our social network: blogs, comments on blogs, feed readers, and services such as Flickr, Technorati, and BlogBridge to glue things together. Those were great years […]

Why Micro.blog is Not Another App.net

Eigentlich passt auch die Beschreibung des IndieWebs:

It is a community of independent and personal websites connected by open standards and based on the principles of: owning your domain and using it as your primary online identity, publishing on your own site first (optionally elsewhere), and owning your content.

indieweb.org

Ich habe damals angefangen Webseiten mit Frontpage zu bauen, hab den HTML Code verändert und geschaut wie sich das auf sie Seite auswirkt, hab CSS „drüber gelegt“, ein wenig Dynamik mit JavaScript dazu „gebastelt“… Es hat Spaß gemacht!

Ich bin also nicht durch die Freude am Programmieren im Web gelandet, sondern habe durch die Faszination am Web, programmieren gelernt 🙂

Wer sich damals, im deutschsprachigen Raum, mehr oder weniger seriös mit dem Thema HTML beschäftigt hat, ist früher oder später über die Webkrauts gestolpert und über diesen Dunstkreis, habe ich 2006 auch das erste Mal von Microformats gelesen.

Wenn man in letzter Zeit durchs Internet surft, stolpert man immer häufiger über den Begriff „Microformats“ oder sieht das grüne Symbol auf Kontaktseiten. Aber was genau sind Microformats und für was sind sie gut?

Microformats

Ich glaub es war das Blog von @pixelgraphix auf dem ich dieses „grüne Symbol“ zum ersten Mal entdeckt habe.

Die Idee hat mich tief beeindruckt! Ein Format, „designed for humans first and machines second„! HTML als API „nur“ unter Verwendung von class und rel Attributen, also klassisches Plain Old Semantic HTML (PoSH)!

Und irgendwie beschäftigen mich Microformats bis jetzt:

Durch die Erfahrung der letzten Jahre habe ich mittlerweile eine etwas differenziertere Meinung zu „HTML als API“, das Ändert aber nichts an meiner generellen Faszination für Websemantiken.

Die Microformats Community hat mir außerdem die Welt des Open Webs und der Open Standards offenbart, immerhin haben Microformats direkt oder indirekt auch Initiativen wie DataPortability.org, DiSo und das IndieWeb beeinflusst.

Danke Microformats und noch einmal Happy Birthday 🥳!

Vor ein paar Tagen schrieb Tantek Çelik (@tantek.com) auf seinem Blog:

No large language models (LLM) were used in the production of this post.

Inspired by a subtle but clear sign-of-the-times one-line disclaimer at the end of RFC9518’s Acknowledgments (https://www.rfc-editor.org/rfc/rfc9518.html#appendix-A-4)

Ich weiß nicht ob „inspiriert“ hier der richtige Begriff ist… ich weiß was er meint und verstehe seinen Punkt, finde es aber auch sehr beängstigend. Ist es wirklich schon soweit, dass man explizit erwähnen muss, dass ein Mensch einen Text geschrieben hat?

Es fühlt sich ein wenig so an, als würden wir hier gerade wieder den gleichen bzw. einen ähnlichen Fehler begehen, den wir schon zweitausendirgendwas mit dem Social Web begangen haben.

„No large language models (LLM) were used in the production of this post.“ scheint das neue „IndieWeb“ oder „Fediverse“ zu werden. Man fängt an, das was eigentlich die Norm sein sollte, zur Ausnahme zu machen und neue Begriffe/Beschreibungen dafür zu finden.

Es gibt gerade erst wieder (nach fast 15 Jahren) verschiedene Diskussionen zu dem Thema „Social Web“ vs the „Fediverse“ und auch @Gargron (der Gründer von Mastodon) spricht im dotSocial Podcast mit @mike (der Gründer von Flipboard) vom Social Web!

Passend dazu hat @marcelweiss (der übrigens auch schon seit Ewigkeiten im Team „Social Web“ spielt), unsere neue Podcast Folge „neunetzcast 99: Nieder mit dem Fediverse, hoch lebe das Social Web“ genannt 🙂

Ich werde also weder das „Not By AI“ Badge, noch den Text „No large language models (LLM) were used in the production of this post.“ irgendwo auf meinen Blog packen, in der Hoffnung, dass die Nutzung von AI/LLM irgendwann kennzeichnungspflichtig wird!

Ich schreibe hier um meine Gedanken (mit euch) zu teilen, nicht für irgendeine Suchmaschine, das heißt wenn ich irgendwann nichts mehr zu scheiben habe, dann wird es hier eben einfach ruhig PUNKT

…and because it fits so well: Happy Birthday Ma.tt! And happy blogging forever!

Im modernen Sprachgebrauch wird der Begriff [Posse] in übertragenem Sinn […] genutzt, um als grotesk empfundene Vorgänge in Gesellschaft und Politik zu beschreiben.

https://de.wikipedia.org/wiki/Posse

Wer sich (aus gegebenem Anlass) sorgen um Twitter macht, sollte sich mal mit der etwas anderen POSSE befassen.

POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, the practice of posting content on your own site first, then publishing copies or sharing links to third parties (like social media silos) with original post links to provide viewers a path to directly interacting with your content.

https://indieweb.org/POSSE

Installiert euch WordPress! Veröffentlicht Texte, Bilder, Videos und Ideen nicht auf Twitter sondern auf eurer eigenen Seite! Teilt eure Inhalte über Twitter!

Und sollte Twitter „verschwinden“, teilt es über Mastodon! usw, usw…

Schaut euch dazu gerne auch mal Brid.gy an!

Vor ein paar Tagen bin ich über einen Post von Tantek Çelik gestolpert, in dem er metaformats vorstellt.

Introducing (https://microformats.org/wiki/metaformats), an extension to for parsing invisible data published in HTML meta tags, for backward compatibility with existing vocabularies consumed by multiple testable interoperable implementations.

https://tantek.com/2022/091/t1/metaformats

Der Vorschlag ist vom 01. April und war wohl ursprünglich als April-Scherz gedacht.

metaformats started as an April Fools joke concept to describe how to both publish using microformats class names and openly parse meta tags as a fallback for what should be in-the-body visible data, including backcompat with OGP, Twitter Cards, and meta author, description, and anything else real sites (like search engines) appear to consume.

https://indieweb.org/metaformats

Eine Art Fallback-Spezifikation für Microformats-Parser finde ich in der Tat etwas sperrig, aber ich mag die Idee eines Fallbacks an sich.

Microformats sind ein Building-Block des IndieWebs und werden unter anderem auch von Webmentions genutzt. Es sind Markup-Formate zur semantischen Auszeichnung von HTML. In der Version 2, werden Microformats aber fast ausschließlich von der IndieWeb Community benutzt und sind darüber hinaus wenig bekannt.

Aber gerade für WordPress ist es extrem schwer, bestehende Themes nachträglich mit Microformats zu „veredeln“. Wir haben es mit diversen Plugins versucht, mit nur mäßigem Erfolg. Andere Formate wie das Open Graph Protocol oder Schema.org (JSON-LD) sind da wesentlich einfacher zu integrieren, da sie nicht bestehendes HTML erweitern und durch den Support der großen Suchmaschinen und sozialen Netzwerke, auch viel attraktiver sind.

Ich bin kein großer Fan von embedded JSON-LD, aber wenn es nicht anders funktioniert und seine Reichweite hat, warum sollte man es dann ignorieren?

Das IndieWeb hat eigentlich eine großartige Philosophie um mit solchen „Problemen“ umzugehen.

bridge all the things is a nascent IndieWeb philosophy that prioritizes interoperability over ideology, NIH, historical disagreements, etc. ecosystems are valuable and powerful, and one easy way to extend an ecosystem is to bridge it with other existing ecosystems.

https://indieweb.org/bridge_all_the_things

Für das Webmention Plugin haben David und ich schon vor Monaten einen ganz ähnlichen Ansatz gewählt. Neben Microformats unterstützen wir auch OGP, Twitter-Cards, Schema.org, Meta-Header und die WordPress API, um eventuell fehlende Microformats v2 zu kompensieren.

Selbst wenn „metaformats“ nur als April Scherz gedacht waren, hat die Idee Potential um speziell Webmentions voran zu treiben, da sie eine direkte Abhängikeit zu einer speziellen Websemantik verhindert.

Bridge all the things!

Das IndieWeb Team auf dem Cloudfest Hackathon

Vom 19. bis 21. März fand der CloudFest Hackathon in Rust statt und ich hatte die Chance ein Projekt einzureichen und zu leiten:

WordPress and the IndieWeb

The IndieWeb is a community of individual personal websites, connected by simple standards, based on the principles of owning your domain, using it as your primary identity, to publish on your own site (optionally syndicate elsewhere), and own your data.

There are a variety of WordPress-plugins implementing these standards and principles, to help people to stay independent. Most of these plugins are very basic, have no or only little documentation with a poor user experience. Help the movement to mature and gain a broader audience.

Ich hatte mir im Vorfeld nicht viel Gedanken zum Hackathon gemacht, hab aber insgeheim gehofft, der Version 5.0 vom Webmention Plugin (einer nahezu kompletten Überarbeitung an der David Shanske und ich schon eine halbe Ewigkeit arbeiten) ein wesentliches Stück näher zu kommen… Das Wochenende lief dann aber doch etwas anders… auch großartig, aber anders 🙂

1. Tag

Wir waren eine wild zusammengewürfelte Truppe von 8 Leuten mit den verschiedensten Lebensläufen und ich hab mir den ersten Tag viel Mühe gegeben, das IndieWeb und Webmentions zu erklären. Die Diskussionen waren spannend und hitzig und gingen sogar so weit, dass ich zwischendurch den generellen Sinn und Zweck des Webmention Plugins verteidigen musste.

Hackathon Gruppe

Letztendlich haben aber nicht meine Argumente die Gruppe überzeugt, sondern eine Präsentation des Plugins mit all seinen aktuellen Features. Wer diesen Erkenntnisprozess nachvollziehen möchte, kann gerne Hagen Grafs „Webmention Journey“ auf Twitter verfolgen 🙂 (Nachtrag: Hagen hat seine Journey mittlerweile auch „verbloggt“)!

Meine Fazit des ersten Tages?

Man muss nicht die Geschichte des IndieWebs verstehen und auch nicht den Webmention Standard gelesen haben um von der Funktionalität begeistert zu werden, vor allem in der Kombination mit Brid.gy (Brid.gy schlägt eine Brücke zwischen dem Webmention Standard und den proprietären APIs der bekannten Social Networks. So landen dann auch Likes auf Facebook und Kommentare auf Twitter, im eigenen Blog).

Ich werde Versuchen mich zukünftig weniger auf Geschichte und Technologie zu konzentrieren und auf Vorträgen und Hackathons mehr Fokus auf die Funktionalität zu legen.

Ich hab die Plugins in erster Linie erstmal für mich Gebaut. Frei nach dem Motto „eat your own dogfood„. Das hat für die IndieWeb Community ganz gut funktioniert, aber um eine breitere Masse anzusprechen, muss das Plugin verständlicher werden.

Für den Hackathon haben wir uns deshalb dazu entschieden, die Usability und die User Experience des Plugin zu beleuchten und (im besten Fall) zu verbessern.

Webmention-Settings

Die Einstellungen setzen relativ viel Kenntnisse über die Funktionsweise von Webmentions voraus. Ein Teil der Gruppe hat sich daran gemacht, die Seite zu überarbeiten und zu vereinfachen.

Das Resultat ist eine Art Wizard, der beim ersten Aufruf gestartet wird und den User Schritt für Schritt durch die Einstellungen führt und sie ausführlich erklärt. Der Wizard soll nur beim ersten Laden starten und die klassischen Einstellungen nicht ersetzen.

(Der Pull Request dazu: #328)

Die zweite Idee war Brid.gy tiefer in das Webmentions Plugin zu integrieren. Die aktuelle Diskussion dazu findet auf GitHub statt.

Response-Types

Im Gegensatz zu Trackbacks und Pingbacks, müssen Webementions nicht immer „nur“ ein simpler ping sein. Es ist auch möglich dezentrale Likes, Bookmarks, RSVPs oder Reposts zu verschicken.

Aktuell muss man dazu im Block-Editor auf die HTML Ansicht wechseln und dem Link eine CSS-Klasse hinzufügen:

<a class="u-like-of" href="http://example.com/">Example</a>Code-Sprache: HTML, XML (xml)

Das ist nicht praktikabel und in keiner Weise anwenderfreundlich. Aus diesem Grund hat eine zweite Gruppe, an einem User Interface für den Response-Type gearbeitet.

Response-Types für Links im Block Editor

Am Ende des Hackathons gab es auch einen ersten Draft, mit der man Links als Likes auszeichnen konnte. Den PR gibt es leider noch nicht, aber ich werde ihn nachreichen wenn es soweit ist.

Webmaininnat suomeksi

…ja Carolinan ansiosta Webmaininnat-laajennus on nyt saatavilla myös suomeksi! Kiitos paljon 🙂

Fazit

Es war extrem spannend mit Leuten, außerhalb der IndieWeb und (teilweise) auch außerhalb der WordPress-Community, über das IndieWeb im Allgemeinen und das Webmention Plugin im Speziellen zu sprechen.

Vielen Dank an Moritz Bappert, Stefan Euchenhofer, Marko Feldmann, Hagen Graf, Carolina Lindqvist, Jason Rouet und Jan Vogt für eure tolle Arbeit! Danke für die neue Perspektive und für euer Feedback!

Danke auch an Robert Windisch und Alain Schlesser, mit denen ich viel über das Potential von Webmentions im WordPress Core geredet habe.

Die 5.0er Version des Webmention Plugins wird großartig!

A list of all my WordPress Plugins

Mein erstes WordPress Plugin hab ich vor mehr als 14 Jahren veröffentlicht und über die Jahre sind eine ganze Menge, mehr oder weniger erfolgreiche, Plugins dazu gekommen… Zeit für eine Inventur 🙂

Viele der Plugins schreibe ich in erster Linie für mich selbst (eat your own dogfood), weshalb ich in den wenigesten Fällen über die Plugins spreche oder sie bewerbe. Das, in Verbindung mit meinen eher spärlichen Beschreibungen, sorgt oft für eher zweistellige, maximal dreistellige Download-Zahlen. Wo die Zahlen höher sind, habe ich das Plugin meistens von Anderen übernommen (um die Weiterentwicklung zu gewährleisten) oder ich bin einfach „nur“ Contributor.

Aber Schluss mit der falschen Bescheidenheit!

Selbst wenn ich die Plugins für mich baue, ist die Motivation natürlich größer, wenn sie auch von anderen benutzt werden. Also möchte ich euch hier ein paar meiner Plugins vorstellen.

ActivityPub

ActivityPub ist ein, vom W3C veröffentlichtes, offenes, dezentrales Protokoll für soziale Netzwerke.

The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.

https://www.w3.org/TR/activitypub/
Schaubild welches die Funktionsweise von ActivityPub zeigt

Es ermöglicht das dezentrale kommunizieren über Text, Bild, Video und Audio über ein simples Inbox/Outbox Prinzip.

WebFinger Plugin

WebFinger ist kein fester Bestandteil von ActivityPub, wird aber von allen großen Netzwerken unterstützt und von Mastodon sogar verlangt. WebFinger ist eine Art Meta-Data System für alle möglichen URIs. Der gängige Identifier im Fediverse ist @username@domain.tld, das Plugin erlaubt aber auch die Author URL oder die Instant-Messaging Accounts eines Users, wenn diese unter der gleichen Domain erreichbar sind.

Mein Identifier ist Beispielsweise pfefferle@notiz.blog und die Meta-Daten können über folgenden API-Endpunkt abgerufen werden: https://notiz.blog/.well-known/webfinger?resource=acct%3Apfefferle%40notiz.blog

NodeInfo Plugin

NodeInfo (2) ist auch kein fester Bestandteil von ActivityPub, wird aber auch von den Meisten Netzwerken unterstützt. NodeInfo stellt, wie der Name schon sagt, Infos über einen „Node“ (Server) bereit. Dank NodeInfo gibt es eine ganze Reihe an Statistik-Seiten wie the-federation.info, die bei der Auswahl der richtigen Plattform bzw. des richtigen Servers helfen.

ActivityPub Plugin

Das eigentliche ActivityPub Plugin macht WordPress zu einem (kleinen) Teil des Fediverse. User von Mastodon, Pleroma, Friendi.ca oder Pixelfed können dem Blog „folgen“ und sehen ab dann alle neuen Blog-Posts in ihrer Timeline und können diese kommentieren. Das Plugin ist immernoch in einem frühen Stadium und bekommt sicherlich noch das ein oder andere Feature, im Fokus soll aber das Bloggen stehen. Wer ein vollwertiges, dezentrales, soziales Netzwerk möchte, sollte sich erstmal für eine der oben genannten Plattformen entscheiden.

IndieWeb

Der IndieWeb Wapuu

Das IndieWeb ist eine Grassroots Bewegung mit dem Ziel, die eigene Webseite als zentralen Kommunikations-Hub zu nutzen.

The IndieWeb is a community of individual personal websites, connected by simple standards, based on the principles of owning your domain, using it as your primary identity, to publish on your own site (optionally syndicate elsewhere), and own your data.

https://indieweb.org/IndieWeb

Mehr zum IndieWeb findet ihr hier oder unter dem Tag „indieweb“ hier im Blog.

IndieWeb Plugin

Das IndieWeb Plugin hat nahezu keine Funktionalität, es ist vielmehr eine Art Installer um die IndieWeb Plugins über eine zentrale Stelle verwalten zu können.

Es gibt immer wieder Kritik am Aufbau des Plugins, bzw. kommt immer wieder die Frage auf, warum das Plugin nicht einfach die komplette Funktionalität der einzelnen Plugins beinhaltet. Meine Antwort darauf: Das IndieWeb ist mehr eine Idee als eine Spezifikation und es gibt verschiedene Möglichkeiten diese Idee mit WordPress umzusetzen. Für einen Usecase gibt es also oft verschiedene Lösungen, die von verschiedenen Personen entwickelt werden. Ein IndieWeb Plugin im Stil von ActivityPub ist in meinen Augen nicht möglich. Ich lasse mich aber gerne eines besseren belehren 😉

Webmention Plugin

Webmentions sind eine moderne Alternative zu Pingbacks und Trackbacks. Im Gegensatz zu der eher unglücklichen Darstellung von Pingbacks ([...] super, wie war nochmal der kontext, oder [...]) versucht das IndieWeb (über Webmentions und Microformats), den Sinn und die Art einer Verlinkung heraus zu bekommen um die Reaktion dann als Like, Bookmark oder vollwertiges Kommentar anzuzeigen.

Das Webmention Plugin implementiert aktuell nur den Kommunikations-Teil, für das Interpretieren der Websemantiken benötigt ihr zusätzlich das „Semantic Linkbacks“ Plugin.

Mehr über Webmentions hier oder unter dem „webmention“ Tag hier im Blog.

Semantic Linkbacks Plugin

Wie oben beschrieben sorgt das Semantic Linkbacks Plugin für die hübsche Darstellung der Webmentions, Pingbacks und Trackbacks. Wir sind gerade dabei, die Funktionalität in das Webmention Plugin zu übertragen, deshalb hat das Plugin aber nur noch temporär Bedeutung.

WebSub Plugin

WebSub (formerly known as: PubSubHubbub) ist ein simples PubSub Protokoll für das Web. Es wurde ursprünglich entwickelt um updates von RSS und Atom Feeds in „echtzeit“ zu konsumieren. Push statt pull. Die Restriktion auf RSS und Atom, wurde mit der aktuellen Version aufgehoben.

WebSub provides a common mechanism for communication between publishers of any kind of Web content and their subscribers, based on HTTP web hooks. Subscription requests are relayed through hubs, which validate and verify the request. Hubs then distribute new and updated content to subscribers when it becomes available. WebSub was previously known as PubSubHubbub.

https://www.w3.org/TR/websub/

Über das WebSub Plugin (ursprünglich entwickelt von Josh Fraser) kann man die Standard-Feeds von WordPress abonnieren. Das Plugin kann aber auch über andere Plugins und Themes erweitert werden.

MF2 Feed Plugin

Das IndieWeb setzt im, Gegensatz zum Fediverse, nicht auf APIs, sondern auf Semantisches HTML:

The idea is rather than publishing something twice (repeating yourself) with (x)HTML for browsers and XML for aggregators – you simply publish once using (x)HTML and allow the tools to take care of the rest.

http://microformats.org/wiki/dry
Das Microformats Logo

In einer Welt in der jeder WordPress Theme Developer Wert auf Microformats, Schema.org oder Ähnliches achtet, funktioniert das Konzept super. Die Erfahrung zeigt aber, dass nur wenige Themes (seit fast 9 Jahren eigentlich sogar nur ein Theme) im WordPress.org Repo Microformats2 unterstützt.

Ich habe viel herum experimentiert um Themes über ein Plugin mit den nötigen Semantiken zu erweitern, was aber, durch Output Escaping, zu komischen Nebeneffekten geführt hat (das alles aber nur der Vollständigkeit halber, das Thema ist eigentlich einen ganzen Artikel wert).

Letztendlich haben wir für WordPress ein Plugin gebaut, das einen Feed bereit stellt, der genau dem JSON Format entspricht, welches auch die Microformats Parser ausspucken. Das Webmention Plugin sucht also erst den pre-parsed Feed und versucht erst im zweiten Schritt, die Seite selbst zu parsen.

Ihr versteht die Ironie? Microformats(2) sind geschaffen worden um XML/JSON APIs abzulösen und weil das bei WordPress nicht wirklich dolle funktioniert bieten wir die Infos als JSON API an! 😀

Decisions, not Options

Ich bin ein Freund von kleinen Plugins die nur einen spezifischen Anwendungsfall abdecken und im besten Fall auch vollkommen ohne Settings aus kommen. Frei nach dem Motto von WordPress:

When making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration.

https://wordpress.org/about/philosophy/#decisions

(Ironischerweise führt aber gerade das Fehlen von Settings oft für Verwirrung 😉 )

OpenGraph Plugin

Das Open Graph Protokoll wurde von Facebook entwickelt und hat einen ähnlichen Nutzen wie oEmbed:

The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.

https://ogp.me

Es wird aktuell von fast jedem großen Netzwerk oder fast jeder Messaging App benutzt und sorgt dafür, dass ihr die kleinen hübschen Vorschausnippets seht, wenn ihr einen Link mit euren Freunden teilt.

Das OpenGraph Plugin wurde ursprünglich von Will Norris geschrieben und generiert alle notwendigen Meta-Tag Header. Keine Settings, keine Entscheidungen, aber mit wohl definierten Filtern zum erweitern.

Hum Plugin

Hum generiert schöne, semantische Short-URLs für WordPress Posts und Pages. Das Plugin ist ursprünglich auch von Will Norris, integriert sich in die WordPress Core-Funktionen und kommt auch komplett ohne Settings aus.

Hum basiert auf Whistle

Whistle is an open source, algorithmically reversible, personal URL shortener.

http://tantek.pbworks.com/w/page/21743973/Whistle

…und New Base 60

A base 60 numbering system using only ASCII numbers and letters.
or
a side effect of building a personal URL shortener

http://tantek.pbworks.com/w/page/19402946/NewBase60

…zwei Specs von Tantek Çelik.

Open Search Document Plugin

Die OpenSearch Spezifikation bietet Möglichkeiten um die lokale Blog-Suche für Browser oder Suchmaschinen zugänglich zu machen.

OpenSearch is a collection of simple formats for the sharing of search results.

https://github.com/dewitt/opensearch

Es gibt Integrationen für alle bekannten Browser wie z.B. Chrome, Safari, Firefox und Microsoft Edge.

Das Plugin wurde ursprünglich von johnnoone Entwickelt, es stellt eine XML Beschreibung der Suche und einen Endpunkt für Such-Vorschläge basierend auf Tags bereit.

Das wars auch schon 🙂

Mehr?

Natürlich gibt es noch mehr, das würde aber den Rahmen sprengen. Ich nutze WordPress gerne um neue Specs und Ideen auszuprobieren und daraus entstehen meist kleine Plugins, die es oft nicht wert sind, auf WordPress.org veröffentlichen zu werden.

Ihr könnt aber gerne:

Ihr könnt fast alle Plugins auch bequem über Composer installieren und updaten.

Ich freue mich IMMER über Hilfe, also feel free to contribute!