Static Blog Comments
I had read about IndieWeb, webmentions, and Fediverse a few years ago and was very excited about it! It’s a monumental under taking and a great example of good (read: ethical) tech.
But I am not a web developer 🤣, and while I can appreciate what the engineers have accomplished, I was never too sure how to get it going, end-to-end.
I’ve been burning quite a few tokens while LLMs are still basically “free” (see shellac’s analysis), so I decided to let Claude Code slop together a plan from the following resources, particularly the posts by engineers that have implemented for their own static sites.
You can see this site’s source to see how the implementation went. I suppose it’s not tested until this post goes live and I see it federated.
Update: it’s working!
LLM Disclosure
The following citations were assembled from the same claude-opus-4-8 context that provided the webmentions + giscus implementation for this blog. The implementation is the result of my feeding in a subset of those articles and iterating until I approved the design and eventually the implementation itself.
#Bridgy Fed & federation
- Bridgy Fed docs
- bridgy-fed FEDERATION.md
- snarfed/bridgy-fed
- IndieWeb: Bridgy Fed
#Webmentions (receiving replies)
- webmention.io
- webmention.io API README
- webmention.io #126 — avatar rehosting
- IndieWeb: Webmention
#Updating webmentions on a static site
- Nicolas Hoizey — Updating webmentions on a static site
- Sebastian De Deyne — Webmentions with GitHub Actions
- Max Böck — Using webmentions on static sites
- Jan Monschke — Adding webmentions to your static blog
#Microformats2 (h-card / h-entry / h-feed)
- representative h-card (indieweb)
- representative h-card (microformats.org)
- h-entry
- h-feed
- h-card
#Bluesky / AT Protocol (custom-handle verification)
- com.atproto.identity.resolveHandle
- PLC Directory
- app.bsky.feed.getAuthorFeed
#Feed discovery
- Astro RSS recipe
- feed (jpmonette/feed)
#Refresh-workflow plumbing
- GITHUB_TOKEN no-recursion rule
- actions/checkout #1550 — sparse-checkout
- community #25702 — push-from-action triggering
#GitHub-comments fallback & safety
- giscus
- giscus ADVANCED-USAGE (theme postMessage)
- sanitize-html
#Landscape / inspiration
- Cassidy James — Mastodon-powered blog comments
- Greg Newman — Mastodon comments in Astro
- zerok/retoots
- Dan MacKinlay — Comment systems for static websites
- Darek Kay — Static site comments
Discussion in the ATmosphere