
A modern, fast, and customizable blog template powered by Notion as a CMS and Next.js. This template allows you to use Notion as your content management system while serving your blog with Next.js.
NOTION_TOKEN)https://www.notion.so/20bf471a8ac78080a3d4dad6ed77ca17?v=...ββββββββββ Database ID ββββββββββ
.env.local file in your project root:
NOTION_TOKEN=your_integration_token_hereNOTION_DATABASE_ID=your_database_id_hereNEXT_PUBLIC_SITE_URL=your_site_url_here
npm installnpm run dev
Visit http://localhost:3000 to see your blog.
src/lib/notion.ts:export interface Post {// ... existing properties ...yourNewProperty?: string; // Add your new property}export async function getPost(pageId: string): Promise<Post | null> {try {// ... existing code ...const post: Post = {// ... existing properties ...yourNewProperty: properties.YourNewProperty?.your_property_type?.value,};// ... rest of the code ...}}
src/app/posts/[slug]/page.tsx to change the blog post layoutsrc/components/mdx-component.tsx to customize markdown renderingAccess your integration settings anytime:
Create new blog posts:
The template uses these default properties:
Title - The post title (required)Status - Publication status (Published/Draft)Published Date - Post publication dateAuthor - Post authorTags - Post tags (multi-select)Category - Post category (select)Featured Image - Cover image URLFeel free to submit issues and enhancement requests!
MIT License - feel free to use this template for your own blog!


