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 的網站:
如果您想成為特色,請分享!