summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2026-02-06 11:10:42 +0800
committerEltrac <hi@guhub.cn>2026-02-06 11:10:42 +0800
commit8446817a815ddd9f748a63e80f30277cf66b3d37 (patch)
treec4560352f6b31d07f960cae48463ca4d7964d28a /content
parentf65bff39b4a735aaf16041c804bd2c0484a083c5 (diff)
docs: new note
Diffstat (limited to 'content')
-rw-r--r--content/notes/automate-outgoing-webmentions.md41
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
+