普通视图

发现新文章,点击刷新页面。
昨天以前首页

使用 Follow 的第 50 天:RSS 迎来又一春?

作者 青山
2024年9月19日 23:13

刚刚翻了翻在 Twitter 上和 DIYgod 的私信,他于7月31日送我一枚邀请码,我至今已使用 Follow 50天,说长不长,说短不短,我猜应该是最早的一批内测用户,其他人还在苦苦等待邀请码,而我却早早用上,今天简要分享我的使用体验与感受。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第1张图片

RSS 与我

我已记不清从什么时候开始接触 RSS 及 RSS 阅读器,最早的印象来自它的图标,一个向右倾斜 45° 的 Wi-Fi 图标。最早使用的 RSS 服务是 Inoreader,除了免费账户150个订阅源限制,基本上没有缺点,但对于轻度或中度用户来说,150个订阅源足够,并不是说订阅越多越好,重点在于对信息的取舍,你关注什么内容固然重要,但放弃什么内容也是一种选择。

最初仅仅用来订阅博客,每天早上打开电脑就直奔 Inoreader,刷新一遍,读一读更新内容,后来订阅了一些资讯网站,比如少数派、IT之家。再接触到 RSSHub,一个让网站 RSSible 的工具,扩宽了我的订阅源。

直到使用 Follow 之前,我使用的是自建 FreshRSS 服务与 NetNewsWire 阅读器。

传统的 RSS 阅读器

我在之前的文章《我还是更喜欢这样的RSS阅读》和《如何订阅一个博客?》都介绍过几款较为流行的 RSS 服务,包括在线网页服务以及客户端软件,这些似乎都可以被归类为传统的 RSS 阅读器,不管是通过 FreshRSS 同步,还是本地保存,本质都是输入 RSS 地址进行订阅,支持导入和导出 OPML 文件。

功能大多类似,比如抓取全文内容,即使 RSS 源只提供摘要,也能在阅读器里查看全文,再比如给你推荐感兴趣的订阅源、收藏喜欢的文章等等。Readwise Reader 似乎与笔记软件结合,可以一边阅读文章,一边划线、做笔记,我没有用过,暂不进行讨论。

也正是因为现在越来越多的网站为了引导读者进入原网站进行阅读,而取消 RSS,使用 RSS 的人也越来越少,RSS 和 RSS 阅读器似乎成了被时代遗弃的产物。

新兴的 RSS 阅读器——Follow

传统 RSS 阅读器提供的功能,Follow 都有,传统工具没有的功能,Follow 添加的十分巧妙、有趣。

RSSHub 和 Follow 来自于同一个开发团队,两者一起使用,堪称绝配。因此 Follow 上少不了 RSSHub 的影子,点击 Follow 左上角的加号,可以通过搜索关键词、域名查找对应的 RSS 源,也可以通过输入 RSSHub 路由订阅由 RSSHub 生成的源。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第2张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第3张图片

如果实在不知道订阅什么(说明你不适合使用 RSS 服务),下方的“热门”或许可以提供一些参考和灵感,再或者,直接订阅我的博客,设置分类为“特别关心”。

毕竟 P 站都摆在那了,再不懂就说不过去了,感谢贡献者

使用 Follow 的第 50 天:RSS 迎来又一春? - 第4张图片

Follow 提供文章以外的多种形式。

  • 文章。适合博客、newsletter 等长篇内容网站;
  • 社交。适合订阅 Twitter、微博等社交媒体,关注某个人或某个关键词的时间线;
  • 图片。适合订阅 Instagram、Tumblr 等图片网站;
  • 视频。除了上面提到的 P 站,YouTube、哔哩哔哩都是可以订阅的;
  • 播客。我对播客了解甚少,订阅某一档播客之后,可以直接在 Follow 中收听;
  • 通知。适合订阅某个软件、服务的更新通知,简短快捷。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第5张图片

简单来说,RSSHub 提供源,Follow 提供阅读的形式。思维发散一下,往往会有不一样的惊喜,比如下面我使用图片形式订阅 Twitter 上的壁纸分享账号和 Telegram 上的影视资源分享频道。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第6张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第7张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第8张图片

一个简单的壁纸墙、影视库就呈现在眼前。剧荒了,刷一刷,壁纸厌倦了,刷一刷。

使用视频形式订阅了几个Up主,不用跳转到原网站,也能直接观看视频。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第9张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第10张图片

对于喜欢边看视频边发弹幕讨论的人来说,就不太友好,无法发弹幕和评论,但对我来说简直不要太爽,因为我看视频不喜欢评论和弹幕来影响我的观看体验。

Feedly 上使用了 AI 功能,具体什么用途我也搞不懂,但是 Follow 上的 AI 倒是有挺大用处。主要体现在“自动化”上,通过设置相应的条件,执行某个动作,其中就有“使用 AI 生成摘要”、“翻译”,我猜翻译也使用了 AI 加成。

我目前只设置了一项,即当标题是英文,则自动将其翻译成中文,类似 Buzzing.cc 的用母语阅读新闻,其中用到了正则表达式,我不会写,幸好有 Perplexity.ai 代劳,这叫 AI helps AI。最后隔空喊话 Follow 开发团队,是否有正文双语翻译功能?

使用 Follow 的第 50 天:RSS 迎来又一春? - 第11张图片

如果仅仅是加上 AI,也并没有非常吸引人,反而还会被人说成“跟风”,但如果加上轻社交,体验又不一样了。

或许是为了满足大家的偷窥欲,使用者可以查看其他用户订阅的内容,甚至直接订阅他的订阅。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第12张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第13张图片

或许是为了满足大家的成就感,在阅读界面上方,展现了当前文章有多少人阅读过。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第14张图片

又或许是为了满足大家的撒币感,接入了 Web3,使用代币 Power,成为金主爸爸,给你喜欢的作者打赏和充电,以及生成邀请码。欢迎大家做我的金主爸爸。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第15张图片

如何让别人知道这是你的源,方便直接打赏给你呢,Follow 提供了 claim 功能,只需要在 RSS 中添加相应内容,即可将其认证为自己的源。比如我的博客、Telegram 频道、Twitter 账号,均已认证,名称旁边有个小金标,多好看,多酷,不愧是全宇宙最帅的 DIYgod,这都被他考虑到了。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第16张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第17张图片

如何简单、快捷、高效地 claim 呢?移步至槿呈Twitter 分享,他已经介绍得足够详细,有问题找他,解决不了再找 AI,这叫 AI helps RSS

紧接着就可以在阅读的末尾看到金主爸爸的头像。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第18张图片

据小道消息,目前 Follow 还处于 Alpha 阶段,存在许多 bug,便采用邀请制度,但也在慢慢扩大内测范围,已经有资格的用户每5天即可生成一个邀请码,即使邀请码不易获得,但不建议大家花钱购买,也不建议大家将其售卖,我的朋友槿呈说找他要邀请码的人已经排到了猴年马月,可以尝试继续找他,当然也可以找我,通过 Telegram 和 Twitter 私信、电子邮件联系,先到先得,再或者继续骚扰下 DIYgod,多夸夸他,或许就有了呢。看到 Twitter、Telegram 上有许多人在等待 Follow 邀请码,突然间觉得 RSS 不单单是我们博客圈的小众爱好,或许 RSS 将迎来又一春。

由于 PC 端存在 bug,无法加载中文语言包,上述内容和截图都基于 Web 版 Follow,客户端上还有更多有趣的功能,不再一一叙述,留给自己去挖掘。

《阿甘正传》中有一句经典台词:Life was like a box of chocolates. You never know what you're gonna get. Follow 也像一盒巧克力,你永远不知道开发者在下一次更新中会带来什么口味的功能。

使用 Follow 的第 50 天:RSS 迎来又一春?》最先出现在印记

使用 Follow 的第 50 天:RSS 迎来又一春?

作者 青山
2024年9月19日 23:13

刚刚翻了翻在 Twitter 上和 DIYgod 的私信,他于7月31日送我一枚邀请码,我至今已使用 Follow 50天,说长不长,说短不短,我猜应该是最早的一批内测用户,其他人还在苦苦等待邀请码,而我却早早用上,今天简要分享我的使用体验与感受。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第1张图片

RSS 与我

我已记不清从什么时候开始接触 RSS 及 RSS 阅读器,最早的印象来自它的图标,一个向右倾斜 45° 的 Wi-Fi 图标。最早使用的 RSS 服务是 Inoreader,除了免费账户150个订阅源限制,基本上没有缺点,但对于轻度或中度用户来说,150个订阅源足够,并不是说订阅越多越好,重点在于对信息的取舍,你关注什么内容固然重要,但放弃什么内容也是一种选择。

最初仅仅用来订阅博客,每天早上打开电脑就直奔 Inoreader,刷新一遍,读一读更新内容,后来订阅了一些资讯网站,比如少数派、IT之家。再接触到 RSSHub,一个让网站 RSSible 的工具,扩宽了我的订阅源。

直到使用 Follow 之前,我使用的是自建 FreshRSS 服务与 NetNewsWire 阅读器。

传统的 RSS 阅读器

我在之前的文章《我还是更喜欢这样的RSS阅读》和《如何订阅一个博客?》都介绍过几款较为流行的 RSS 服务,包括在线网页服务以及客户端软件,这些似乎都可以被归类为传统的 RSS 阅读器,不管是通过 FreshRSS 同步,还是本地保存,本质都是输入 RSS 地址进行订阅,支持导入和导出 OPML 文件。

功能大多类似,比如抓取全文内容,即使 RSS 源只提供摘要,也能在阅读器里查看全文,再比如给你推荐感兴趣的订阅源、收藏喜欢的文章等等。Readwise Reader 似乎与笔记软件结合,可以一边阅读文章,一边划线、做笔记,我没有用过,暂不进行讨论。

也正是因为现在越来越多的网站为了引导读者进入原网站进行阅读,而取消 RSS,使用 RSS 的人也越来越少,RSS 和 RSS 阅读器似乎成了被时代遗弃的产物。

新兴的 RSS 阅读器——Follow

传统 RSS 阅读器提供的功能,Follow 都有,传统工具没有的功能,Follow 添加的十分巧妙、有趣。

RSSHub 和 Follow 来自于同一个开发团队,两者一起使用,堪称绝配。因此 Follow 上少不了 RSSHub 的影子,点击 Follow 左上角的加号,可以通过搜索关键词、域名查找对应的 RSS 源,也可以通过输入 RSSHub 路由订阅由 RSSHub 生成的源。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第2张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第3张图片

如果实在不知道订阅什么(说明你不适合使用 RSS 服务),下方的“热门”或许可以提供一些参考和灵感,再或者,直接订阅我的博客,设置分类为“特别关心”。

毕竟 P 站都摆在那了,再不懂就说不过去了,感谢贡献者

使用 Follow 的第 50 天:RSS 迎来又一春? - 第4张图片

Follow 提供文章以外的多种形式。

  • 文章。适合博客、newsletter 等长篇内容网站;
  • 社交。适合订阅 Twitter、微博等社交媒体,关注某个人或某个关键词的时间线;
  • 图片。适合订阅 Instagram、Tumblr 等图片网站;
  • 视频。除了上面提到的 P 站,YouTube、哔哩哔哩都是可以订阅的;
  • 播客。我对播客了解甚少,订阅某一档播客之后,可以直接在 Follow 中收听;
  • 通知。适合订阅某个软件、服务的更新通知,简短快捷。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第5张图片

简单来说,RSSHub 提供源,Follow 提供阅读的形式。思维发散一下,往往会有不一样的惊喜,比如下面我使用图片形式订阅 Twitter 上的壁纸分享账号和 Telegram 上的影视资源分享频道。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第6张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第7张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第8张图片

一个简单的壁纸墙、影视库就呈现在眼前。剧荒了,刷一刷,壁纸厌倦了,刷一刷。

使用视频形式订阅了几个Up主,不用跳转到原网站,也能直接观看视频。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第9张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第10张图片

对于喜欢边看视频边发弹幕讨论的人来说,就不太友好,无法发弹幕和评论,但对我来说简直不要太爽,因为我看视频不喜欢评论和弹幕来影响我的观看体验。

Feedly 上使用了 AI 功能,具体什么用途我也搞不懂,但是 Follow 上的 AI 倒是有挺大用处。主要体现在“自动化”上,通过设置相应的条件,执行某个动作,其中就有“使用 AI 生成摘要”、“翻译”,我猜翻译也使用了 AI 加成。

我目前只设置了一项,即当标题是英文,则自动将其翻译成中文,类似 Buzzing.cc 的用母语阅读新闻,其中用到了正则表达式,我不会写,幸好有 Perplexity.ai 代劳,这叫 AI helps AI。最后隔空喊话 Follow 开发团队,是否有正文双语翻译功能?

使用 Follow 的第 50 天:RSS 迎来又一春? - 第11张图片

如果仅仅是加上 AI,也并没有非常吸引人,反而还会被人说成“跟风”,但如果加上轻社交,体验又不一样了。

或许是为了满足大家的偷窥欲,使用者可以查看其他用户订阅的内容,甚至直接订阅他的订阅。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第12张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第13张图片

或许是为了满足大家的成就感,在阅读界面上方,展现了当前文章有多少人阅读过。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第14张图片

又或许是为了满足大家的撒币感,接入了 Web3,使用代币 Power,成为金主爸爸,给你喜欢的作者打赏和充电,以及生成邀请码。欢迎大家做我的金主爸爸。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第15张图片

如何让别人知道这是你的源,方便直接打赏给你呢,Follow 提供了 claim 功能,只需要在 RSS 中添加相应内容,即可将其认证为自己的源。比如我的博客、Telegram 频道、Twitter 账号,均已认证,名称旁边有个小金标,多好看,多酷,不愧是全宇宙最帅的 DIYgod,这都被他考虑到了。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第16张图片

使用 Follow 的第 50 天:RSS 迎来又一春? - 第17张图片

如何简单、快捷、高效地 claim 呢?移步至槿呈Twitter 分享,他已经介绍得足够详细,有问题找他,解决不了再找 AI,这叫 AI helps RSS

紧接着就可以在阅读的末尾看到金主爸爸的头像。

使用 Follow 的第 50 天:RSS 迎来又一春? - 第18张图片

据小道消息,目前 Follow 还处于 Alpha 阶段,存在许多 bug,便采用邀请制度,但也在慢慢扩大内测范围,已经有资格的用户每5天即可生成一个邀请码,即使邀请码不易获得,但不建议大家花钱购买,也不建议大家将其售卖,我的朋友槿呈说找他要邀请码的人已经排到了猴年马月,可以尝试继续找他,当然也可以找我,通过 Telegram 和 Twitter 私信、电子邮件联系,先到先得,再或者继续骚扰下 DIYgod,多夸夸他,或许就有了呢。看到 Twitter、Telegram 上有许多人在等待 Follow 邀请码,突然间觉得 RSS 不单单是我们博客圈的小众爱好,或许 RSS 将迎来又一春。

由于 PC 端存在 bug,无法加载中文语言包,上述内容和截图都基于 Web 版 Follow,客户端上还有更多有趣的功能,不再一一叙述,留给自己去挖掘。

《阿甘正传》中有一句经典台词:Life was like a box of chocolates. You never know what you're gonna get. Follow 也像一盒巧克力,你永远不知道开发者在下一次更新中会带来什么口味的功能。

使用 Follow 的第 50 天:RSS 迎来又一春?》最先出现在印记

RSS简单科普

作者 Justin
2024年9月9日 09:26

RSS是一种基于XML的内容发布和订阅格式,用于在互联网上分享和同步网站内容。用户可通过RSS阅读器订阅网站的最新内容,从而在一个界面中查看多个网站的更新。尽管其主流性已降低,但RSS仍然在信息自主选择和隐私保护方面展现独特价值,为用户提供高效的信息获取方式。

RSS简单科普最先出现在Justin写字的地方

如何订阅一个博客?

作者 青山
2023年12月22日 00:15
如何订阅一个博客?

我很喜欢 Inoreader 首页的一句话:Build your own newsfeed,建立你自己的信息推送。下方还有一段描述,内容如下:

Follow your favorite websites and creators, collect articles, and discover inspiring content from across the web. Filter out the noise and make the most of your time online.

Inoreader

关注我们喜欢的网站和创作者,过滤掉噪音,充分利用我们的上网时间。

前几天在即刻上看到网友阿粒的手机桌面截图,她利用 Safari 的书签功能,在桌面上存了几个博客的地址,数量不多,如果数量多了,桌面上全是书签似乎也不太好看,便借此机会向她介绍了 RSS 订阅以及相关的软件,今天以此为基础,分享如何订阅一个博客的经验。

介绍两种方式,RSS 订阅和邮箱订阅。

RSS 订阅

RSS 是什么,我也无法用生动形象的语言描述它,这不重要。一般的网站,比如我们使用 WordPress 搭建的博客、Hugo/Hexo 生成的静态网站等都支持 RSS 协议,通过特定的访问路径即可获取该站的 RSS 地址,如果不支持、没有找到 RSS 地址,这不重要,因为可以使用 DIYgod 开发的 RSSHubRSSHub Rader 工具,前者帮你生成该网站的 RSS 订阅,后者帮助你快速寻找该网站的 RSS 地址,并一键订阅至阅读器软件。

不管你有没有理解上面的内容,这不重要,重要的是用于订阅 RSS 的阅读器软件。

获取到某个网站的 RSS 地址之后,在阅读器里输入该地址,即可完成订阅。

正好我有 Windows、Android、iOS/iPadOS 三个系统的设备,便从这三个系统介绍对应的阅读器软件。

Windows

总感觉 Windows 上的 RSS 阅读器并不多,虽然在 Microsoft Store 上搜索“RSS”能看到许多结果,但大部分都是停更多年。希望这只是我的错觉。

首推 Fluent Reader,外观、功能方面都很给力,不仅支持 Windows 系统,Linux 和 macOS 系统也有对应的软件。

下图是软件的界面截图,由此可见,如果博客文章的封面风格和形式统一,还挺好看的。

Fluent Reader(Windows)

切换阅读视图,这个界面和 iOS 平台上大多数软件相似。左侧是订阅源列表,中间是选中订阅源的文章列表,右侧是获取到的 RSS 正文内容。

Fluent Reader(Windows)

这是 Windows 系统上唯一一款让我觉得非常舒服的 RSS 软件,UI 设计、功能交互,都比较完美、流畅。最开始使用的时候,不支持多选订阅源,后面越来越多用户提交相关的反馈,最新版已经支持多选订阅源,在对订阅源分组的时候也可以多选。功能方面相对比较完善,除此之外还可以通过 Inoreader、Fever API、Google Reader API 等服务跨设备保持同步。

另一款,RSS 追踪,风格类似,以前也写过相关的介绍,具体请阅读《RSS追踪:Windows平台上一款好用的RSS阅读器》。

Android

Android 由于自身系统开源,软件生态比较开放,催生出许多优秀的开源软件,RSS 阅读器这方面也没有落下。我首推的是在 GitHub 收获 3.2k stars 的 ReadYou。

虽然距离上次更新已经过去了两个月,但仍然抵挡不住我对它的喜爱,尤其是它使用了 Material You 风格的设计,在阅读方面,对中文、英文字体都很友好。

如何订阅一个博客? - 第5张图片

有的网站禁止 RSS 输出全文,但这还是不重要,因为部分 RSS 阅读器软件支持全文解析,比如上面提到的 Fluent Reader 和现在介绍的 ReadYou。

上图是文章列表和正文阅读界面,下方提供收藏、下一篇、全文解析等功能按钮,似乎还有一个语音朗读功能未推出。

在 GitHub 上看到了该软件未来的计划,比如 Bionic reading、Android Widget、集成 FreshRSS 和 Inoreader 等,可以保持关注,应该会越来越好用,同时,我要远程催更。

iOS/iPadOS

NetNewsWire

iOS/iPadOS 上的软件就更多了,大多数都同时支持 iOS、iPadOS、macOS 系统,而且支持苹果原生 iCloud 同步,在这一方面我表示十分羡慕。

NetNewsWire

首推 NetNewsWire。支持 iOS、iPadOS、macOS 的开源软件,从2002年更新至今,是多数 RSS 爱好者的选择,可以在 App Store 上免费下载使用。

由于我没有 macOS 设备,因此向朋友 @Demochen 要了几张他在 MacBook 上使用 NetNewsWire 的截图,以供参考。

我猜 @Demochen 一定是个处女座,订阅源整理得这么舒服,命名如此有规则。

NetNewsWire(macOS)

我也分享几张在 iPad 上的使用截图,效果大差不差,区别应该就只在于屏幕的大小。

NetNewsWire(iPadOS)

怎么说呢,界面 UI 说不上很好看,但也不丑,非常板正,一眼望过去不觉得杂乱,非常整齐、干净。

Reeder 5

第二款是 Reeder 5,付费软件。目前已经出到了第5版,似乎每次推出新版本,上一个版本就会开启限免活动,免费下载。我借了朋友的光,用朋友的账号在 iPad 上安装了 Reeder 5 正在使用。

Reeder 5

或许因为是付费软件,功能支持比较多,设计得也要比 NetNewsWire 更加美观。支持 iCloud 同步、iCloud 稍后读、桌面小组件、Bionic Reading,对第三方服务的支持也很全面,Feedbin、Feedly、Inoreader、FreshRSS 等都支持。

我目前的方案就是自部署 FreshRSS,搭配 Reeder 5 在 iPad 上使用。

Reeder 5
Reeder 5

但一般的用户估计用不上 FreshRSS、Tiny Tiny RSS 这类自部署 RSS 服务,只需要获取到 RSS 地址,然后使用上面提到的软件进行订阅即可。

国区 Apple ID 不一定能搜索到 RSS 相关的软件,请切换为美区或其他外区 Apple ID 进行下载

在线服务

在线服务是指只需要进入网站,注册账号进行订阅的 RSS 服务,常见的比如有 Inoreader、Feedly,大部分都有免费方案,对订阅数量有所限制,同时也有对应的移动端软件。

这些内容我在以前的文章《我还是更喜欢这样的RSS阅读》都有所介绍,感兴趣的可以自行查阅。

至于像 FreshRSS、Tiny Tiny RSS 这类自部署 RSS 服务,可写的内容就更多,网上也有对应的介绍和教程,这里就不多说。

邮箱订阅

我在想,是不是有的人不喜欢使用 RSS 订阅,反而更习惯于邮箱订阅呢?

比如 newsletter 就受到挺多人的喜欢,虽然二者都是非常传统、经典的获取信息的方式,但考虑到用户对于工具便捷性的考虑,我还是通过插件,给博客加上了邮箱订阅的功能。

在博客右侧小工具栏(或者直接在本文下方),输入你的任意一个电子邮箱地址,点击订阅,在邮箱里确认订阅之后,便可以在未来收到博客更新的邮件通知。

当然,这只是我博客这样做了,其他博客可能有自己的想法,如果出现了邮箱订阅,从中选择合适的、习惯的即可。

从读者的角度来说,使用 RSS 订阅有一个好处,随时导入导出,再多订阅源,最后都可以导出为一份 OPML 文件,随时将其导入到其他 RSS 阅读器中;但从创作者的角度来讲,邮箱订阅的形式更有好处,创作者可以导出订阅者的邮箱地址名单,将其随时导入其他支持邮箱订阅的平台,将作品和读者掌握在创作者手中,不被平台束缚。

最后的话

前几天看到 @Dayu 的文章《个人博客 RSS 订阅数统计》,其中提到可以通过 API 的方式获取到博客在 Feedly、Inoreader、Feeds.pub 上的订阅数,但并不是所有人都是通过这三个网站订阅博客,自建服务和本地客户端软件的订阅如何统计呢?虹线的作者评论尸给出了一个想法。

可以混合统计,Inoreader、Feedly 这种平台写个接口去定期读数。然后Feed的每篇正文里加入一个0像素图片,去统计self-host阅读器的加载次数。理论上是可行的,但好像是没有现成的方案。

理论上是可行的,但好像没有现成的方案。那就期待开发者的行动咯。


以上便是我对于“如何订阅一个博客”这一话题所展开的分享,如有不正确之处,欢迎指正。

近期调整计划

作者 大灰
2024年5月16日 00:30
最近这几天心情挺烦躁,有时候压抑,有时候暴躁的很。真不知怎么了做事也特别没有耐心,也许是太多事压在心头闹的! 试了新的wordpress自带主题,感觉还蛮不错的,配置起来还不是很麻烦。 最近网站的一些调整: 1. 打算把文章别名改为数字ID,因为有时候文章名会重复,也懒得在一次次修改这个拼音别名了。(毕竟新版wordpress已经很好了,别名终将成为过去,必须接受新的事物。)-待定 2. 彻底修改图床程序,现已改为wordpress,图片链接地址不变。-已实现 3. 准备取消自建的统计?统计了又有什么用?CF自带的也挺爽,折腾这些多余的没啥作用。-待定 4. 有计划取消自建的RSS,2-3究其 […]

利用RSS订阅功能添加博友圈,实时展示博友最新文章!

作者 老张
2024年4月16日 09:20

博友圈展示博友文章的好处

个人博客没有评论是没有灵魂的,而博客互访才是博客的运营之道。老张在《如何有效的博客互访、互评!》等众多文章里都提到博客互访的重要性。在没有接触RSS订阅工具之前,老张都是在浏览器的收藏夹里收藏了一两百个博客,每天都要打开一次,但是这近两百个博客中其实只有十来个博客更新内容,所以这样操作浪费了大量的时间。后来有了RSS工具,可以对常访的博客进行订阅,当博客有文章更新时,就会得到通知。但是这样操作也有一个弊端,你的博客每天都会打开好几次,但是RSS订阅工具却不是常打开。这个时候我们可以利用RSS订阅功能添加博友圈,在自己的博客上实时看到博友们更新的内容而可以及时的进行访问评论。

利用RSS订阅功能添加博友圈,实时展示博友最新文章的好处是不言而喻的,首先对于博主来说,不必频繁的打开RSS工具而可以第一时间知道博友的文章更新而进行访问评论,于博友来说,也可以说是得到了到别人博客上的展示,极大了增加了博客的用户体验、极大了增强博友之间的互动、极大增强了博友们博客的曝光度。

我的“博友圈”的入选标准

博友圈不是友情链接,我的博友圈是都是我常访问的一些博客,目前收集了近一百五十个博客。能和老张博客互评达到四五次的,博客原创文章能及时更新的我都会收集到我的博友圈。这样,你的最新文章也就可以展示到我的博客的博友圈里。

如何添加博友圈

搭建rss订阅服务-FreshRSS

关于RSS订阅工具,老张博客在以前折腾过很多,RSS订阅工具的文章也写了有十来篇,其实《RSS订阅工具miniflux、tiny tiny rss、freshrss使用体会》对常用的几个RSS订阅工具进行了全面的比较,有兴趣的可以看看。FreshRSS的项目地址是https://github.com/FreshRSS/FreshRSS/我按照官方的方法Doocker部署一直没有成功,用宝塔的Docker面板部署也没有成功,后来按小宋的《搭建一个自己的rss订阅服务-FreshRSS》方法得要成功,不知什么原因。

docker run -d --restart unless-stopped --log-opt max-size=10m \
-p 8880:80 \
-e TZ=Europe/Paris \
-e 'CRON_MIN=1,31' \
-v /www/dockerdata/freshrss/data:/var/www/FreshRSS/data \
-v /www/dockerdata/freshrss/extensions:/var/www/FreshRSS/extensions \
--name freshrss \
freshrss/freshrss

直接SSH到服务器,运行以上代码,常访问我的博客或是常折腾Docker的小伙伴都可以看懂上面的代码意思,这里就不再多表了。

完成后打开你的IP+端口,就可以安装FreshRss了,成功之后,一定要执行以下两步

1.安装完成后进入设置-账户-API 管理,填写api密码提交。

2.进入设置-认证,勾选允许 API 访问 (用于手机应用),提交。

实现博友圈实时展示最新文章

这里我参考了小段的《跟风利用FreshRSS实现朋友圈》文章,但是遇到了几个坑,给大家提醒下。

3.在自己站点根目录下创建一个php文件,命名为rss.php,将以下代码复制进去。此文件用于放FreshRSS api调用函数,例如:rss.php。访问https://你的博客域名/rss.php,显示数据已保存到JSON文件中。

<?php
/**
 * 获取最新订阅文章并生成JSON文件
 */
function getAllSubscribedArticlesAndSaveToJson($user, $password)
{
    $apiUrl = 'https://你部署FreshRSS的域名/api/greader.php';
    $loginUrl = $apiUrl . '/accounts/ClientLogin?Email=' . urlencode($user) . '&Passwd=' . urlencode($password);
    $loginResponse = curlRequest($loginUrl);
    if (strpos($loginResponse, 'Auth=') !== false) {
        $authToken = substr($loginResponse, strpos($loginResponse, 'Auth=') + 5);
        $articlesUrl = $apiUrl . '/reader/api/0/stream/contents/reading-list?&n=1000';
        $articlesResponse = curlRequest($articlesUrl, $authToken);
        $articles = json_decode($articlesResponse, true);
        if (isset($articles['items'])) {
            usort($articles['items'], function ($a, $b) {
                return $b['published'] - $a['published'];
            });
            $subscriptionsUrl = $apiUrl . '/reader/api/0/subscription/list?output=json';
            $subscriptionsResponse = curlRequest($subscriptionsUrl, $authToken);
            $subscriptions = json_decode($subscriptionsResponse, true);
            if (isset($subscriptions['subscriptions'])) {
                $subscriptionMap = array();
                foreach ($subscriptions['subscriptions'] as $subscription) {
                    $subscriptionMap[$subscription['id']] = $subscription;
                }
                $formattedArticles = array();
                foreach ($articles['items'] as $article) {
                    $desc_length = mb_strlen(strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8')), 'UTF-8');
                    if ($desc_length > 20) {
                        $short_desc = mb_substr(strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8')), 0, 99, 'UTF-8') . '...';
                    } else {
                        $short_desc = strip_tags(html_entity_decode($article['summary']['content'], ENT_QUOTES, 'UTF-8'));
                    }
                    
                    $formattedArticle = array(
                        'site_name' => $article['origin']['title'],
                        'title' => $article['title'],
                        'link' => $article['alternate'][0]['href'],
                        'time' => date('Y-m-d H:i', $article['published']),
                        'description' => $short_desc,
                    );

                    $subscriptionId = $article['origin']['streamId'];
                    if (isset($subscriptionMap[$subscriptionId])) {
                        $subscription = $subscriptionMap[$subscriptionId];
                        $iconUrl = $subscription['iconUrl'];
                        $filename = 'https://你部署FreshRSS的域名'.substr($iconUrl, strrpos($iconUrl, '/') + 1);
                        $formattedArticle['icon'] = $filename;
                    }

                    $formattedArticles[] = $formattedArticle;
                }

                saveToJsonFile($formattedArticles);
                return $formattedArticles;
            } else {
                echo 'Error retrieving articles.';
            }
        } else {
            echo 'Error retrieving articles.';
        }
    } else {
        echo 'Login failed.';
    }
    return null;
}
function curlRequest($url, $authToken = null)
{
    $ch = curl_init($url);
    if ($authToken) {
        $headers = array(
            'Authorization: GoogleLogin auth=' . $authToken,
        );
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}
/**
 * 将数据保存到JSON文件中
 */
function saveToJsonFile($data)
{
    $json = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    file_put_contents('output.json', $json);
    echo '数据已保存到JSON文件中';
}

// 调用函数并提供用户名和密码
getAllSubscribedArticlesAndSaveToJson('这里是FreshRSS的用户名', '这里是第3步设置的api密码');

注意修改代码的几处设置。设置好处,直接用浏览器访问https://你的博客域名/rss.php,就会显示“数据已保存到JSON文件中”,表示成功了。

注意一个小坑:两处"你部署FreshRSS的域名",一定要是你的FreshRss设置-账户-API管理里的地址,如果是IP地址,可以修改Freshrss的配置文件改成域名。这个时候有部分地址是有“/p/”这个目录年,一定要看清了。

这个时候注意一个大坑,最开始我的PHP版本是8.0的,访问https://你的博客域名/rss.php死活报错,折腾好长时间也不成功,最后换服务器PHP版本是7.4成功了,不知道是什么原因造成的,但是结果我们却知道了,就是PHP8.0不成功。解决方法是把RSS.php文件放在其他网站上,在第4步代码中“./output.json”修改为“https://放rss.php文件的网站/output.json”

4.主题的funtions.php里添加以下代码:

// 在 functions.php 中添加 shortcode 函数
function display_articles_shortcode() {
    // 获取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;

    // 生成文章列表
    ob_start(); // 开始缓存输出
    foreach (array_slice($articles, 0, $itemsPerPage) as $article) {
    ?>
        <div class="article">
            <h3>
                <img src="<?php echo htmlspecialchars($article['icon']); ?>" alt="Icon" class="icon">
                <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
    }
    return ob_get_clean(); // 返回缓存的输出并清除缓存
}

// 注册简码
add_shortcode('display_articles', 'display_articles_shortcode');

5.自定义css样式

/* Article container */
.article {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 20px;
}

/* Article title */
.article h3 {
    margin-top: 0;
}

/* Article icon */
.icon {
    width: 50px;
    height: 50px;
    margin-right: 10px;
    border-radius: 50%;
}

/* Article metadata */
.article p, .article time {
    margin: 5px 0;
}

/* Article time */
.article time {
    font-style: italic;
}

/* Hover effect on article */
.article:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}
/* Article icon */
.icon {
    width: 1.5em; /* 使用 em 单位可以根据标题字体大小调整图标大小 */
    height: auto; /* 自动调整高度以保持宽高比 */
    margin-right: 10px;
    vertical-align: middle; /* 垂直居中对齐 */
    border-radius: 50%;
}

以上代码可以直接写在主题的CSS文章里,也可以在主题的自定义样式里添加。

6.新建页面,在代码文本模式下输入[display_artices]

7.在宝塔面板下创建一个计划合作,每1小时或2小时访问一次https://你的博客域名/rss.php,这样达成生成最新的output.json文件以便博友圈调取展示。

至此,已全部完成,样式可以自行修改CSS文件!

 

 

 

 

最近折腾的东西

作者 大灰
2023年11月20日 20:13
好长时间没更新文章,wordpress现在都6.4.1了…… 代码啥的真玩不转了,有那么一段时间总是想用静态的程序,太折腾遂放弃。 这几天没事折腾了DNSECC、Gravatar、CloudFlare、RSS(这里就不再累赘介绍了)。 DNSECC DNS 安全扩展 (DNSSEC) 为 DNS 增加了一层额外的身份验证,确保请求不会路由到欺骗性域。 灰常记忆转入CF的时候就开启了DNSECC,主要是其他域名还没设置,今天全部把DNSECC设置完了。 namesilo域名管理一步步参照CloudFlare的给的结果设置就好。   Gravatar 想必这个做博客的朋友都知道,国内目前 […]

折腾RSS

作者 大灰
2023年11月4日 18:20
今天打开友链又有很多网站打不开,真不知道是网络原因还是不做网站了?要做就一直做,三分热度的朋友就不要友链了。话说现在也懒得友链,经常去访问的站点我都加入了RSS阅读器。 我记得最开始折腾二级域名的时候就做了https://rss.bestcherish.com,当时用的程序比较老旧还不兼容PHP7.4,最后有朋友做了修改版一直使用到现在。直到昨天我又折腾了RSS程序,换为FreshRSS支持PHP最新版本,还支持mysql数据库。总之使用起来比之前太丝滑。有很多朋友禁用了Feed,添加不了源地址,只能就这样了。 以后友情链接慢慢会往RSS转移,网站不增加新的链接。 灰常记忆发自 WordPre […]
❌
❌