从memos的webhook开始
说在前面
memos的webhook
功能从v0.18 版本开始加入.webhook
也为memos
带来了不一样的玩法.
前段时间从Typecho
主题icefox
上直接CTRL
+C
了CSS布局,做了一个基于memos
的单页面,类微信朋友圈.
然后使用webhook
自动保存json到本地目录,快速加载. 解决跨域问题
获取memos.json
使用bash
创建一个memos.sh
文件
|
这个脚本用于获取最近200条的memos
自行更改以上的API_URL
token
以及过滤参数
当然我们也可以 使用
php
获取json
或者使用宝塔webhook
获取json
这样就不需要部署webhook镜像
可以跳过以下部署webhook镜像的部分
使用宝塔webhook
可直接复制bash代码到宝塔的webhook中
其中目标位置OUTPUT_FILE
需要使用绝对路径
点击查看密钥
宝塔WebHook使用方法:
GET/POST:
https://ip:18888/hook?access_key=9EkgLRL4NbZOC7TSfiIyCE3rUQo3yEYfu7XPW6BX3Qjuobwt¶m=aaa
把以上链接填入memos的webhook中
使用php获取
|
把以上保存为memos.php,放在可执行的网站目录中
访问地址即可在同级目录下生成memos.json的文件
使用webhook功能
部署webhook镜像
此处使用一个webhook
的DOCKER镜像
此Docker镜像是我根据官方dockerfile增加了中文支持编译而成.
推荐使用docker-compose部署 编辑docker-compose.yaml
内容为
services: |
创建hooks.yml
文件并编辑内容为
- id: memos |
然后运行
docker compose up -d |
即可
使用Webhook
hooks.yaml为webhook的配置文件
其中的execute-command为容器中的可执行脚本目录
webhook的访问地址格式为 服务器 ip:端口/hooks/id
访问http://127.0.0.1:9000/hooks/memos
即可触发执行bash /config/memos.sh
在memos的webhook设置中填入http://127.0.0.1:9000/hooks/memos
的webhook地址,
即可
以宝塔为例
创建一个名为 api.domain.com
的网站
在网站的根目录下创建 docker-compose.yaml
hooks.yaml
memos.sh
的文件
运行
docker compose up -d |
创建一个反向代理
使 127.0.0.1:9000 代理到 api.domain.com 的 /webhook/ 目录
访问api.domain.com/webhook/hooks/memos
此时会在网站根目录下生成memos.json
访问api.domain.com/memos.json
此时在memos的webhook地址中填入api.domain.com/webhook/hooks/memos
实现在memos更新时自动更新memos.json文件