🦔

自分の投稿記事をRSSで集約するサイトを作った(Next.js)

2023/07/25に公開

noteやはてなブログ、Qiitaなど投稿する記事をどこかで1つにまとめられたら嬉しいなと思っていたところ catnoseさんチーム個々人のテックブログをRSSで集約するサイトを作った(Next.js) を作ってくれました。
チーム向けのブログ集約サイトだったため、こちらをForkし、個人用の記事集約サイトになるようにしました。

RSSの登録

こちらに my-post-hub/author.ts 自分が使用しているサイトを記載します。

    {
      name: 'note',
      userName: "shitake4_",
      url: 'https://note.com/shitake4_',
      rss: {
        url: 'https://note.com/shitake4_/rss',
      }
    },

特定の記事を取り除きたい or 取り込みたい場合には、使用しているサイト毎に、正規表現で抽出可能です。

    {
      name: 'note',
      userName: "shitake4_",
      url: 'https://note.com/shitake4_',
      rss: {
        url: 'https://note.com/shitake4_/rss',
        excludeUrlRegex: '',
        includeUrlRegex: ''
      }
    },

SNSアイコンの表示数を増やす


my-post-hub/author.ts に記載すると、アイコンリンクがプロフィールの下に表示されるようにります。

my-post-hubのRSS取得

各サイトから集約した記事をまとめてRSSで配信できるようになっています。

  • https://{domain}/feed.xml
  • https://{domain}/feed.json
  • https://{domain}/atom.xml

デプロイ

デモサイト はVercelでデプロイしましたが、私はGitHub Pagesを利用しています。
GitHub PagesへのデプロイはGitHub Actionsで行っており、こちらmy-post-hub/.github/workflows/nextjs.ymlをそのまま利用できます。

定期ビルド

表示する記事を更新するためには、ビルドが必要です。
こちらmy-post-hub/.github/workflows/nextjs.yml でpush時とcronで決まった時間にビルドするようになっています。
更新頻度を増やしたい場合などはこちらを変更してください。

リポジトリを作成する

shitake4/my-post-hubをテンプレートとしてリポジトリを作成することができます。
テンプレートからリポジトリを作成する - GitHub Docs 参考に <user>.github.io リポジトリを作成してください。

参考記事

Discussion