A modern, customizable Next.js boilerplate for creating a blog powered by Notion as a CMS. Perfect for developers who want to leverage Notion's powerful content management while maintaining full control over their blog's design and functionality.
This template provides everything you need to get started with a Notion-powered blog in minutes.
- Notion as CMS: Use Notion as your content management system
- Fully Customizable: Complete control over design and UI components
- Next.js 16: Latest Next.js with App Router and React 19
- Responsive Design: Mobile-first, responsive layout
- Dark Mode: Built-in dark mode support
- SEO Ready: Optimized for search engines
- Performance: Fast loading with optimized rendering
- Rich Content: Support for all Notion block types
- Direct Links: Easy navigation between pages
# Fork this repository on GitHub first, then clone your fork
git clone https://github.com/YOUR_USERNAME/nextjs-notion-blog-template.git
cd nextjs-notion-blog-template
# Install dependencies
bun install
# or
npm install
# or
pnpm install- Go to https://www.notion.so/profile/integrations
- Click "New integration"
- Give it a name (e.g., "My Blog CMS")
- Select the workspace you want to access
- Click "Submit"
- Copy the "Internal Integration Token" (starts with
ntn_)
# Copy the environment example
cp .env.example .env.localEdit .env.local and add your Notion token:
NOTION_TOKEN=ntn_your_actual_token_hereTo allow your integration to access specific pages:
- Go back to your integration at https://www.notion.so/profile/integrations
- Click on your integration name
- Go to the "Access" tab
- Click "Add pages" or "Add databases"
- Search for and select the pages/databases you want to display on your blog
- Click "Save"
bun run dev
# or
npm run dev
# or
pnpm devOpen http://localhost:3000 to see your blog!