One quick deployment later, my site was able to receive direct mentions.
In order to collect other than direct webmentions, for example from tweets, someone has to search the different platforms and ping my site. Bridgy is a service that searches twitter, github, instagram and many others. For example: When a tweet is mentioning one of my posts, a webmention will be send to the URL used in that tweet. Activating that service was easy, I simply had to log in using my twitter account.
Finally, some coding! I was almost disappointed about that part. It was mainly a simple fetch()
against the URL provided by webmention.io, extended with some parameters for filtering the specific URL and sorting.
https://webmention.io/api/mentions.jf2?domain=${domain}&sort-dir=up&target=${targetBase}${slug}/
Then some templating to show the different types of mentions like "like-of", "repost-of" or "in-reply-to" and some CSS. That file named Webmention.svelte
is quite boring. At least for the moment. I'll see if and how the mentions will be used and optimize here and there.
Now that my website is able to receive mentions, why shouldn't it send them as well? Luckily, there's a service providing that feature: webmention.app will be pinged after each deployment by Netlify, scan my RSS-Feed for links to other sites and try to ping them.
When I was mentioning on twitter that my site is now supporting Webmention, Philipp pointed out that there's no way to actively consent on displaying personal data on my site. He's right.
First, I'd like to thank Philipp for his non-mentioning-webmention-related-tweet. as I wrote in the very first sentence of this post (actually before Philipp was tweeting), I'm trying to get as much feedback and learn as much as possible. To be honest: I forgot about GDPR-implications.
I thought about this quite a lot, read what others where thinking about that topic (Sebastian Greger has a very long post about "The Indieweb privacy challenge" which I will surely include in my changes to that part of the posts.) and decided that I'm at the moment with perspective 1 as described by the Indieweb-Wiki. This is a completely private site "by a natural person in the course of a purely personal or household activity" and I spare you my rant about that topic.
It was fun to learn about Webmention and how it is working, what possibilities and services there are and problems there might be. It was fun to build something for me completely new. I'm really looking forward to build more things like that in the future.