惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
L
LangChain Blog
C
Check Point Blog
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
美团技术团队
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
腾讯CDC
B
Blog
G
Google Developers Blog
The Cloudflare Blog
P
Proofpoint News Feed

Hsu Yeung 的博客

三圣花市 | Hsu Yeung 的博客 网站支持 Live Photo 图片展示 | Hsu Yeung 的博客 梦 | Hsu Yeung 的博客 周末午餐 | Hsu Yeung 的博客 张家界 | Hsu Yeung 的博客 话剧《寻她芳踪·张爱玲》 | Hsu Yeung 的博客 博客自动生成文章目录 | Hsu Yeung 的博客 灭螂行动! | Hsu Yeung 的博客 张靓颖成都演唱会 | Hsu Yeung 的博客 最近对博客做的一些微调总结 | Hsu Yeung 的博客 Windows 上安装 Lua | Hsu Yeung 的博客 网站支持展示 B 站 iframe 视频 SpringBoot 中使用 RedisTemplate 存取整数值的坑 | Hsu Yeung 的博客 SQL JOIN 中 ON 与 WHERE 的区别 值得记录的一些工作近况 | Hsu Yeung 的博客 周传雄成都演唱会 | Hsu Yeung 的博客 并行操作导致获取数据库连接超时 | Hsu Yeung 的博客 风信子 | Hsu Yeung 的博客 Linux 安装并配置 Nginx | Hsu Yeung 的博客 使用 logrotate 切割 nginx 日志 郁金香土培结果 | Hsu Yeung 的博客 MySQL LEFT JOIN 右表有多条数据但只取最新的一条 | Hsu Yeung 的博客 获取数据库锁等待超时问题 | Hsu Yeung 的博客 从零开始挑选相机 | Hsu Yeung 的博客 郁金香 | Hsu Yeung 的博客 我的第一束花 | Hsu Yeung 的博客 快乐的一周 | Hsu Yeung 的博客 重庆,来了 | Hsu Yeung 的博客 散步 | Hsu Yeung 的博客 Git 工作区、暂存区、版本库之间的关系 | Hsu Yeung 的博客
给网站加上 RSS | Hsu Yeung 的博客
2023-03-19 · via Hsu Yeung 的博客

在去年写这个网站的时候就有想过加上 RSS 订阅,但是当时这个功能的优先级比较低,加上基本没想过有人会关注自己的博客,这件事就一直搁置了。

最初想起来这件事是一个月前看到一位小伙伴的文章 朋友圈,于是想着等不忙的时候去鼓捣一下 RSS。

终于想起来要加 RSS 了
终于想起来要加 RSS 了

结果由于最近工作比较忙没法上班写,周末也总是因为各种事情没法好好坐下来写代码,就又给忘记了。

后来我发的风信子那篇文章收到了一位小伙伴的留言,其中又提到了 RSS 订阅,才让我又想起来这件事情。正好那一周的周末两天有时间坐下来敲代码,于是周六下午就直接开始(算是从零开始,以前没有仔细了解过 RSS 是什么)鼓捣 RSS。

整个过程的话,一张谷歌浏览器的历史记录应该就可以看出来我以前对 RSS 的认知是多么欠缺哈哈哈(图片太长我给折叠起来了)。


图片有点长,点我查看
一天“精通” RSS
一天“精通” RSS

从历史记录里可以看出来,大致上分为下面几步:

  1. 最开始是想自己写代码来生成 RSS 文件,然后去 github 看了很多相关的实现代码
  2. 自己其实都没用过 RSS,于是又搜了一些 RSS 阅读器,准备先自己体验一下 RSS,看下 RSS 到底是怎么个样子,也方便自己最后验证 RSS 文件内容的正确性
  3. 访问了几个印象中支持 RSS 订阅的博客,把他们的 RSS 文件下载下来对比了一下,发现大家各自的实现都不一样
  4. 于是自己开始搜 RSS 的规范,找到了 RSS ADVISORY BOARD 这个网站,看了很久关于 RSS 2.0 的文档,大致上了解了 RSS 文件大部分常用字段的含义以及哪些是必需字段
  5. 知道规范后于是就自己自己网上找了一段不依赖第三方库的纯 Java 实现生成 RSS 文件的代码来改造。 RSS 要求时间格式需要采用 RFC822 标准,于是又花了很多时间去了解这个标准以及如何将常用的 LocalDateTime 类型的时间格式化为满足 RSS 要求的时间格式
  6. 生成 RSS 文件后再用 rss-validator 校验,不断修改代码直至完全通过校验。
  7. 目前本网站的方案是每次发布新的文章、更新文章、删除文章都会调用生成 RSS 文件的代码重新生成一次新的 RSS 文件

今天将相关的代码(rss-generator)整理了一下,发布到了 github,有需要的朋友可以直接 clone 下来引入到自己项目中使用。