アルパカログ

Notion Blogでブログの更新情報をRSSで配信する

2021年2月08日
🔖Notion Blog

Notion Blogはなんでも自分でカスタマイズ可能ですが、裏を返せば、ブログの一般的な機能といえど無い機能が多く、自分で作らなければなりません。

RSSフィードもそのうちのひとつです。

このエントリではNotion BlogでRSSを動的に生成して配信する方法を説明します。

Atom(XML)を配信する

Notion BlogのフレームワークはHTMLページの静的ビルドやISRといった機能を備えていますが、残念ながらこれらの仕組みでXMLを配信することは現時点ではできないようです。

そこでサーバーサイドレンダリングを用いて動的にAtomを生成する方法を採ります。方法は下記のIssueコメントで紹介されています。

現時点では Experimental な Rewrite 機能を使います。上で紹介されている方法そのままですが、今回も私のコミットを紹介します。

このコミットでは /atom をエンドポイントとしてRSSを配信しています。 /atom/api/atom に rewrite していますね。

/api/atom では build-rss.ts から必要なメソッドを持ってきています。

また、もともとビルド時のみRSSを静的ビルドしていましたが、不要になったので packeage.json から該当の箇所を削除しています。

以上です。このエントリではNotion BlogでRSSを動的に生成して配信する方法を説明しました。

タグ