nextjs-notion-starter-kitの実装で躓いたことメモ

nextjs-notion-starter-kitの実装で躓いたことメモ

Tags
Notion
Published
March 9, 2025
Author
NotionをヘッドレスCMS化するのに興味があった。
Next.jsベースはいくつかあるものの、中でもテーマのシンプルさが好みだった「nextjs-notion-starter-kit」を選びました。
実装するうえで、手間取った部分をメモしておきまする。

躓いた部分

nextjs-notion-starter-kitのメモ
  • 変更するのは「PageID(URL)」と「SNSアカウント」くらい
  • インテグレーションよりウェブ公開の方がはやかった
  • ダークモードとライトモードで文字色などが変わるので、デザイン決めはけっこう面倒くさい
  • SNSアイコン変更
  • 困ったら初期設定に戻すのが手っ取り早い
リポジトリをクローンしてローカル起動まではすんなり。
でも、PageID入れても500出るし、インテグレーションは意味ないしで、早々に詰まった。

解決したのは「サイト公開」だった

PageIDを入力してもダメだったし、何がアカンのか小一時間格闘していた。
解決したのはすごく簡単。
Notionページの上にある「共有」から「Web公開」するだけだった。
notion image
単純な話、Notionをプライベート表示していると、URLが正規でもグローバル公開はされていない。
もともとブラウザ表示するツールなので、URLが公開されているから、プライベート表示のページIDを入れても公開できないに決まっている。
設定をWeb公開にすれば、該当ページが一般公開されるから、そのURLをもとにnextjs-notiuon-starter-kitがレイアウトを静的ページにして公開を手伝いつつ、Vercel経由でも表示することができた。

SNSアイコンの設定が面倒くさい

デフォルトだと、Twitter・GitHub・Linkdinの3つが表示されている。
ライブラリに他のアイコンもあるし、パラメータを設定するファイルもある。
でもInstagramを表示させようとすると、エラーが出て表示されてないし、自分で用意したアイコンも表示してくれない悲しさが。
これはまぁ、別途でフッターに表示させるコードを入れるとか、記事中にSNSシェアボタンを入れるなどで対応することもできそう。
ただ、面倒さが勝ってほぼデフォルトに落ち着いた。

ダークモードとライトモード

ボタン押すだけで変更することができるけど、カラー設定はそれぞれ別なことに注意。
投稿部分はNotionが出力する形式が基本になるので、CSSで整形することは可能。
カラーにこだわると作業量は2倍になることに注意。

Web公開したのをヘッドレスCMSと呼ぶのかどうか

nextjs-otion-starter-kit自体は、NotionをWeb公開しつつ、デザインをCSSで制御するタイプのもの。
正確にはAPIを使ってないので、ヘッドレスCMSとはまた違う感じだけど、Notionの投稿がすぐ反映されるのは気持ちいいですね。