banner
云野阁

云野阁

闲云野鹤,八方逍遥

在Github上使用OsmosFeed搭建在线RSS阅读器(无需服务器)

在 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 按钮新建仓库。

1

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

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“保存。

3

部署 GitHub Pages#

1. 进入仓库的 “Settings” -> “Pages” ,在 Branch 中选择”gh-pages“,目录选择”/(root)“,点击”save“保存。

4

5

  1. 刷新页面,直到界面上出现 Your site is published at https://github用户名.github.io/仓库名的确认信息(最多等待 1-3 分钟)即可离开。完成部署。部署的详细过程可以进入仓库的”Actions",进行查看具体过程与异常情况。

6

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。