I'm on a roll with webmentions today. While I initially planned to hold off on displaying them publicly until a while later, since I figured out a good design, I decided to ship them in detail pages as well. They're hidden by default with a badge indicating the number of interactions.Β  All mentions must be πŸ‘ed before they appear. Pages without interactions do not show anything.

Webmentions show inline with their content.


One thing I'm not entirely happy about is that by using the object tag to allow me to detect broken images is I lose the ability to lazy load them. i.e. img supports loading="lazy" and object does not. A waste of bandwidth and resources.

It's not a huge issue as icons are small. Once I start integrating turbo I plan to to lazy load the webmentions as a whole, so no content is event sent until requested.

I've also found a bug (or what I consider a bug) somewhere in the webmention stack (either in mf2py or in the webmention test tool, I think). The basic issue is emoji and other unicode characters come across as escaped unicode like \xf0\x9f\x98\xa2, Cleaning it the response body with the excellent ftfy (fixes text for you) takes care of the issue for now, but it feels like that should be unnecessary.Β 
Interactions
2