A few months ago, I realized that my website no longer represented my professional style. It had a childish design that felt out of touch with the image I wanted to convey. I knew I needed a fresh, modern look that reflected my evolving style, but I wanted to do it with minimal coding.
While I was exploring productivity tools, I came across Notion and quickly saw its potential beyond just managing tasks. Some users were even leveraging Notion as a Content Management System (CMS) for their websites, through tools like Super.so. Though Super was useful, I felt it didn’t offer the flexibility I needed.
So, I decided to take things into my own hands by building a more dynamic solution that fully integrates Notion with my website. This blog post will walk you through how I did it, from setting up the database in Notion to fetching content through the Notion API and displaying it on my site.
Step 1: Deciding on the Fields
Before diving into the integration, the first step was designing how I wanted to structure my website’s content in Notion. I created a Notion Database with all the essential fields I needed, such as:
- Title: The name of each blog post.
- Slug: A URL-friendly version of the title.
- Content: The main body of the blog post.
- Tags: Categories to group content.
- Published: A checkbox to indicate whether the post should be live.
- Image: A link to the post’s featured image.
- Date: The date the post was published.
Step 2: Connecting Notion's API
To pull content from my Notion database and display it on the site, I integrated