blob: cb3e1f42cc552273816d6454f9af623174b23b47 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
+++
title = "为静态博客添加自动发送 Webmention 的功能"
date = 2026-02-06 10:56:27
tags = ["IndieWeb"]
draft = false
+++
使用 [webmention.app](https://webmention.app/) 提供的命令行工具,在静态博客构建完成后扫描 RSS Feed。这个工具会扫描最新十个条目(也可以指定数目)中的 URL 并寻找那些提供了 Webmention 接收端口的 URL,然后向他们发送 Webmention。
命令行工具通过 NPM 提供,笔者使用 PNPM,使用如下命令安装。
```shell
pnpm install @remy/webmention
```
接下来需要指定一个源,如果使用的静态网站生成器能够生成 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
|