Receive webmentions on your Digital Garden without editing its template.
Repo: https://github.com/bodster7/garden-plugin-webmention-endpoint
In Obsidian: Settings → Digital Garden → Plugins → Install from GitHub, and paste the repo URL. Then fill in one setting (two, if this garden is your only site). The README has the details.
View the source of this page and look in the <head>. Two lines in there, rel="webmention" and rel="me", were put there by this plugin.
The itch
My main garden, bodster.com, can receive webmentions. That's because I could reach into its template and paste one line of HTML into the <head>, which is exactly what webmention.io tells you to do.
Then I started this garden on Forestry.md, and there was nowhere to paste it. Forestry looks after the template for you, which is lovely right up until you want to change it. No repo to edit, no head to reach into. Or so I thought.
But a garden plugin can add things to the head of every page. So that became the plan: a plugin whose whole job is to add one line.
One line, and one good idea
The one line is easy. The good idea is the bit I'm actually pleased with.
To use webmention.io you sign in with a domain, and that domain becomes your account. Signing in means proving you own the site, which is hard to do on a hosted garden. But it turns out the endpoint you advertise doesn't have to belong to the site it's on. So this garden advertises bodster.com's endpoint:
<link rel="webmention" href="https://webmention.io/bodster.com/webmention">
Mentions of pages here land in my bodster.com account, still addressed to bodster.forestry.md. This garden never needed an account of its own.
Bumps along the way
- The name. The plugin started life as
dg-webmention-endpoint, copying the naming of the built-in plugins likedg-search. Then I found out (well, Code did) thatdg-is reserved for official plugins. It got renamed before anything was published, which is the best time for that kind of discovery. - The first test mention bounced. I sent one from this garden's home page to one of its other pages, and webmention.io said the source page didn't link to the target. It did, but with a relative link (
/projects/project-a/), and webmention.io wants the full URL. Second try, from a page with a full link: accepted, stored, and showing up in my dashboard. - PowerShell has opinions. On Windows,
curlin PowerShell isn't actually curl. Typecurl.exeinstead and save yourself a confusing error message.
v1.1: if this garden is your only site
My trick needs another site that already has a webmention.io account. Plenty of people won't have one: this garden is their site.
So v1.1 added an optional second setting for a sign-in profile. You put your GitHub (or GitLab, or Codeberg) profile URL in it, the plugin adds a rel="me" link pointing at that profile, and you add your garden's URL to the profile. Each now vouches for the other, and that's enough to sign in to webmention.io with the garden's own domain.
Testing it on clooeygooey.com turned up a nice detail: the link back doesn't have to be in GitHub's main Website field. One of the profile's social links works too, so one GitHub profile can vouch for several sites.
Is it worth a plugin?
It turns out that Forestry does let you add HTML snippets to targeted sections of the layout, and I could have got the same result that way (I tried, and it works perfectly). But having already built the plugin, I realised what it adds: the instructions and the guardrails. It tidies up whatever you paste, refuses anything that isn't a valid domain or https:// link, and adds nothing at all until it's filled in. That's what I'd want if I were new to all this, or not technically minded. It's the same spirit as Ole's Webmentions plugin.
Where it's at
- v1.1.0, released October 2026.
- Running here, on bodster.forestry.md, since its very first version.
- Submitted to the community plugin gallery (pull request #7), waiting on Ole.
It pairs nicely with Ole's Webmentions plugin: his shows the mentions under your notes, mine makes sure they arrive in the first place.
This and Croutons are the first open source things I've ever put out into the world, which is equal parts scary and exciting. If you try it, I'd love to hear how it goes. A webmention would be very on-brand.