Bubo Reader 是一款超简约的提要阅读器(RSS、Atom、JSON),您可以在自己的服务器上部署,只需几个步骤即可部署 Netlify,或者只需更少的步骤即可部署 Glitch!该项目的目标是生成一个网页,显示按类别和网站组织的提要集合中的链接列表。就是这样。
它以《泰坦之战》(1981)中这只愚蠢的机器猫头鹰命名。
您可以在我的博客上阅读有关该项目的更多信息:
npm install
以安装依赖项。feeds.json
以包含您想要查看的 feed 的类别和链接。npm run build:bubo
就是这样!您现在应该有一个静态页面,其中包含指向public
文件夹中提要的最新内容的链接,可供使用。
静态部分:
conf/feeds.json
- 一个 JSON 文件,其中包含按类别划分的提要 URL。config/template.html
- 一个 Nunjucks 模板,可让您更改提要的显示方式。可以将其更改为您喜欢的任何其他内容 - 见下文。public/style.css
- 用于风格化 feed 输出的 CSS 文件。public/index.html
- Bubo 运行时自动生成的 HTML 文件。发动机:
src/index.ts
- 当您想要构建新版本的 Bubo 时运行的主要脚本。它将自动从您的 feed 中获取最新内容,并在public/index.html
构建一个新的静态文件。src/renderer.ts
— 加载 Nunjucks、模板并了解如何处理传入的提要数据的渲染器。更喜欢别的东西?这是要改的地方!src/utilities.ts
— Bubo 的各种解析和标准化实用程序,隐藏起来以尝试保持干净。在主index.ts
文件中,您将找到两个值,可让您批量和限制 Feed 请求:
MAX_CONNECTIONS
指示一个批次可以同时处理的最大请求数。DELAY_MS
指示每个批次之间的延迟时间量。默认配置没有批处理或限制,因为MAX_CONNECTIONS
设置为Infinity
。如果您想将 Bubo 更改为每秒一次只获取一个 feed,您可以将这些值设置为:
const MAX_CONNECTIONS = 1 ;
const DELAY_MS = 1000 ;
如果您想将每 2.5 秒同时请求限制为 10 个,您可以这样设置:
const MAX_CONNECTIONS = 10 ;
const DELAY_MS = 2500 ;
在实践中,我从来没有真正遇到过将MAX_CONNECTIONS
设置为Infinity
问题,但这感觉像是一个明智的设计保护措施。
最快的方法是在 Glitch 上重新混合项目:https://glitch.com/edit/#!/bubo-rss
如果您愿意从这里开始,此存储库上还有一个glitch
分支。
只需更改./config/feeds.json
文件中的一些提要即可!如果您想修改样式或模板,可以分别更改./public/style.css
文件或./config/template.html
文件。
config/feeds.json
来管理您的提要和类别部署设置应自动从netlify.toml
文件导入。您需要做的就是确认并准备好出发!
为了使您的提要保持最新,您需要为您的 Netlify 站点设置一个 Build Hook,并使用其他服务经常对其进行 ping 操作以触发重建。我建议调查一下:
如果您已经有一台运行 Linux 的服务器并且有一些命令行经验,那么设置 cron 作业可能会更简单。
您可以在此处查看现场演示:
如果您发现这有用,请考虑赞助我或这个项目。
如果您希望在自己的服务器上运行此程序,请考虑使用这些附属链接之一在 Linode、Digital Ocean 或 Vultr 上设置微型实例。
以下是一些使用 Bubo Reader 的网站:
如果您想成为特色,请分享!