2 hours ago · Tech · hide · 0 comments

This is part 2 of my little webmentions series. In part 1, I outlined my incoming webmentions setup. This one will be much shorter because outgoing is a much more straightforward process. As with incoming, I prefer to avoid dependencies on any external, third-party services to send my webmentions. I either want to self-host or roll my own. For outgoing webmentions, I decided to just roll my own. And again, in the interest of full disclosure, I did use Claude Code to help me develop this. The stack # Language: plain Node.js, CommonJS. One script, no framework. fs / path: walk _site/ and read the built index.html files. crypto: builds the content hash that flags a post as edited, so it re-sends. fetch (native, Node 18+): endpoint discovery and the webmention POSTs. No axios or got. jsdom: the one real dependency. Parses each page's HTML to pull the outgoing links and read the target's rel="webmention". State: two flat JSON files, no database. How it works # So my homelab has a little…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.