在 Github 上使用 OsmosFeed 搭建在线 RSS 阅读器(无需服务器)#
前言#
RSS 是什么呢?咱们先唠唠。
🔜RSS🔚
RSS 全称 Really Simple Syndication(真正简易联合),是一种基于 XML(可扩展标记语言)的内容分发协议,它允许用户订阅网站的内容更新,如新闻、博客文章等。好像还有另外的说法是 Rich Site Summary(网站内容摘要)和 RDF Site Summary(资源描述框架站点摘要),不过其实都描述的是从订阅源获取更新的内容,并将获取的内容整合集中显示,方便用户进行查看。
网上有关 RSS 的相关介绍有很多,感兴趣的话可以搜索了解下。
订阅了 RSS,只要再结合 RSS 阅读器,就可以直接看到有关博客的最新文章,那我们就重点搞 RSS 阅读器。RSS 阅读器无论是自建还是使用现成的,都有很多类型,像浏览器插件、手机端、电脑端程序、web 端等。搭建一个 web 端,方便、省事、对终端依赖小。
OsmosFeed是 GitHub 上一个开源的 Web 版 RSS 阅读器,可以使用 GitHub Pages 托管,利用 GitHub Actions 实现内容定期自动更新,主题可自定义。
搭建过程#
创建仓库#
1. 访问 OsmosFeed 仓库的配置教程,点击教程中” 创建新仓库 “中的第一步” 使用 osmosfeed-template 官方模板创建仓库 “,页面跳转至创建新仓库界面,设置仓库名并将可见性设为 Public,点击创建 Create repository 按钮新建仓库。
2. 进入刚创建好的仓库,进入目录.github/workflows
, 修改update-feed.yaml
文件为以下内容。
name: Build site on schedule or main branch update
on:
push:
branches:
- main
schedule:
# Adjust refresh schedule here. By default, it runs once per day.
# Syntax reference: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#schedule
# Recommended tool: https://crontab.guru/
- cron: "0 11 * * *" #设置的执行时间周期
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/[email protected]
with:
node-version: "20"
- name: Install dependencies
run: npm i
- name: Build the feed
run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.action_token }} #action_token为设置的Actions secrets ,后面会讲到
publish_dir: ./public
3. 进入刚创建好的仓库,修改根目录下的 osmosfeed.yaml 文件,将cacheUrl:
行前的#
去除,并将GITHUB_USERNAME
修改为自己的 github 名称,REPO_NAME
修改为本仓库的名。sources
下的- href:
为 RSS/Atom 源。
cacheUrl: https://GITHUB_USERNAME.github.io/REPO_NAME/cache.json
sources:
- href: https://css-tricks.com/feed/
- href: https://www.freecodecamp.org/news/rss/
- href: https://daverupert.com/atom.xml
设置身份验证令牌#
1. 点击自己的头像,选择 “Settings” -> “Developer settings” -> “Personal access tokens”->”Tokens(classic)“,点击 “Generate new token”,选择”Generate new token(classic)“,验证后,指定一个描述性名称,选择令牌的有效时间,选择要授予此令牌的范围或权限。只需要选择 repo 一项即可。点击”Generate token“,完成创建。
2. 创建完成后,复制保存 token,后面要用。
3. 进入刚创建好的仓库,进入仓库的 “Settings” -> “Secrets and variables” -> “Actions”。点击”Repository secrets“中的 “New repository secret”,输入 Actions secrets 的名字为 action_token(与 update-feed.yaml 文件中的保持一致),并将第 2 步复制的 token 粘贴至 Secrets 框中,点击”Add secret“保存。
部署 GitHub Pages#
1. 进入仓库的 “Settings” -> “Pages” ,在 Branch 中选择”gh-pages“,目录选择”/(root)“,点击”save“保存。
- 刷新页面,直到界面上出现
Your site is published at https://github用户名.github.io/仓库名
的确认信息(最多等待 1-3 分钟)即可离开。完成部署。部署的详细过程可以进入仓库的”Actions",进行查看具体过程与异常情况。