为hexo加一个朋友圈
后端部署概览
后端部署目前提供 GitHub、Server、Docker 三种方式,数据库可以选择 LeanCloud、MySQL、SQLite、MongoDB。
自 5.x 版本以后,LeanCloud 不再作为默认存储,改为更简单易用的 SQLite 作为默认。(这里数据库不建议用 SQLite)
| LeanCloud 存储 | MySQL 存储 | SQLite 存储 | MongoDB 存储 | |
|---|---|---|---|---|
| GitHub 部署 | github+leancloud | github+mysql | github+sqlite(默认选项) | github+mongodb |
| Server 部署 | server+leancloud | server+mysql | server+sqlite | server+mongodb |
| Docker 部署 | docker+leancloud | docker+mysql | docker+sqlite | docker+mongodb |
部署方法:GitHub + Vercel + MongoDB
Fork 项目仓库
Fork 友链朋友圈的项目仓库,地址:友链朋友圈项目仓库
注意:如果前端部署采用 带管理面板的前端方案,则 Fork 时不要修改仓库名称,否则会导致管理面板部分功能不可用。
编辑配置文件
编辑 /hexo_circle_of_friends/fc_settings.yaml 文件,需要修改的配置如下:
1 | LINK: |
添加 GitHub Secrets
点击仓库的 Settings → Secrets → New repository secret
添加 2 个环境变量 Secret:
| 变量名 | 值说明 |
|---|---|
| MONGODB_URI | MongoDB 提供的数据库链接(以 mongodb+srv 开头或 mongodb 开头) |
| STORAGE_TYPE | 存储方式,填写 mongodb |
配置完成后,应该如下图所示:

开启 GitHub Actions 权限
点击仓库的 Settings → Actions → General → 勾选 Read and write permissions → Save
部署到 Vercel
- 前往 Vercel 官网,直接用 GitHub 创建账号并用手机号绑定
- 点击 New Project 新建项目
- 找到 Import Git Repository,选择你刚刚 Fork 的仓库,点击 Import
添加 Vercel 环境变量
添加以下环境变量:
| 变量名 | 说明 |
|---|---|
| GH_NAME | 你的 GitHub 用户名 |
| GH_EMAIL | 你的 GitHub 邮箱 |
| GH_TOKEN | GitHub Token,获取方法见 这里的 README.md |
| MONGODB_URI | MongoDB 数据库链接 |
| VERCEL_ACCESS_TOKEN | Vercel Token,获取方法见下方 |
VERCEL_ACCESS_TOKEN 获取方法:
- 点击 Vercel 页面右上角的 Settings → Tokens → Create
- 随便输入一个名称后,点击 CREATE TOKEN
- 复制生成的 token,添加到 Vercel 环境变量中即可
添加完成后,应该如下图所示:

重要提示:2022-8-27,*.vercel.app 在中国大陆遭遇污染导致无法访问,友链朋友圈的 Vercel 部署也会受到影响,可以通过解析到自定义域名来解决,或者切换部署方式。
配置友链列表(可选)
回到 GitHub,打开刚才 Fork 的项目,编辑 hexo_circle_of_friends/fc_settings.yaml这里我们需要手动添加SETTINGS_FRIENDS_LINKS因为我们的hexo友链魔改过了所以不会自动爬取
1 | # 配置项友链 |
启用 GitHub Actions
- 回到 GitHub,启用 Fork 后仓库的 GitHub Action:Actions → I understand my workflows, go ahead and enable them
- 点击 update-friends-posts 并启用 workflow
- 点击 Run workflow → Run workflow 进行第一次运行
- 等待运行完毕后,仓库应该会上传 data.db,并且 Vercel 也会同步更新
前端部署概览
前端采用 安知鱼方案
安装插件
在博客根目录 [Blogroot] 下打开终端,运行以下指令:(与旧版前端方案不兼容,如有安装旧版请先卸载,这里我只运行了第一个插件,请自行选择)
1 | npm uninstall hexo-butterfly-fcircle --save |
添加配置信息
在站点配置文件 _config.yml 或者主题配置文件(如 _config.butterfly.yml)中添加:
1 | # fcircle |
插件参数释义
| 参数 | 备选值/类型 | 释义 |
|---|---|---|
| enable | true/false | 控制开关 |
| apiurl | URL | api 链接,配置教程参看 后端部署文档 |
| initnumber | number | 页面展示文章数量,默认 20 |
| stepnumber | number | 每次加载增加的篇数,默认 10 |
| error_img | URL | 头像图片加载失败时的默认头像 |
| css | URL | 自定义 css 链接 |
| js | URL | 自定义 js 链接 |
| fetchJs | URL | 自定义 fetchJs 链接 |
| randomFriendsPostJS | URL | 自定义 randomFriendsPostJS 链接 |
| path | string | fcircle 的路径名称,默认为 fcircle |
| topIcon | string | 顶部按钮的图标类名 |
| topLink | URL | 顶部按钮点击跳转的链接(仅支持 pjax 跳转) |
| front_matter | object | fcircle 页面的 front_matter 配置 |
| top_background | URL | 页面顶部模块背景图 |
顶部图片样式修改
可以通过配置项 top_background 修改背景图。
添加到导航菜单
最后添加到主题文件的 _config.yml 中的 menu:
1 | 朋友圈: /fcircle/ || fas fa-users |






