/osmium

A static site builder. Powered by Notion and Next.js

Primary LanguageTypeScriptMIT LicenseMIT

Osmium logo
Osmium

A static blog site builder. Powered by Notion and Next.js

Osmium is a heavily-modded version of the awesome Nobelium

Powered by Vercel


Highlights

🚀 It’s fast

  • Fully leverage SSR/SSG to pre-render pages as much as possible
  • Use Notion’s private API to ensure data-fetching efficiency

😌 It’s easy

  • Use only Notion and you got a fully functional blog
  • Manage your blog and posts in familiar Notion way

🤖 It’s smart

  • Auto-build-and-deploy your blog without any manual commands (if you are using Vercel or Netlify)
  • Once deployed, just write your blog and posts will automatically update thanks to ISR

Quick Start

  • In GitHub
  • In Notion
    • Duplicate this Notion Database, and share to web (optional but recommended)
    • In the newly created database, find Config and open it
    • Open the Osmium configurator, fill the form with your preferences and click the top-right button to copy your config
    • Back to the page Config in Notion, remove the content of the code block and paste your config into it
    • (Optional) Change the icon of the Config page. You can choose whichever type you like, no matter emoji or icon or image. That will be the logo and favicon of you blog
  • In Vercel (recommended) or other platform you choose to deploy to
    • If you use Vercel, create a new project and link to your Osmium fork, then set the following environment variables:
      • NOTION_DATABASE_ID: The ID of the Notion Database you just created, usually a 32-digit or 36-digit hex code. You can find it from the page link in the share menu of the page. If you find two IDs, use the first one
      • NOTION_ACCESS_TOKEN (optional, not recommended): If you decide not to share your database, you can make Osmium grabbing data privately with the token. You can find it after the name token_v2 in your browser cookies
        • Notes: Notion token is only valid for 180 days. Don’t forget to update it in Vercel project settings before expiry. We’ll probably switch to the Notion Public API to resolve this issue in the future. Also, images may not be properly displayed in this case
    • If you are not a Vercel user, just build and deploy your fork as a normal Next.js app with the environment variables described above
  • You are all set! Would you star this project? 🌟

Migrate from Nobelium

See https://osmium-blog.vercel.app/migrate-from-nobelium

FAQs

See https://osmium-blog.vercel.app/faqs

License

MIT