Bubo Reader は、独自のサーバーに導入できる超ミニマリストのフィード リーダー (RSS、Atom、JSON) です。Netlify は数ステップで、Glitch はさらに少ないステップで導入できます。このプロジェクトの目標は、カテゴリおよび Web サイトごとに整理されたフィードのコレクションからのリンクのリストを表示する Web ページを生成することです。それでおしまい。
この名前は、『タイタンの戦い』(1981 年)に登場するこの愚かなロボット フクロウにちなんで付けられました。
このプロジェクトについて詳しくは、私のブログをご覧ください。
npm install実行して依存関係をインストールします。feeds.json更新して、表示したいカテゴリとフィードへのリンクを含めます。npm run build:bubo実行します。それでおしまい!これで、 publicフォルダー内のフィードの最新コンテンツへのリンクを含む静的ページが作成され、配信できるようになりました。
静的な部分:
conf/feeds.json - カテゴリに分けられたフィード URL を含む JSON ファイル。config/template.html - フィードの表示方法を変更できる Nunjucks テンプレート。これは好きなものに変更できます。以下を参照してください。public/style.css - フィード出力のスタイルを設定する CSS ファイル。public/index.html - Bubo の実行時に自動的に生成される HTML ファイル。エンジン:
src/index.ts - Bubo の新しいバージョンを構築するときに実行する主要なスクリプト。フィードから最新のコンテンツを自動的に取得し、 public/index.htmlに新しい静的ファイルを構築します。src/renderer.ts — Nunjuck、テンプレートをロードし、受信フィード データの処理方法を理解するレンダラー。他のものをお好みですか?ここが変更する場所です!src/utilities.ts — Bubo 用のさまざまな解析および正規化ユーティリティ。クリーンな状態を保つために隠されています。メインのindex.tsファイルには、フィードリクエストのバッチ処理とスロットリングを可能にする2つの値があります。
MAX_CONNECTIONSバッチで一度に実行できるリクエストの最大数を指定します。DELAY_MS各バッチ間の遅延時間の量を指定します。 MAX_CONNECTIONSがInfinityに設定されているため、デフォルト構成ではバッチ処理やスロットルは行われません。 Bubo を 1 秒ごとに 1 つのフィードのみを取得するように変更したい場合は、これらの値を次のように設定できます。
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 サイトのビルド フックをセットアップし、別のサービスを使用して頻繁に ping を実行し、再構築をトリガーします。次のことを検討することをお勧めします。
すでに Linux を実行しているサーバーがあり、コマンドラインの経験がある場合は、cron ジョブをセットアップする方が簡単かもしれません。
ここでライブデモをご覧いただけます:
これが役立つと思われた場合は、私またはこのプロジェクトのスポンサーになることを検討してください。
これを独自のサーバーで実行したい場合は、これらのアフィリエイト リンクのいずれかを使用して、Linode、Digital Ocean、または Vultr でマイクロ インスタンスをセットアップすることを検討してください。
Bubo Reader を使用している Web サイトをいくつか紹介します。
紹介してほしい方はぜひシェアしてください!