<aside> 🚀

Duplicate this public page as a template, then connect your own Notion integration to the duplicated Posts and Authors databases. This page is the starter CMS for Notion-As-Blog.

</aside>


How to use this template

<aside> ✅

Setup flow: duplicate this page, connect your integration, copy the data source IDs, configure the app, and deploy.

  1. Click Duplicate in the top-right of this public Notion page and choose your workspace.
  2. Create a Notion integration from My integrations.
  3. Open the duplicated Posts database and connect your integration from Connections.
  4. Repeat the connection step for the duplicated Authors database if you want author profiles.
  5. Copy the Posts data source ID and set it as NOTION_DATA_SOURCE_ID in your app environment.
  6. Clone the GitHub repository, set environment variables, and deploy. </aside>

📋 Posts database column definitions

Property Name Property Type Required Description
title Title O The title of the post.
slug Text (Rich text) - URL path. If empty, the app falls back to the Notion page ID. Use a stable lowercase slug for clean URLs and SEO.
status Select O The visibility status of the post. (See 'Status Details' below)
type Select - Content type. Defaults to 'Post' if left empty. (See 'Type Details' below)
date Date O Publication date. Used for sorting posts by newest first.
category Select O Category of the post.
tags Multi-select - List of tags. Feel free to add yours. E.g., Next.js, React
series Select - Series name for grouped posts. The app reads this as a Select value and links posts with the same selected series.
author Person - Select Notion workspace member(s). Rich author cards are matched through the Authors data source people property.
summary Text (Rich text) - A short summary (1-2 sentences) to be displayed in the post list.
thumbnail Files & media - Thumbnail image. You can upload a file or paste an external image URL.
Pinned Checkbox - When checked, the post appears in the featured slideshow on the home page.

🚦 Status Details

Use status to control visibility. Start with Draft, switch to Public when ready, and use Private to hide content without deleting it.

Value Meaning List View Access via Link Description
Public Published O O Visible on the main blog and category lists.
PublicOnDetail Link Only X O Hidden from lists, but accessible to those with the URL.
Draft In Progress X X Working draft. Not visible on the blog.
Private Private X X Private post. Not visible on the blog.

📑 Type Details

Categorizes the content format. In most cases, you can leave it empty or select Post.

Value Meaning Description
Post Blog Post Standard article. Shown in the home feed, category pages, tag pages, search, RSS, and sitemap when status is Public.
Paper Treated as Post The current app supports Post and Page. Any other type value, including Paper, falls back to Post in the parser.
Page Page Independent pages like an "About" page. Not displayed in the post list.

Authors database (optional)

Use this database for richer author profiles. After duplicating the template, connect your integration to this database and set NOTION_AUTHORS_DATA_SOURCE_ID if you want avatars, bios, and social links.

Authors

❓FAQ (Frequently Asked Questions)