Skip to content

peelar/poltergeist

Repository files navigation

Poltergeist

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.

Setup

Poltergeist uses Notion as a blog post database. That means you need to:

1. Generate a Notion API key
  1. Go to Notion API.
  2. Create a new integration. Copy the Internal Integration Token.
  3. Store the token in your .env file as NOTION_API_KEY.
2. Set up a Notion database
  1. Go to Notion.
  2. Create a new database. Here is an official Poltergeist Notion template if you need it.
  3. 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 the Post 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.

  1. Click Share, and copy the database id. It's the part of the URL after notion.so/ and before the first ?.
  2. Store the database id in your .env file as NOTION_DATABASE_ID.