Notionを無料ブログ化してみた

2025-03-05

Tech

NotionNext.jsVercel

全ての情報をNotionで管理したい。

最近はもっぱら、様々なデータ管理をNotionに集約しています。
アウトプットも全てNotionで完結してしまえば素晴らしいものになるだろうと、Next.jsの勉強も兼ねて自作してみました。


デモページ
https://notion-vercel-blog.vercel.app/

GitHubも公開しているので、カスタマイズはご自由に!
https://github.com/masaquid/notion-vercel-blog

それでは、セットアップに進みましょう。



導入手順

  • GitHubリポジトリの作成
  • Notionのセットアップ
  • Vercelのセットアップ

カスタマイズ等なければ10分ぐらいで終わります。
それでは、やっていきましょう。



GitHubリポジトリの作成

notion-vercel-blogのリポジトリをクローンします。

リポジトリをクローンする
https://github.com/masaquid/notion-vercel-blog


クローンの説明については、公式ドキュメントが画像付きで説明しています。
そちらを参照してください。


Notionのセットアップ

データベースを作成します。
テスト用に公開している私のデータベースがあるので、複製して利用してください。

notion-vercel-blog サンプルデータベース


データベースを複製したら、そのページへブラウザでアクセスしてください。
URLを確認すると https://www.notion.so/xxxxxxxxxx?v=database_id_here といった形になっています。

この末尾の ?v= 以降 database_id_here の部分がデータベースIDになります。
Vercelのセットアップ時に使うので、控えておきましょう。


次に、インテグレーションを作成します。
下記URLからマイインテグレーションを開き、新しいインテグレーションを作成します。

https://www.notion.so/profile/integrations


インテグレーションに適当な名前を入力し、適切な関連ワークススペースを設定してください。
※インテグレーション名には「Notion」の文字列を設定できません。

種類は「内部」で作成してください。


そのまま保存して進めると、内部インテグレーションシークレットが確認できます。
ここで表示されるキーも控えておきましょう。

その他の項目はデフォルトのまま進めて構いません。


インテグレーションを作成したら、データベースページの右上ドロワーをクリックします。
「接続」から、先程作成したインテグレーションを選択して接続します。

これでNotion側の設定は終了です。


Vercelのセットアップ

Vercelのアカウントのアカウントは持っている前提で話を進めます。
まだ登録していない人は、下記URLから登録しておいてください。
https://vercel.com/home


vercelにログインし「Add New…」から新しいプロジェクトを作成します。


Import Git Repositoryで、先程作成したGitHubのリポジトリを選択するのですが……
そのままでは権限が付与されていないので「Configure GitHub App」から設定します。


「Configure GitHub App」を押下し、開いたメニューをスクロールしていくと……

Repository Accessという項目があるので、先ほど作成したGitHubリポジトリを選択。
Saveを推して保存します。


先ほどの画面に戻ると、対象のリポジトリが表示されるので「Import」を押下します。


プロジェクトの作成画面に入ります。

Projecrt Nameにそれらしい名前を入れて、Framework Presetに Next.js を選択。


Enviroment Variablesに、次の値を設定します。

Keyに「 NOTION_API_KEY
Valueに 先ほど控えておいた「内部インテグレーションシークレット

Add Moreを押下し、もう1つ変数を追加して

Keyに 「NOTION_DATABASE_ID
Valueに 先ほど控えておいた「データベースID

をそれぞれ入力してください。


最後にDeployを押下したら完成です。


しばらくすると、自動的にビルドされブログが公開された状態になります。
Domainsに公開URLが記載されています。クリックするとアクセスできます。




公開後に設定すること

ブログタイトルや説明文、1ページの表示件数などは src/config/index.ts に記載。
https://github.com/masaquid/notion-vercel-blog/blob/main/src/config/index.ts

ご自身のブログに合わせて適切な値を設定しましょう。


独自ドメインで運用したい。

公式ドキュメント 
https://vercel.com/docs/domains/working-with-domains/add-a-domain


とても丁寧な参考サイトもたくさんあるので、参考にしてみてください。

Vercelにお名前.comで取得したドメインをカスタムドメインとして設定する - ZUMA Lab
https://zuma-lab.com/posts/vercel-onamae-domain-settings

Vercelへ独自ドメインを使ってデプロイする - Tomoyuki Kato's Blog
https://ph-1ab.com/deploy-vercel-with-own-domain/#toc2




おわり

Next.jsの勉強を兼ねて、1カラムでシンプルかつ、最小機能での実装を目指しました。

細かい部分で至らない所はめっちゃ多いので、サポートや改修要望はXから連絡くださいませ。
https://x.com/masaquid


Notionをソースとしてブログ化する試みは、過去に幾つかのプロダクトがあります。
有識者の方は、偉大な先人のプロダクトをベースにすると、機能面は豊富かも。

https://github.com/ijjk/notion-blog

https://github.com/otoyo/astro-notion-blog





関連記事

YouTubeのバズ動画発見ツール

2025-03-10

記事を読む →