Poltergeist is Astro + Notion based content platform.
The 🐒 idea is: you write your posts in Notion, Astro statically generates you a blog.
The 🦍 idea is: you choose where you manage your content (Notion/Obsidian/VSCode/whatever), Poltergeist provides the infrastructure and integrations, and Astro statically generates you a website.
See todo for the current status.
Poltergeist uses Notion as a blog post database. That means you need to:
1. Generate a Notion API key
- Go to Notion API.
- Create a new integration. Copy the Internal Integration Token.
- Store the token in your
.env
file asNOTION_API_KEY
.
2. Set up a Notion database
- Go to Notion.
- Create a new database. Here is an official Poltergeist Notion template if you need it.
- Add the following properties:
Post
(title) - the title of the post. Should point to the post's page.Published
(checkbox) - indicates whether the post is published or not.Slug
(text) - the slug of the post.Title
- meta title of the post. If not set, the title from thePost
property will be used.Description
- meta description of the post.
You can set different names for these properties in your .env
file. See .env.example
.
- Click Share, and copy the database id. It's the part of the URL after
notion.so/
and before the first?
. - Store the database id in your
.env
file asNOTION_DATABASE_ID
.