Framework | Next.js |
Use case | Blog |
CSS | Tailwind |
Blog Databases for Simple Blog Template
上記のNotionのページを「テンプレートとして複製」しましょう。
NotCMSのダッシュボードにいき、アカウント登録を行います。
新しいNotCMS Workspaceを作成します。
この時、Notionの連携を求められます。
連携したいNotionのページを選択して、連携を行ってください。
(Step1でこのページを複製した保存先を指定してください)
Notionテンプレートに含まれる「blog」「writers」の2つのデータベースに対して、「ビューのリンクをコピー」をクリックしてURLをコピーし、NotCMSのダッシュボードに追加します。
詳細ステップ:
GitHubのプロジェクトをクローンします。
npx create-next-app@latest -e https://github.com/qqpann/notcms/tree/main/examples/nextjs-simple-blog-template
NotCMSダッシュボードでシークレットキー管理ページに行き、新しいキーを生成します。
生成したキーをコピーします。
NOTCMS_WORKSPACE_ID=xxx
NOTCMS_SECRET_KEY=xxx
コピーしたキーを、ローカルの .env.local
に追加します。
npx notcms-kit init
init
コマンドを実行し、設定ファイルを追加します。
(最初の1回だけ実行すれば大丈夫です)
npx notcms-kit pull
pull
コマンドを実行し、スキーマを取得します。
(今後、Notionデータベースのプロパティを追加・変更・削除した際は、再度実行することでスキーマを同期します)
テンプレートを利用しているため、データベースのIDが更新されるので、Gitコミットしましょう。
テンプレートを利用しているため、このステップはスキップできます。
npm install notcms
notcms
パッケージを追加します。(テンプレートには追加済みのため、スキップ可能)
import { nc } from "../src/notcms/schema"; // npx notcms-kit initで設定した場所からインポート
const [pages] = await nc.query.blog.list();
const [page] = await nc.query.blog.get(pages[0].id);
ブログのデータを取得するには、このようにnotcms SDKの関数を利用します。(テンプレートには追加済みのため、スキップ可能)
npm run dev
開発環境を立ち上げて、表示してみましょう。
Vercelなどのホスティングサービスでブログを公開します。
この際、環境変数の追加を忘れずに行ってください。
自分好みにプロパティのカスタマイズや、コンテンツの編集・追加を行いましょう!