Nobelium is an open-source static blog template that turns a public Notion page into a Next.js-powered website deployable on Vercel. It uses Notion as the content management system, fetches pages via the page ID, and generates a fast, SEO-friendly static blog with incremental static regeneration.
What is Nobelium?
Nobelium is a static blog build on top of Notion and Next.js, created by Craig Hart and maintained by contributors under the MIT License. It takes a publicly shared Notion page ID and outputs a fully rendered blog site with support for tags, search, comments, RSS, and analytics — no separate CMS or database required. The project is designed for deployment on Vercel, but it can also run via Docker or with the Next.js development server.
Key Features
- Notion-powered content — Write posts in Notion using the provided template, share the page publicly, and Nobelium renders them as a blog; updating content in Notion automatically reflects on the site via incremental static regeneration.
- Deploy on Vercel in minutes — Fork the repo, set the NOTION_PAGE_ID environment variable, and connect to Vercel; no redeployment is needed after content edits because of incremental regeneration.
- Tailwind CSS styling — The UI is built with Tailwind CSS and the @tailwindcss/jit compiler, making customization straightforward for developers.
- Built-in features — Comments via Gitalk or Cusdis, full-width page support, quick search, tag filtering, RSS, analytics, and web vitals come configured out of the box.
- SEO and performance — Includes pretty URLs, sitemap generation, Open Graph support, dark mode, and fast static generation.
- Dual language interface — The configuration supports both English and Chinese interfaces.
- Docker support — An unofficial Docker image (ghcr.io/craigary/nobelium:main) is available, and the repository includes a Dockerfile for building your own image.
Who is it for?
- Developers who want a customizable blog — Those comfortable with Next.js and Tailwind CSS can adjust the design and add features on top of a lean codebase.
- Notion users — Anyone who already documents in Notion can publish a blog using the same workspace, without migrating content to a separate CMS.
- Indie hackers and tech writers — A free, Vercel-hosted blog with minimal maintenance fits fast side-project publishing.
What can you do with Nobelium?
- Publish a personal blog — Duplicate the Notion template, write posts with cover images and tags, and share the page to generate a live blog.
- Quickly spin up a company or portfolio blog — With instant deployment and incremental regeneration, content updates appear without a rebuild step.
- Build a multi-author site — Because posts are managed in Notion, collaborators can edit the shared database and their changes are pulled automatically.
How does Nobelium work?
- Duplicate the provided Notion template and share it publicly.
- Fork the Nobelium repo, customize blog.config.js, and deploy on Vercel.
- Set the NOTION_PAGE_ID environment variable; optionally set NOTION_ACCESS_TOKEN if you prefer not to share the database.
- Nobelium fetches content from Notion, generates static pages with Next.js, and serves them with incremental static regeneration.
FAQ
How can I change my avatar?
Nobelium fetches avatars from Gravatar, so set your avatar there with the same email address that you define in blog.config.js.
Why do my posts disappear after I set up grouping in Notion database?
Nobelium does not support Notion database grouping. To organize posts, create views with filters instead.
What is the NOTION_PAGE_ID?
It is the ID of the Notion page you shared to the web, typically a 32-digit string after your workspace address in the URL.
Does Nobelium require a server?
No, it builds static pages and runs on Vercel's edge network, but it can also be run locally with Docker or the development server.





