type
status
date
slug
summary
category
tags
create_time
Jul 18, 2025 05:54 PM
icon
password
my_create_time
📝 前言
之前有一期介绍过网站朋友动态的功能设计,当时说过计划开源,因为有很多配置是写死的,并且也没什么文档,因此才拖到今天,就在刚刚相关项目已经正式提交到
Github
啦,大家可以参看一下:各个项目的文档在
README
里面已经写的比较清楚了,这里我就不过多介绍了~🧭 背景介绍
在独立博客和个人网站的建设过程中,「友链」模块一直是增强社交感、展示站点活力的重要组成部分。
而“朋友动态”作为传统友链的升级形式,不仅能展示友链站点的最新文章,还能实现跨站点的信息聚合,提升访问者体验与站点互动性。
为了降低集成门槛,我们将该模块完全开源,本文将详细说明使用方式与部署步骤。
📋 前提条件
在部署开始之前,请确保你已具备以下环境:
- MySQL 数据库:存储友链、RSS文章和任务执行日志数据(可参看文章部署:《使用 Docker 快速部署 MySQL 数据库》)
- XXL-JOB 定时任务:定时抓取友链 RSS 订阅(可参看文章部署:《使用 Docker 快速部署 XXL-JOB(实战一)》)
🚀 详细步骤
1️⃣ 下载后端项目
先下载后端接口项目,初始化数据库表结构:
详细介绍可参看项目
README
2️⃣ 爬取友链页面
我写了一个爬取友链的脚本,但是只适用于跟我一样使用
NotionNext
建站,友链页面直接用的是Notion 画廊视图的才行,其他的可自己定制,若友链不多也可以手动直接在数据库中插入即可。爬取脚本文件:
scripts/notion_gallery_scraper.py
3️⃣ 定时任务项目
当初始化完数据库并导入友链数据后,就可以配置并启动定时任务了。
详细介绍可参看项目
README
下载定时任务项目:
由于这里定时是依赖的XXL-JOB,我们还需要提前部署好XXL-JOB并配置执行器和任务。
其中执行器名称默认为:
python-rss-fetch-executor
任务JobHandler默认为:
rss_fetch
XXL-JOB 相关文章介绍可参看:《使用 Python 执行 XXL-JOB 定时任务(实战二)》
这也算是把学习到的知识再实战熟悉一下吧~
PS:这里建议定时一天就执行一次够啦,我看到有的博友一小时爬我一次,这也太频繁了,我一般也都是日更的。
4️⃣ 前端项目
最后是前端项目纯展示的,可通过静态构建,在构建时会调用后端接口获取数据。
详细介绍可参看项目
README
下载前端项目:
之后通过 Docker 部署到服务器即可。
最后贴一下实际的效果图吧,当然也可以通过本站顶部导航的
社交 → 朋友动态
进行查看。
✅ 总结
最后总结一下通过这几个开源项目,你可以:
✅ 自动聚合友链博客的最新文章
✅ 增强自己博客的社交氛围
✅ 拓展前端自定义展示方式
✅ 快速部署、低门槛、零成本运行
如果你觉得该项目对你有帮助,也欢迎 Star 或分享给更多朋友!
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/open-source-friends-activity
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。