网站朋友动态开源说明

📝 前言

之前有一期介绍过网站朋友动态的功能设计,当时说过计划开源,因为有很多配置是写死的,并且也没什么文档,因此才拖到今天,就在刚刚相关项目已经正式提交到Github啦,大家可以参看一下:

各个项目的文档在README里面已经写的比较清楚了,这里我就不过多介绍了~

🧭 背景介绍

在独立博客和个人网站的建设过程中,「友链」模块一直是增强社交感、展示站点活力的重要组成部分。

而“朋友动态”作为传统友链的升级形式,不仅能展示友链站点的最新文章,还能实现跨站点的信息聚合,提升访问者体验与站点互动性。

为了降低集成门槛,我们将该模块完全开源,本文将详细说明使用方式与部署步骤。

📋 前提条件

在部署开始之前,请确保你已具备以下环境:

🚀 详细步骤

1️⃣ 下载后端项目

先下载后端接口项目,初始化数据库表结构:

1
2
3
4
5
6
7
8
git clone https://github.com/lusyoe/friends-api

# 初始化数据库表结构文件
# 安装 mysql 客户端工具(Ubuntu):
sudo apt install mysql-client-core-8.0

# 导入SQL脚本
mysql -h[数据库服务器IP] -uroot -p[数据库root密码] < scripts/friends.sql

详细介绍可参看项目README

2️⃣ 爬取友链页面

我写了一个爬取友链的脚本,但是只适用于跟我一样使用NotionNext建站,友链页面直接用的是Notion 画廊视图的才行,其他的可自己定制,若友链不多也可以手动直接在数据库中插入即可。

爬取脚本文件:scripts/notion_gallery_scraper.py

3️⃣ 定时任务项目

当初始化完数据库并导入友链数据后,就可以配置并启动定时任务了。

详细介绍可参看项目README

下载定时任务项目:

1
git clone [https://github.com/lusyoe/friends-rss-fetch](https://github.com/lusyoe/friends-rss-fetch)

由于这里定时是依赖的XXL-JOB,我们还需要提前部署好XXL-JOB并配置执行器和任务。

其中执行器名称默认为:python-rss-fetch-executor

任务JobHandler默认为:rss_fetch

XXL-JOB 相关文章介绍可参看:《使用 Python 执行 XXL-JOB 定时任务(实战二)》

这也算是把学习到的知识再实战熟悉一下吧~

PS:这里建议定时一天就执行一次够啦,我看到有的博友一小时爬我一次,这也太频繁了,我一般也都是日更的。

4️⃣ 前端项目

最后是前端项目纯展示的,可通过静态构建,在构建时会调用后端接口获取数据。

详细介绍可参看项目README

下载前端项目:

1
git clone https://github.com/lusyoe/friends-frontend

之后通过 Docker 部署到服务器即可。

最后贴一下实际的效果图吧,当然也可以通过本站顶部导航的**社交 → 朋友动态**进行查看。

✅ 总结

最后总结一下通过这几个开源项目,你可以:

✅ 自动聚合友链博客的最新文章
✅ 增强自己博客的社交氛围
✅ 拓展前端自定义展示方式
✅ 快速部署、低门槛、零成本运行

如果你觉得该项目对你有帮助,也欢迎 Star 或分享给更多朋友!