跟风FreshRSS创建博客朋友圈

朋友圈

@obaby的博客,还有@Sagrre的博客看到了,他们做的朋友圈,开始以为是什么插件或者开发的功能,后来发现是把rss订阅集成到博客的一个页面,这个页面通过定时器刷新,然后就能看到博友们的文章。

我之前在别的博友的博客见过,但是一直没搞懂,也不知道这个东西的原来,首先是看到女王大人obaby,自己魔改了一个别的代码,集成到了自己博客,我羡慕了两天,发现这个玩意我搞不了,我不会写代码。

然后在Sagrre大哥的博客看到了这篇文章,FreshRss自建Rss零基础食用指南(入门版)  顺着文章的教程,尝试了一下,然后发现这个版本非常简单了,对于我这种不会代码的人有操作的可能。

我分享下整个创建过程,详细版本的大家可以看Sagrre的内容,文章非常考究,每个细节每张图都给贴出来,闭着眼睛抄就完了。我列一下下我的创建过程,算是拾人牙慧的简化版。


创建网站

我是宝塔的面板,大家的只要是linux,操作起来应该大同小异。首先在宝塔面部创建新的网站,给网站绑定一个主博客的二级域名,同时在网站的ssl处,申请免费是https,然后强制使用https。

上传网站源码,我使用的PHP版本,还有docker版本的,我对于docker相对陌生,所以这里就只使用PHP版本的源码。源码下载地址:https://freshrss.org/。上传后解压文件到根目录。

填写网站信息

这一步我进来后,程序检测我缺少一个PHP扩展,我复制这个扩展到宝塔的软件商店下载,提示有这个东西,然后直接安装即可,整个PHP环境正常后,开始创建网站。

选择语言,简体中文。选择数据库,这里有个问题,我使用mysql一直创建失败,然后直接用sqlite了,创建成功。接着创建基本的账户信息,账户和密码。

设置网站

我们这里就基本得到了一个网站啦,大家可以根据喜好选择主题,设置这个界面。我开始进行最重要的一步,就是添加订阅RSS源头,直接输入网址,系统会自己检测。我大约添加了三十多个博友,有四五个无法添加,可能是关闭RSS,我一一去邮件和评论问了一下。

自此我们在这个网站的订阅就完成了,打开刷新一下,主页汇聚了我们日常互动的这些博友,平时我经常忘记回访,也不知道哪些博友更新,有了这个东西,上班闲余就打开列表,然后开始拜读众位博友的文章,到评论区互动了。

博客引用

这个环节最麻烦,因为我不会写代码,然后怎么引用到博客我愣是没搞懂,就到Sagrre那里求助,他给了我另一外博友的地址,就是这个,https://www.rz.sb/archives/228/  这位微博把调用的代码和部署调用需要创建的东西都写好了,我只需要复制代码,更改一下就ok了。

整体流程是,写一个页面调用页面的文件,然后设置rss的API,调用api给的数据,输入到output.json里面,然后在宝塔创建定时器,通过定时器访问这个文件,定期引用api到output.json。具体环节我就不写了,上面两位博主的文章就非常详细,直接复制代码按照流程走就行。


前端页面

整个环节中我遇到的最大困难就是,若志奕鑫博友的主题调用代码,我贴在我的页面里面不生效,我的方法是直接创建新页面,然后在文章的html添加。结果就是啥也没有,哈哈哈,好像不行。

这个东西困惑了我三天,然后我想到了chatgpt,我和他说我要在页面添加一段代码,如何才能和我的主题不冲突,然后又展示这段代码,chatgpt直接给了我一个插件名字,叫做Code Snippets ,通过这个插件就可以创建代码片段。

我使用这个玩意,然后直接添加了,rz兄弟的原始代码,结果网站挂了,很尬这里,然后我又跑到数据库,搜索Snippets删除了我添加的数据,网站恢复了。

看来是不能直接贴代码,然后我和chatgpt说,给我优化一下这段代码,然后将代码以html的形式输出,chatgpt给我创建了一段新的代码,我贴完,果然生效了。

但是这个界面非常丑,像极了我做后端同事,直接给我做的前端页面,我说你仿照推特的页面给我重新输出,结果新代码又宕机,我又跑数据库删除添加的代码。

我让他仿照微博的界面给我输出一段,然后他给我输出了一段新的代码,就是现在我使用的这个界面。我把站点标题改成了作者,这类的调用名称改了一下,然后把超链接的位置调整了一下。

比较遗憾的是这个图标调用一直失败,我看图标输出的段落是/f.php?1483e59d这样的,但是我的网站实际输出的是多了一个目录P的,这样的p/f.php?1483e59d,这个我没搞懂,有懂的博友可以给帮忙解决一下,J君在线乞讨方法。

ChatGPT给的代码如下,大家可以直接拿去使用;

<?php
// 获取JSON数据
$jsonData = file_get_contents('./output.json');
// 将JSON数据解析为PHP数组
$articles = json_decode($jsonData, true);
// 对文章按时间排序(最新的排在前面)
usort($articles, function ($a, $b) {
return strtotime($b['time']) - strtotime($a['time']);
});
// 设置每页显示的文章数量
$itemsPerPage = 30;
?>

<style>
.article {
border: 1px solid #ddd;
border-radius: 8px;
margin: 15px;
padding: 15px;
background-color: #fff;
}

.article h2 {
color: #1da1f2;
margin-bottom: 5px;
}

.article p {
margin: 0;
color: #333;
}

.article time {
color: #999;
font-size: 0.8em;
}

.icon {
width: 20px;
height: 20px;
margin-right: 5px;
}
</style>

<body>

<?php
// 生成文章列表
foreach (array_slice($articles, 0, $itemsPerPage) as $article) {
?>
<div class="article">
<h3>
<a href="<?php echo htmlspecialchars($article['link']); ?>" target="_blank"><?php echo htmlspecialchars($article['title']); ?></a>
</h3>
<p>作者:<?php echo htmlspecialchars($article['site_name']); ?></p>
<p><?php echo htmlspecialchars($article['description']); ?></p>
<time><?php echo htmlspecialchars($article['time']); ?></time>
</div>
<?php
}
?>

</body>
</html>

手工操作

我的整个朋友圈创建,全程没有搓代码的环节,因为我本身也不会,主打的就是一个复制粘贴,插件和GPT给我打下手,最后成功创建了朋友圈。感谢在整个环节中贡献的各位博友,然后感谢ChatGPT,让我实现了代码项目部署上线。

访问地址:https://www.jeffer.xyz/friendly-rss

30 评论

添加您的 →

在好久之前我也心动过友链朋友圈,当时是想在友链页面搞一个切换按钮,避免弄成两个页面。这样的话要涉及到改主题,想着工程量也不小,就放弃了。不过chatGPT越来越强了,在以后或许真能帮我实现这个。

搭建很简单,直接复制,推荐使用。博友们现在都在拿这个作为访问跳板。

设置完有显示多久更新一次,但是确实要上网站主动点击更新一下,才会更新,可能我没设置完全吧。

在好久之前我也心动过友链朋友圈,当时是想在友链页面搞一个切换按钮,避免弄成两个页面。这样的话要涉及到改主题,想着工程量也不小,就放弃了。不过chatGPT在以后或许真能帮我实现这个。

好多博友把友链和朋友圈集成在一起了,友链对我的意义不大,反倒是订阅我比较看重,友链是死的链接,订阅能看到很多有意思文章。

你这个技术水平,完全没问题,我月月商店换主题,你月月自己修改主题,这都是技术。

这股风我也是跟了个尾巴,好简单,直接上手,里面的坑大家趟了一遍,对着码就行。

全靠这些博友贡献,还有各种教程,以及chatGPT打辅助,属于打了一把团队战。嘿嘿嘿。

已经解决,按照博友说的,直接在rss.php这个调用界面里添加个路径就行。

头像那个rss.php修改下即可,宝塔看的代码48行左右调用icon的地方,地址后加个/p/即可,比如我的就是http://rss.xigeshudong.com/p/,这问题当时我也遇到了,花了些时间才发现地址加个P

你要不要试试chatGPT.只要说出想要大概得界面样式,它就会给你写出来,打下手一把好手。你能手搓就不错了,我完全是嘴搓,一遍遍的和Ai说,才实现理想的界面。

你起的可真早啊,大清早五点起来搞这个,界面很漂亮,我直接进入是友链,然后点击友链后面动态才是,我开始没发现,然后才发现博友动态四个字。

请问一下,chatGPT怎么用,要下软件吗?

访问,chatGPT.openai.com,使用谷歌账号登录即可。梯子IP地址需要选择美国。

发表回复