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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。