アルパカログ

Notion Blogで日時を指定して記事を予約投稿する

2021年1月18日
🔖Notion Blog

Notion Blogでも他の多くのブログサービスのように日時を指定して予約投稿したいですよね。

このエントリでは公開日時を指定して投稿する予約投稿機能の実装方法を説明します。

日時を指定して記事を公開するには

日時を指定して記事を公開するためにやることは2つです。

すなわち、公開日時を記事テーブルに追加することと、公開日時によって記事の公開・非公開を判定するように変更することです。

まず、前者からやっていきます。

記事テーブルに Date という名前のDateタイプ列を追加します。これが公開日になります。

適当な記事を選んで日を設定しておきましょう。

次に、設定した公開日によって記事の公開・非公開を判定するように変更します。下記のコミットを参考にソースコードを修正しましょう。

postIsPublished() メソッドで記事の公開・非公開を判定していますが、なぜか部分的に使われていないところがあるので1番目のコミットで修正しています。

2番目のコミットでは、公開・非公開判定に日時による条件も追加しています。

記事テーブルに設定した Date は時間部分が 00:00:00 で渡ってくるので、公開したい時間を加えています。コミットでは午前9時に設定していますが、変更したい場合は下記の定数部分を修正してください。

const TIME_PUBLISHING = 9 * 60 * 60

これで設定した日時に記事が公開されるようになります。

※厳密には Incremental Static Regeneration(SGI) で再度ページをビルドしたときになるので、この設定時間だけずれることになります。

以上です。このエントリでは公開日時を指定して投稿する予約投稿機能の実装方法を説明しました。

タグ