A static blog build on top of Notion and Nextjs, deployed on Vercel.
Demo: https://nobelium.vercel.app/
- Star this repo 😉
- Duplicate this Notion template, and share it to the public
- Fork this project
- Customize
blog.config.js
- (Optional) Replace
favicon.svg
, andfavicon.ico
in/public
folder with your own - Deploy on Vercel, set following environment variables:
NOTION_PAGE_ID
(Required): The ID of the Notion page you previously shared to the web, usually has 32 digits after your workspace addressNOTION_ACCESS_TOKEN
(Optional, not recommended): If you decide not to share your database, you can use token to let Nobelium grab data from Notion database. You can find it in your browser cookies calledtoken_v2
- Keep in mind Notion token is only valid for 180 days, make sure to update manually in vercel dashboard, we probably switch to Official API to resolve this issue in the future. Also, images in Notion database will not properly rendered
- That's it! Easy-peasy?
Unofficial, thanks to @Vaayne's work!
# set env
export NOTION_PAGE_ID=xxx # your NOTION_PAGE_ID
export IMAGE=nobelium:latest
# build with docker
docker build -t ${IMAGE} --build-arg NOTION_PAGE_ID .
# run with docker
docker run -d --name nobelium -p 3000:3000 -e NOTION_PAGE_ID=${NOTION_PAGE_ID} nobelium:latest
# pull image
docker pull ghcr.io/craigary/nobelium:main
# run with docker
docker run -d --name nobelium -p 3000:3000 -e NOTION_PAGE_ID=${NOTION_PAGE_ID} ghcr.io/craigary/nobelium:main
- Generation: Next.js and Incremental Static Regeneration
- Page render: react-notion-x
- Style: Tailwind CSS and
@tailwindcss/jit
compiler - Comments: Gitalk, Cusdis and more
How can I change my avatar?
Nobelium fetches avatars from Gravatar. You need to set your avatar there with the same email address that you defined inblog.config.js
.
My posts disappear after I set up grouping in Notion database!
Nobelium currently doesn’t support Notion database grouping. If you really want to manage your posts by groups, you can create views with filters instead.The MIT License.