以前比较佛系,在只有少量友链的情况下也获得过其他博客的朋友圈带来的流量,所以这次做了 Flatpaper 这个主题后,我也希望能支持这个功能。
但是 Hexo 毕竟说静态站点,自身不支持抓取 RSS 的,本来想说造个轮子走 Cloudflare Workers,搜索的时候发现了 Friend-Circle-Lite 这个项目:
Friend-Circle-Lite: 一个精简版,无后端,且仅利用 github action 运行的精简版友链朋友圈程序
使用 Friend-Circle-Lite 仅需一个 Github 账号,不需要服务器,甚至也不需要解析域名到 GitHub Pages 。
使用方法
主题已完成了代码更新,支持生成 FCL 所需的 friend.json,然后获取其生成的 all.json 创建朋友圈界面。
获取 friend.json 链接
设置友链内容后,Flatpaper 在生成站点内容时会自动选取填写了 rss 的友链条目,默认在主题目录下生成 friend.json。
所以对应的链接为 https://example.com/friend.json
设置 Friend-Circle-Lite
具体可以查看项目的主页 Friend-Circle-Lite - action部署使用方法
这里仅作简单介绍:
- 访问 FCL 项目主页,点击 forks ,创建一个Public 公共的仓库,名称随意
- 按照说明修改仓库的权限
- 创建一个新的分支用于保存我们自己的配置
- 修改配置
conf.yaml1
2
3
4
5spider_settings:
enable: true
# 替换域名
json_url: "https://example.com/friend.json"
article_count: 5 - 点击顶部 Actions,指定的分支运行 Action:
Friend Circle Lite - 等待运行结束,可以在 page 分支获取到
all.json,也不需要解析域名,直接使用 RAW 链接即可:1
https://raw.githubusercontent.com/<USER>/<REPO>/refs/heads/page/all.json
在主题的 source/friends/ 下面创建 index.md ,填写下面的内容,替换 fcl_all_json 的链接。
1 |
|
链接配置在页面里进行设置,所以支持不同的页面可以使用不同的链接,实现不同内容的展示。
然后更新导航链接
在主题的配置文件 _config.flatpaper.yml 中:
- 确保你的导航菜单(
menu)里添加了朋友圈页面(主题新增了users、compass或aperture作为图标!):1
2
3
4
5
6
7menu:
Friends:
link: /friends/
icon: users
Moments:
link: /friends/feed/
icon: compass
定期更新
运行 Action 后,之后会每 4 小时自动更新一次,对于博客的朋友圈展示来说完全足够了。
Friend Circle Lite 除了支持生成 all.json 之外,自身就支持一个使用 GitHub Pages 的朋友圈页面展示,也支持在更新后发送邮件通知。
具体内容都可以在 GitHub 主页查看:
评论