Thi Notes
AboutNotesBlogTopicsToolsReading
About|Sketches |Cooking |Cafe icon Support Thi
🌻

My site gets (big) updates — v7

My site gets (big) updates — v7

Anh-Thi Dinh
Next.js
Web Dev
You may find this note useful before reading this post. In case you wanna upgrade from v6, read this note.
Light mode on home page.
Dark mode on home page.

🎉 What's new in v7 (Next.js & Notion)? — source

  • All packages upgraded to the latest versions: Next.js 15, Tailwind 4.
  • Completely detached from the my custom notion-x package to create a monorepo, making it easier to track bugs and updates.
  • Detached from the heavy react-notion-x package notion-client and now use only notion-types and notion-utils.
  • We don't rely on https://www.notion.so/api/v3, which requires user login authentication. Instead, we use a public database URL, e.g., https://something.notion.site/api/v3.
  • Switched from yarn to pnpm.
  • Removed redundant code and simplified everything (not 100%, and this process continues in later versions).
  • Added dark mode support.
  • Redesigned the UI (not drastically different from v6)—"simple makes perfect."
  • Upstash Redis caching ensures users always see the latest working version of the site. In version 6, if a Notion request failed, it affected the production site as well. I've also added a GitHub Action to automatically run a warm cache step after each successful deployment. This step is equivalent to running pnpm run warm-cache locally.
    • You can disable this feature with DISABLE_REDIS_CACHE="true".
  • Resend email support notifies me (the admin) of any errors so I can fix them quickly.
    • You can disable this feature with DISABLE_ERROR_EMAILS="true".
      I've also added whoIsCalling to all methods, making it easy to track where bugs originate.
  • Change route segment to force-dynamic and reduce the build time on vercel to less than 1.5 minutes.
  • Everything running this site is free (except the domain).

Previous versions

Version 6 (Next.js & Notion) — source

The UI is basically modified from version 5. The biggest changes come from the Next.js engine and using Notion as a CMS. You can read this post to learn more about how I created this version. It's also useful for later versions like version 7.

Version 5 (11ty) — demo & source

Version 4 (Gatsby, abandoned at 60%) — demo & source

The UI of this version is similar to version 5.

Version 3 (Jekyll) — demo & source

Version 2 (Jekyll) — demo & source

Version 1 (Jekyll) — demo & source

In this post
◆🎉 What's new in v7 (Next.js & Notion)? — source◆Previous versions○Version 6 (Next.js & Notion) — source○Version 5 (11ty) — demo & source○Version 4 (Gatsby, abandoned at 60%) — demo & source○Version 3 (Jekyll) — demo & source○Version 2 (Jekyll) — demo & source○Version 1 (Jekyll) — demo & source