Configuring powersagitar
/powerium.io
Important
Page succeeded by project wiki.
This is the configuration guide for powersagitar/powerium.io.
To learn more about the project, please visit its repository hosted on GitHub.
Creating a Notion Integration
The site relies on a Notion integration to fetch data.
To create one:
- Go to developers.notion.com, and click on View my integrations in the top right corner.

- In Integrations, create a new integration.

- Fill in the details and save.
Associated workspace | The workspace you would like to keep the blog database in. The database properties are described in later sections. |
---|---|
Type | Internal |

- Final bits to set up the integration.
Internal Integration Secret | This will be notionApiKey |
---|---|
Content Capabilities | Read content |
User Capabilities | No user information |

Setting Up the Blog Database
Create a Notion database with the following properties:
Tip
The property names are case-sensitive.
Name | Type | Description |
---|---|---|
title | Title | Title of the blog post. |
published | Date | Date of publication. Only posts that have a publication date prior to current date will be fetched. A 404 is returned otherwise. |
authors | Text | Authors of the blog post, if different from what you define later in site configuration. |
description | Text | Description of the blog post. Will be used as the meta description of the page. |

Install the integration you just created to the database.
Please see Add connections to pages.
Configuring the Site
All configurations are in files under /config
.
/config/notion.ts
Tip
Please remove the existing customPages
from /config/notion.ts
if you don’t intend to keep them.
Key | Description |
---|---|
notionApiKey | Secret of the Notion integration you created previously. |
notionDatabaseId | ID of the blog database you created previously. For where to locate the value, please see Notion API Reference. |
cacheTtl | Time-to-live of the cache in seconds. All database queries are cached. See /lib/notion/server.ts for details. |
customPages? | Pages you want to make available that are not in the database. They will show up in the nav bar. Make sure you install the integration to these pages as well. |
/config/site.ts
Key | Description |
---|---|
url.protocol | Protocol the site uses. |
url.hostname | Hostname of the site. |
url.origin | Origin of the site. |
metadata.author | Default authorship information of site and posts. |
metadata.title | Title of the site. |
metadata.description | Description of the site. |
metadata.keywords? | Keywords of the site. |
metadata.icons? | Favicon of the site. Please see Next.js Docs for more information. |
githubRepository? | GitHub repository where the source of this site resides. |
Favicon
Please see this site to generate a favicon. Additional guidance is provided there.
Suggest an Edit
Please contact @powersagitar.