diff options
| author | Eltrac <hi@guhub.cn> | 2026-02-06 11:10:42 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2026-02-06 11:10:42 +0800 |
| commit | 8446817a815ddd9f748a63e80f30277cf66b3d37 (patch) | |
| tree | c4560352f6b31d07f960cae48463ca4d7964d28a /content/notes | |
| parent | f65bff39b4a735aaf16041c804bd2c0484a083c5 (diff) | |
docs: new note
Diffstat (limited to 'content/notes')
| -rw-r--r-- | content/notes/automate-outgoing-webmentions.md | 41 |
1 files changed, 41 insertions, 0 deletions
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 + |
