为静态博客添加自动发送 Webmention 的功能
使用 webmention.app 提供的命令行工具,在静态博客构建完成后扫描 RSS Feed。这个工具会扫描最新十个条目(也可以指定数目)中的 URL 并寻找那些提供了 Webmention 接收端口的 URL,然后向他们发送 Webmention。
命令行工具通过 NPM 提供,笔者使用 PNPM,使用如下命令安装。
pnpm install @remy/webmention
接下来需要指定一个源,如果使用的静态网站生成器能够生成 RSS/Atom 的 XML 文件最好。如果是 Hugo,可以用这条命令:
pnpm wm public/index.xml
默认情况下是 dry-run,只会扫描并找到 Webmention 的源和目标网址,不会发送,加上 --send Flag 才会发送;也可以用 --limit 指定扫描的文章数量,如果是 --limit 3 就只会扫描 Feed 中的前三条。
我的构建过程定义在一个 .sh 文件里,把这条命令添加到博客构建完成之后即可。
#!/bin/sh
git pull
pnpm build:uno:prod
hugo --gc --minify
pnpm pagefind --site public
pnpm wm public/index.xml --limit 3 --send
这样就能实现 Webmention 的自动发送了。
参考资料
2026-02-06