/notion-rss-hub

Primary LanguageTypeScriptMIT LicenseMIT

notion-rss-hub

RSS フィードを Notion に同期するマン

Description

  • Qiita, Zenn, note などの RSS の URL を登録することで、Notion の Database に記事のリンクをまとめることができます。
  • RSS フィードを取得できるサイトであれば好きな場所に記事を投稿できるようになり、Notion の Database を利用しているため自由に View を変えたり Filter や Sort を利用できます。
  • super.soWraptasで自身のポートフォリオサイトとして公開するユースケースを想定しています。
  • リポジトリを Fork してご自由にお使いください。

Demo

https://mh4gf.dev/

Usage

同期は GitHub Actions で行います。発火方法は Schedule もしくは Workflow Dispatch を用意しています。

  1. RSS フィードの情報を Notion から取得
  2. RSS フィードの URL にそれぞれアクセスし、記事データを取得
  3. 同期用 Database に対して、記事 URL をユニークキーとし FindOrCreateOrUpdate

Installation

  1. リポジトリを Fork
  2. Notion 上で RSS フィードの設定用 Database と、記事の同期用 Database をテンプレートから複製
  3. Notion API の Integrations を Internal integrations で作成し、token を取得
  4. 環境変数を設定
  5. その他自由にソースコードを修正してください

1. リポジトリを Fork

こちらを参考に、自身の管理するアカウントにリポジトリをフォークしてください。

2. Notion 上で RSS フィードを管理する Database と、記事を同期するための Database をテンプレートから複製

Notion 上で二つの Database を用意します。

3. Notion API の Integrations を Internal integrations で作成し、token を取得

Getting Started を参考にしながらアクセストークンを取得してください。

4. 環境変数を設定

こちらを参考にフォークした GitHub のリポジトリにシークレットを登録してください。

以下の内容を登録してください。

NOTION_KEY=<3で取得したtoken>
FEED_SOURSES_NOTION_DATABASE_ID=<2で作成したRSSフィード設定用DatabaseのID>
ARTICLES_NOTION_DATABASE_ID=<2で作成した記事の同期用DatabaseのID>

database_id の取得方法はこちらを参考にしてください。

5. その他自由にソースコードを修正してください

Database の Properties を変えたり、作成する Page の記載内容を変えたい場合は直接コードを修正してください。
src/index.ts がアクセスポイントとなっています。