Project

Hexo 主题 Flatpaper 加入朋友圈大家庭

2026-06-25 #Hexo#Hexo Theme#Flatpaper

以前比较佛系,在只有少量友链的情况下也获得过其他博客的朋友圈带来的流量,所以这次做了 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.yaml
    1
    2
    3
    4
    5
    spider_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
2
3
4
5
6
7
8
---
title: 朋友圈
type: friends-feed
comments: false
fcl_all_json: https://raw.githubusercontent.com/<UserName>/<RepoName>/refs/heads/page/all.json
page_size: 20
source_label:
---

链接配置在页面里进行设置,所以支持不同的页面可以使用不同的链接,实现不同内容的展示。

然后更新导航链接

在主题的配置文件 _config.flatpaper.yml 中:

  1. 确保你的导航菜单(menu)里添加了朋友圈页面(主题新增了 userscompassaperture 作为图标!):
    1
    2
    3
    4
    5
    6
    7
    menu:
    Friends:
    link: /friends/
    icon: users
    Moments:
    link: /friends/feed/
    icon: compass

定期更新

运行 Action 后,之后会每 4 小时自动更新一次,对于博客的朋友圈展示来说完全足够了。

Friend Circle Lite 除了支持生成 all.json 之外,自身就支持一个使用 GitHub Pages 的朋友圈页面展示,也支持在更新后发送邮件通知。

具体内容都可以在 GitHub 主页查看:

评论
分享

评论