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
npm install
# or
yarn install
# or
bun 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"
npm run dev
# or
yarn dev
# or
bun devOpen http://localhost:3000 to see your blog!
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.