From 8446817a815ddd9f748a63e80f30277cf66b3d37 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Fri, 6 Feb 2026 11:10:42 +0800 Subject: docs: new note --- content/notes/automate-outgoing-webmentions.md | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 content/notes/automate-outgoing-webmentions.md diff --git a/content/notes/automate-outgoing-webmentions.md b/content/notes/automate-outgoing-webmentions.md new file mode 100644 index 0000000..45a77a5 --- /dev/null +++ b/content/notes/automate-outgoing-webmentions.md @@ -0,0 +1,41 @@ ++++ +title = "为静态博客添加自动发送 Webmention 的功能" +date = 2026-02-06 10:56:27 +tags = ["IndieWeb"] +draft = false ++++ + +使用 [webmention.app] 提供的命令行工具,在静态博客构建完成后扫描 RSS Feed。这个工具会扫描最新十个条目(也可以指定数目)中的 URL 并寻找那些提供了 Webmention 接收端口的 URL,然后向他们发送 Webmention。 + +命令行工具通过 NPM 提供,笔者使用 PNPM,使用如下命令安装。 + +```shell +pnpm install @remy/ +``` + +接下来需要指定一个源,如果使用的静态网站生成器能够生成 RSS/Atom 的 XML 文件最好。如果是 Hugo,可以用这条命令: + +```shell +pnpm wm public/index.xml +``` + +默认情况下是 `dry-run`,只会扫描并找到 Webmention 的源和目标网址,不会发送,加上 `--send` Flag 才会发送;也可以用 `--limit` 指定扫描的文章数量,如果是 `--limit 3` 就只会扫描 Feed 中的前三条。 + +我的构建过程定义在一个 `.sh` 文件里,把这条命令添加到博客构建完成之后即可。 + +```shell +#!/bin/sh + +git pull +pnpm build:uno:prod +hugo --gc --minify +pnpm pagefind --site public +pnpm wm public/index.xml --limit 3 --send +``` + +这样就能实现 Webmention 的自动发送了。 + +## 参考资料 + +- https://webmention.app/docs#using-the-command-line + -- cgit v1.2.3