内容提要
本文介绍如何为Hexo静态博客添加“瞬间”页面,通过RSSHub将Twitter等社交平台内容同步为JSON,并利用GitHub Action定时更新。步骤包括生成RSSHub链接、创建页面及编写JS/CSS、缓存JSON数据、部署网站。方案兼容多平台,配置简单,但同步有延迟且受反爬限制。
延伸解读
方案核心:RSSHub 作为数据桥梁
本方案的核心是利用 RSSHub 将 Twitter 等社交平台的内容转换为通用 JSON 格式,再通过命令行或 GitHub Action 定时拉取并缓存到本地。这种设计使得方案不局限于单一平台,微博、小红书、Telegram 等 RSSHub 支持的数据源均可复用同一套代码,只需修改 URL 和存储路径即可。
自动化部署的注意事项
作者推荐使用 GitHub Action 实现每小时自动同步,但需注意工作流中加入了 JSON 有效性检查,避免因 RSSHub 返回错误数据导致页面异常。同时,GitHub Action 的定时任务存在延迟,且免费版有执行时长限制,实际同步频率可能低于设定值。手动部署时,可参考文中的 deploy.bat 脚本,但需确保 curl 命令在目标环境中可用。
数据源限制与反爬风险
文章明确指出,Twitter、知乎、微博等平台反爬严重,RSSHub 公共实例通常只能抓取最新 20 条内容,且 RSSHub 自身有缓存,导致同步存在明显延迟。若需更完整或更及时的数据,可能需要私有化部署 RSSHub,但这会增加维护成本。读者在采用此方案前应评估自身对数据实时性和完整性的需求。
Q&A
如何将Twitter内容同步到Hexo博客的“瞬间”页面?
通过RSSHub生成Twitter用户的JSON订阅链接,然后在Hexo中创建“瞬间”页面,编写JS和CSS来渲染JSON数据,最后使用GitHub Action定时抓取JSON并部署。
RSSHub链接如何生成JSON格式?
在RSSHub网站选择数据源类型,定制URL后在末尾添加.json,例如https://rsshub.app/twitter/user/_Dorad.json,即可返回JSON格式数据。
在Hexo中如何创建“瞬间”页面?
使用命令hexo new page mood创建页面,然后在mood.md中添加HTML和脚本引用,并在mood文件夹下创建index.js和index.css文件,分别存放渲染逻辑和样式。