Skip to content
CAI
Software that uses CAICheck a score

notionnext-org/NotionNext

35.8

Weak · 2 October 2026

112.5k

lines of production code

JavaScript

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a static site generator built on Next.js that renders content from a Notion database into customizable websites. It provides core utilities for internationalization, search, and content validation, alongside modular features like AI chat assistants and audio playback. The platform supports complex site structures with multi-level routing and user authentication, maintained with comprehensive test coverage.

How it got here

2021–2022 — Theme ecosystem expansion and infrastructure modernization

34 changes.

The project underwent a major architectural overhaul, migrating to Node.js 22 and Next.js 15 while introducing a robust, multi-store caching system with build-time safety. This period saw the introduction of five new themes and extensive refactoring of existing ones to support centralized configuration and advanced UI features. Additionally, core functionality was expanded with comprehensive search, pagination, PWA support, and accessibility enhancements across the application.

2023–2024 — multi-theme expansion and dashboard integration

38 changes.

The project significantly expanded its theming capabilities by introducing and refining numerous distinct layouts, including Gitbook, Landing, Commerce, Movie, Game, and Photo, alongside a robust dynamic theme loading system. Concurrently, it enhanced core functionality with custom URL routing, comprehensive API endpoints for authentication and content management, and a new user dashboard for account and membership management.

2025–2026 — Theme expansion and infrastructure modernization

55 changes.

This period focused on significantly expanding the theme library with new designs like Proxio, Endspace, and XuHome, while refactoring the core data layer to improve Notion integration stability and caching. Concurrently, the project introduced robust developer tooling, including AI-assisted translation and content management via MCP, alongside comprehensive test coverage and security enhancements.

Features

Add AI assistant, Giscus comments, and homepage motion effects to the VitePress site

The VitePress theme now includes three new components: DocsAssistant.vue adds a floating AI chat widget (powered by the VITE\_DOCS\_CHAT\_API environment variable) for answering deployment and configuration questions; GiscusComment.vue integrates GitHub Discussions-based commenting with dark-mode synchronization and setup guidance; and HomeMotion.vue introduces scroll-triggered entrance animations for the homepage hero and feature sections using GSAP, while respecting reduced-motion preferences.

.vitepress/theme/components · high confidence

Add Endspace theme with industrial aesthetic and configuration options

Introduces the new 'Endspace' theme, featuring a light industrial design with a yellow accent palette, custom tech-style cursors, and a technical grid background. The theme includes a configurable loading animation, customizable watermark text, and specific layout options for article pages and post lists. It also supports special menu pages (AboutMe, Portfolio, Friends) via Notion configuration and integrates with the theme console for palette controls.

themes/endspace · high confidence

Add NAV theme with left-sidebar navigation layout

Introduces the NAV theme, providing a layout with a left-side navigation drawer and a top navigation bar. The theme includes configuration options for menu items (categories, tags, archives, search), custom menu support, and widget toggles (e.g., map, scroll-to-top). It features a responsive design that switches to a top nav on mobile, supports dark mode, and integrates components like Live2D, ads, and comments.

themes/nav · high confidence

Add Notion OAuth authentication flow

The application now supports authenticating with Notion via OAuth. A new \pages/auth\ directory contains \index.js\, which handles the OAuth callback by exchanging an authorization code for a token using the Notion API, and \result.js\, which displays the outcome of the authentication attempt to the user.

pages/auth · high confidence

Add Notion image proxy worker with long-term caching

A new Cloudflare Worker (\notion-image-proxy\) has been added to proxy Notion image assets. It caches images at the Cloudflare edge and in the browser for one year (immutable), serving \304 Not Modified\ responses on revalidation to minimize network requests. The worker is configured via \wrangler.toml\ and includes tests to verify caching behavior and documentation sync.

cloudflare · high confidence

Add Proxio landing page theme

Introduces the Proxio theme, a new landing page layout for the site. It features a configurable hero section, blog preview, career timeline, testimonials, and FAQ modules, along with visual enhancements like scroll animations, a custom cursor, and a welcome cover overlay.

themes/proxio · high confidence

Add category listing page with pagination and revalidation

A new page at pages/category/\[category\]/index.js has been added to display posts filtered by a specific category. It fetches global data, filters for published posts matching the category, and supports both 'page' (paginated, defaulting to 12 posts) and 'scroll' list styles. The page uses dynamic layout rendering and configures static generation with revalidation based on the NEXT\_REVALIDATE\_SECOND setting, excluding revalidation during static exports.

pages/category/\[category\] · high confidence

Add dedicated tag listing page with static generation

A new page at pages/tag/\[tag\]/index.js has been added to handle tag-based article listings. This page fetches global data via the SiteDataApi, filters posts by the specified tag, and supports both paginated and scroll-based list styles based on configuration. It uses getStaticPaths to pre-render paths for all available tags and getStaticProps to provide the filtered post data, enabling static export and configurable revalidation for improved performance.

pages/tag/\[tag\] · high confidence

Add notion-i18n-translator CLI for bilingual Notion database synchronization

A new local CLI tool has been added to scripts/translate to automate bidirectional translation between two Notion databases (Chinese and English). The script reads pages from a source database, sends content to an LLM (DeepSeek or GLM) for translation, and writes the result to the paired target database, maintaining a \paired\_with\ link and a \source\_hash\ for idempotent re-syncs. It includes commands for single-page translation, batch processing, drift checking, and interactive backfilling of existing manual translations, with support for dry-runs, token budgets, and concurrency limits.

scripts/translate · high confidence

Add paginated category archive pages

A new dynamic route for category archives has been added, enabling users to browse posts within a specific category across multiple pages. The implementation fetches global data, filters published posts by category, and slices them according to the configured posts-per-page limit. It also pre-generates static paths for categories with multiple pages to ensure fast initial loads and supports incremental static regeneration based on the configured revalidation interval.

pages/category/\[category\]/page · high confidence

Add paginated server-side search results page

A new dynamic route at pages/search/\[keyword\]/page/\[page\].js enables paginated, server-side search functionality. It fetches global data, filters published posts by keyword using an in-memory cache index, and slices results based on the POSTS\_PER\_PAGE configuration. The page renders using the DynamicLayout with the 'LayoutSearch' layout and supports incremental static regeneration via NEXT\_REVALIDATE\_SECOND.

pages/search/\[keyword\]/page · high confidence

Add server-side search page with case-insensitive filtering and pagination

A new server-side search page at pages/search/\[keyword\] has been added, enabling users to search published posts by keyword. The implementation performs case-insensitive matching against post titles, summaries, tags, categories, and content text using an in-memory cache. It supports pagination via the POSTS\_PER\_PAGE and POST\_LIST\_STYLE configuration settings, limiting results for non-scroll layouts, and includes revalidation logic based on NEXT\_REVALIDATE\_SECOND.

pages/search/\[keyword\] · high confidence

Add static pagination support for blog post lists

A new dynamic page route at pages/page/\[page\].js has been added to handle paginated blog post listings. This component pre-renders pages starting from page 2 (excluding the default first page) and fetches post data via the SiteDataApi. It respects the POSTS\_PER\_PAGE configuration to slice the post list and, when POST\_LIST\_PREVIEW is enabled, fetches and formats the initial block content for each post to display in the list view.

pages/page · high confidence

Added GitHub Markdown CSS theme assets to the Claude theme

The Claude theme now includes the \github-markdown-css\ library, providing CSS styles for rendering Markdown content with GitHub's visual appearance. This addition brings seven distinct color themes (light, dark, dark-dimmed, dark-high-contrast, and colorblind variants for both light and dark modes) along with a demo page and standard project configuration files, enabling consistent Markdown styling within the application's theme structure.

public/themes · high confidence

Added Notion OAuth callback endpoint

A new API route at pages/api/auth/callback/notion.ts has been added to handle the Notion OAuth 2.0 authorization callback. This endpoint exchanges the authorization code for an access token by calling the Notion API, and subsequently redirects the user to /auth/result, passing the authentication response details in the query string.

pages/api/auth · high confidence

Added PWA support and static assets

The site now supports Progressive Web App (PWA) installation and offline capabilities. This includes a new service worker (sw.js) that manages caching and cleans up old namespaces upon activation, a manifest.json defining app metadata and icon requirements (192x192 and 512x512, including maskable variants), and new static assets such as ads.txt for Google AdSense verification, an SVG avatar, an SVG favicon, and a standalone HTML page for the DPlayer video player.

public · high confidence

Added animate.css for scroll-triggered animations

The site now includes animate.css (version 3.7.2) in the public CSS assets, providing standard animation classes such as fadeIn, fadeInDown, fadeInLeft, fadeInRight, and fadeInUp. This enables UI elements to animate into view when triggered by the WOW.js library, enhancing the visual experience of content appearing on the page.

public/css/wow · high confidence

Added environment variable validation and security middleware

The application now includes a new environment variable validation system (lib/config/env-validation.js) that enforces required fields like NOTION\_PAGE\_ID, validates recommended settings, checks security-related keys (Clerk, Redis), and warns about potential sensitive data exposure in public variables. Additionally, a security middleware layer (lib/middleware/security.js) has been introduced to provide rate limiting, input validation for request bodies/queries/params, and XSS sanitization, enhancing the application's robustness against misconfiguration and common web vulnerabilities.

lib/config, lib/middleware · high confidence

Added full-screen iframe wrapper for external games

A new HTML page has been added to serve as a full-screen container for external game content. It loads a specified game URL via a query parameter (e.g., \?n=game-name\) into an iframe that occupies the entire viewport, with no scrolling or borders, and includes a script to handle full-screen functionality.

public/games-external · high confidence

Added global TypeScript type definitions

Introduced a new centralized type definition file (types/index.ts) that establishes the core data structures for the application. This includes interfaces for Notion content (pages, posts, categories, tags), site and theme configuration, user roles, comments, search results, and component props, along with base types for IDs and timestamps.

types · high confidence

Adds paginated tag archive pages

Introduces a new dynamic route at pages/tag/\[tag\]/page/\[page\].js that enables pagination for tag-based post listings. The page fetches global data, filters published posts by the specified tag, and slices them according to the POSTS\_PER\_PAGE configuration. It pre-generates static paths for all tags with multiple pages of results and supports incremental static regeneration via NEXT\_REVALIDATE\_SECOND, excluding regeneration during static exports.

pages/tag/\[tag\]/page · high confidence

Centralized configuration, PWA support, and theme color tooling

This change introduces a new \lib/config.js\ module that standardizes how site settings are resolved, prioritizing Notion database values, then environment variables, and finally static defaults, while also adding specific compatibility for Waline comment keys. It adds \lib/pwa.js\ and \lib/pwa.server.js\ to generate and write the PWA manifest, using built-in PNG icons by default and allowing overrides via Notion config. Additionally, it includes \lib/sitemap-utils.js\ to safely build sitemap URLs by filtering out external links and invalid dates, and provides \lib/themeColorCss.js\, \lib/themeColorUtils.js\, and \lib/themeConsoleStyle.js\ to dynamically generate CSS for theme palettes and ensure readable foreground colors.

lib · high confidence

Claude theme introduces comprehensive component library and nested navigation

The Claude theme now includes a full suite of new UI components, replacing previous inline implementations with dedicated files for better maintainability. Users will see a redesigned navigation system supporting nested sub-menus (both collapsible and dropdown styles), a new table of contents (Catalog) with scroll-spy and level-3 visibility controls, and a GitHub-style profile sidebar in the navigation bar. The blog experience is enhanced with new components for article lists (including infinite scroll), article metadata, encrypted article password prompts, and related post recommendations. Additionally, social contact support has been expanded to include ORCID, CSDN, and Juejin icons alongside existing platforms.

themes/claude/components · high confidence

Commerce theme introduces new layout and navigation components

The commerce theme now includes a comprehensive set of new UI components to enhance site structure and user experience. Key additions include a sticky Header with responsive mobile menus, a Footer with configurable contact details and QR code support, and a Hero section for full-width cover images. Navigation is handled by new menu components (MenuListTop, MenuListSide, MenuBarMobile) that support custom links and sub-menus. Content presentation is improved with new components for article lists (BlogPostListPage, BlogPostListScroll), post cards (ProductCard, BlogPostCardInfo), and related content (ArticleRecommend, ArticleAdjacent). Additional features include a Catalog for table of contents, an Announcement component powered by Notion, and utility widgets like a floating dark mode toggle and scroll-to-top buttons.

themes/commerce/components · high confidence

Fuwari theme v4.9.5.0: new component architecture and feature set

The Fuwari theme has been updated to v4.9.5.0, introducing a comprehensive set of new components for the sidebar, post lists, and article pages. Users now have access to a scrollable post list style (PostListScroll), a dedicated article copyright section with URL copying, and a password-protected article lock feature. The sidebar (SidePanel) now includes widgets for analytics, ads, and contact information, while the header and navigation support nested submenus and a theme color palette. Additional UI improvements include a mobile floating TOC drawer, a hero banner with cover images, and enhanced archive and pagination handling.

themes/fuwari/components · high confidence

Introduce Commerce theme with configurable branding and layout

The new Commerce theme provides a product-focused layout with a configurable color palette (primary red \#D2232A), a toggleable hero banner, and a footer that supports QR code images and text. It introduces dedicated components for a Product Center, product categories sidebar, and a brand introduction section, while replacing standard links with SmartLink for consistent navigation behavior.

themes/commerce · high confidence

Introduce Endspace theme with industrial UI components and media features

The new Endspace theme adds a suite of UI components to the blog, including a tech-industrial styled article navigation (ArticleAdjacent), a paginated and infinite-scroll blog list (BlogListPage, BlogListScroll), and a minimalist post card (BlogPostCard). It also introduces a full-screen loading cover with progress tracking, a custom audio player (EndspacePlayer) with shared state and media guarding, and floating controls for the table of contents and recent logs. The mobile navigation now supports social icons for ORCID, CSDN, and Juejin, while the header is disabled by default.

themes/endspace/components · high confidence

Adds the new 'Fukasawa' theme, providing a left-right layout with a collapsible sidebar and responsive multi-column post lists. The theme includes Algolia search integration, Google Adsense and WWAds support, and a configuration file allowing users to toggle features like post cover images, list animations, and sidebar collapse behavior.

themes/fukasawa · high confidence

Introduce Fuwari theme v4.9.5.0 with configurable layout and palette controls

The Fuwari theme has been finalized and bumped to v4.9.5.0, introducing a new \config.js\ that allows granular control over the site's appearance and layout. Users can now toggle navigation items, customize the home page hero banner, and manage sidebar widgets (such as notices, latest posts, and contact cards) via boolean flags. The theme includes a built-in color palette system with a hue slider in the top bar, allowing users to adjust the primary brand color dynamically. Layout changes include centered post cards on mobile to prevent horizontal overflow, a floating table of contents drawer for small screens, and support for both paginated and infinite-scroll post lists. The contact card in the sidebar now features a flip animation, and article pages support configurable copyright modes and cover images.

themes/fuwari · high confidence

Introduce Game theme with PWA, ad-blocking detection, and interactive game lists

The Game theme now includes a suite of new components that enhance the user experience with PWA installation support, ad-blocker awareness, and interactive game browsing. Users can now install the site as a Progressive Web App via the new DownloadButton, which handles service worker registration and install prompts. An AdBlockerDetect component monitors for blocked ads and displays a polite overlay requesting users to allow ads if they are detected. The theme also features a comprehensive set of game list components (GameListIndexCombine, GameListNormal, GameListRelate, GameListRecent) that display games in various grid layouts, support video previews on hover, and allow users to manage their recent games history. Additionally, the theme includes an Announcement component for displaying Notion-powered notices, a DownloadButton for PWA installation, and a FullScreenButton for immersive game viewing.

themes/game/components · high confidence

Introduce Gitbook theme layout and navigation components

The Gitbook theme now includes a comprehensive set of UI components for its layout and navigation structure. This adds a top Header with desktop and mobile menus, a left sidebar (LeftMenuBar) and mobile drawer (PageNavDrawer) for article navigation, and a right-side Table of Contents (Catalog) with a floating drawer. It also introduces specific UI elements for article content such as an Announcement banner, ArticleLock for password-protected posts, ArticleAround for previous/next navigation, and a BottomMenuBar for mobile access to navigation and TOC.

themes/gitbook/components · high confidence

Introduce HEO theme with extensive configuration and UI components

The HEO theme is now available, providing a new visual layout and interaction model for the blog. This update introduces a comprehensive configuration file (config.js) that allows users to customize the color palette (primary, accent, background, and text colors for both light and dark modes), hero banner content, notice bar messages, and social card details. The theme includes specific UI components such as a hero section with recommended posts, a right-side information card with configurable greetings and social links (including ORCID, CSDN, and Juejin support), a notice bar, and a loading cover animation. It also supports features like article copyright notices, AI summaries, and article expiration notices, with styling defined in style.js to ensure consistent theming across the interface.

themes/heo · high confidence

Introduce Magzine theme components

The Magzine theme is now available, providing a complete set of UI components for the site layout. This includes a responsive header with desktop dropdown and mobile collapse menus, a hero section for featured posts, and various post card styles (standard, wide, and top-pinned). The theme also adds a floating table of contents for mobile navigation, an announcement banner with lazy loading, and a footer with support for social links and ICP filing information.

themes/magzine/components · high confidence

Introduce Magzine theme with configurable layout and styling

The Magzine theme is now available, providing a magazine-style layout with a configurable homepage featuring a hero section, latest posts, and category-based post banners. The theme includes a global configuration file (config.js) allowing customization of colors, homepage content, post list displays, and footer links. It also introduces a dedicated style sheet (style.js) for theme-specific CSS, including custom scrollbar styling and dark mode support. The main layout component (index.js) integrates various sub-components like Header, Footer, Hero, and Catalog to create a cohesive user experience.

themes/game, themes/magzine · high confidence

Introduce Nav theme with comprehensive blog and navigation components

Adds the 'Nav' theme, providing a complete set of UI components for blog presentation and site navigation. This includes article listing views (grid and list), category/tag grouping, a collapsible table of contents, mobile-responsive menus, and a reading progress bar. The theme also supports encrypted articles, external links, and configurable footers with public security filing information.

themes/nav/components · high confidence

Introduce Nobelium theme with configurable navigation and dark mode

The Nobelium theme is now available, providing a new layout option for users. It features a configurable navigation bar (via config.js) that supports toggles for random posts, search, dark mode, categories, tags, archives, and RSS. The theme includes a built-in dark mode, a collapsible top navigation bar animation, and integrates with the global theme console for palette controls. It also supports dynamic loading of the Algolia search modal and includes specific styling for dark backgrounds.

themes/nobelium · high confidence

Introduce OPC personal homepage theme with task-pipeline layout

A new 'opc' theme is available, providing a personal homepage designed around a one-person-company task pipeline. The theme includes a configurable configuration file (themes/opc/config.js) for customizing text, colors (including dark mode support), and direction items, alongside the main entry point (themes/opc/index.js) that renders a sticky header with navigation, a dark mode toggle, and sections for the pipeline workflow, current directions, and long-term records.

themes/opc · high confidence

Introduce Photo theme with configurable layout and video aggregation

The new Photo theme provides a configurable layout framework, including a global configuration file for menu items, background images, and article recommendations. It features a home page with an announcement bar and a swiper component, and implements a specific behavior to aggregate multiple videos within a single article into a single carousel player with episode switching buttons. The theme also includes global styles for dark mode and glassmorphism effects, along with a console palette control integration.

themes/photo · high confidence

Introduce Photo theme with visual-first blog layout and interactive navigation

The new Photo theme provides a visually oriented blog experience, featuring a home background image, a horizontal carousel of posts with cover images, and a sticky sidebar displaying categories, latest posts, and announcements. Navigation is handled by a hierarchical menu with collapsible sub-menus and drop-down support, while post listings offer both paginated and infinite-scroll modes. The theme also includes a password-protected article view, a custom numeric pagination component, and a loading cover overlay.

themes/photo/components · high confidence

Introduce Plog theme with configurable menu and layout

The Plog theme is now available, providing a new visual style and layout for the blog. It features a configurable menu system (controlling visibility of categories, tags, archives, search, and RSS) and a layout that adapts between a two-column design on desktop and a top-navigation design on mobile. The theme includes specific components for article lists, archives, search result highlighting, and modal interactions, along with global styles that support dark mode and integration with the theme console palette controls.

themes/plog · high confidence

Introduce Proxio theme with comprehensive UI components

The Proxio theme is introduced, adding a full suite of UI components including a Hero section with banner support, a Blog list with cover images, a dynamic Brand carousel, and sections for Features, FAQ, Career, and CTA. The navigation now includes a sticky Header with a Logo and MenuList, while the Footer displays contact information and links. Additional features include a LoadingCover splash screen, a BackToTopButton, a DarkModeButton, and an Announcement component for displaying Notion content.

themes/proxio/components · high confidence

Introduce ThoughtLite theme with timeline home and article layout

The ThoughtLite theme is now available, providing a distinct visual style and layout for the site. The home page defaults to a daily timeline view of posts, with an optional 'Latest' summary card at the top. The theme includes a sticky header with a horizontal menu, a sidebar with a table of contents and categories, and a footer that credits the upstream ThoughtLite design. Users can enable post cover images in the list view and toggle between a vertical (stacked) and horizontal (sidebar) layout for article pages.

themes/thoughtlite · high confidence

Introduce XuHome neubrutalist theme components

The XuHome theme adds a complete set of UI components with a neubrutalist aesthetic (bold borders, offset shadows, high-contrast colors). This includes a sticky navigation bar with dropdown menus and mobile drawer, a hero section with typewriter text, blog listing pages with pagination and infinite scroll, article views with table of contents, category/tag navigation, and a password-protected post view. It also introduces an inline audio player that enhances Notion audio blocks, a site uptime widget, an announcement block powered by a Notion page, and standard utilities like dark mode toggle, search, share, and back-to-top.

themes/xuhome/components · high confidence

Introduction of the Gitbook theme with configurable layout and navigation

The Gitbook theme is now available, providing a structured layout with a left sidebar for navigation and a main content area. Users can configure the theme via \config.js\, enabling features such as automatic article sorting, a red badge for latest posts, exclusive collapse for navigation folders, and hover-to-expand for folders. The theme also supports widgets like a 'Back to Top' button and Revolver Maps, integrates Algolia search, and includes styling for dark mode and custom console palettes.

themes/gitbook · high confidence

New 'Movie' theme with video aggregation and dark mode support

A new 'Movie' theme has been introduced, providing a distinct visual identity with dark mode support and a configurable layout. Key features include automatic video aggregation, which combines multiple videos within a single article into a single carousel player with episode switching, and customizable UI options via a new configuration file (e.g., toggling category/tag menus, home background images, and article cover displays). The theme also integrates Algolia search, a sticky jump-to-top button, and specific styling for video assets.

themes/movie · high confidence

New AI chat endpoints for documentation and general site assistance

Added two new serverless functions to handle AI-powered chat interactions: \functions/api/docs-chat.ts\ provides a documentation-specific assistant using Google's Gemini model with streaming support and strict scope constraints, while \functions/api/ai-chat.ts\ offers a general-purpose OpenAI-compatible proxy for broader site assistance using DeepSeek. Both endpoints include CORS configuration, request size limits, and message history management to improve reliability and security for users interacting with the AI assistants.

functions · high confidence

New API endpoints for cache management, revalidation, and integrations

This change introduces several new API endpoints in the pages/api directory. It adds a cache cleaning endpoint (cache.js) that requires a bearer token for authorization. An on-demand revalidation endpoint (revalidate.js) is added to allow clearing the local file cache and revalidating specific or all pages, also protected by a bearer token. A new Notion comments API (notion-comments.js) enables fetching and posting comments to a Notion database, including rate limiting and approval workflows. Additionally, an RSS feed API (rss.js) is introduced with in-memory caching, supporting RSS, Atom, and JSON formats. A Mailchimp subscription endpoint (subscribe.js) is added to handle email subscriptions, and a basic user authentication endpoint (user.ts) is included using Clerk.

pages/api · high confidence

New Landing theme with configurable marketing sections and post redirection

The new Landing theme introduces a dedicated layout for marketing and SaaS-style landing pages, featuring configurable hero sections, feature blocks, testimonials, pricing tiers, and newsletter subscriptions via a central \config.js\. It supports optional post URL redirection to external domains (controlled by \LANDING\_POST\_REDIRECT\_ENABLE\) and includes a custom 404 handling mechanism with a configurable wait time. The theme also integrates with the theme console for palette customization and provides specific layouts for search, archive, and tag pages that reuse the hero section.

themes/landing · high confidence

New NotionNext Content MCP tool for AI-assisted content management

A new Model Context Protocol (MCP) server has been added to the tools directory to enable AI-assisted management of NotionNext content. This tool exposes capabilities such as checking publishing status, building draft payloads, creating and updating Notion pages, querying data sources, and refreshing the site cache. It enforces a strict 'no ext' contract, preventing legacy external field writes by requiring structured metadata in first-class Notion properties and using page blocks for long-form content. The implementation includes a smoke test to verify tool availability, schema resources, and the enforcement of these writing constraints.

tools · high confidence

New Typography theme with dark mode and configuration options

The 'Typography' theme is now available, introducing a distinct visual style with a light mode featuring a subtle grid background and a dark mode with a matching grid overlay. The theme supports bilingual blog titles (Chinese and English) and includes configuration options to toggle post covers, article recommendations, and menu items (categories, tags, archives). It also integrates Google AdSense and WWAds for monetization, and utilizes a SmartLink component for navigation.

themes/typography · high confidence

New accessibility, AI summary, and analytics components

The components area introduces several new capabilities: an Accessibility component that adds keyboard navigation, skip links, and user-controlled high-contrast, font-size, and reduced-motion settings; an AISummary component that renders AI-generated post summaries with a typing animation; a CanvasEmail component that obfuscates email addresses via canvas rendering and allows click-to-copy; and new analytics integrations for Ackee and Busuanzi. It also adds an ArticleExpirationNotice component to warn readers when posts are older than a configured threshold, and a CursorDot component for a custom mouse-following cursor effect.

components · high confidence

New archive page with date-grouped post listing

A new archive page has been added at pages/archive/index.js that displays published posts grouped by year and month. The page fetches post data via getStaticProps, filters for 'Post' type entries, and sorts them by publish date. Users can click on a post's date to smoothly scroll to the corresponding month section. The layout is handled by a dynamic theme system, allowing for customizable appearance.

pages/archive · high confidence

New catch-all sign-in and sign-up pages with dynamic theming

The site now includes dedicated catch-all routes for sign-in and sign-up, enabling support for multi-factor authentication flows (e.g., /sign-in/factor-one) and flexible sub-paths via Next.js blocking fallback. Both pages dynamically render their content using the configured theme and the new DynamicLayout component, ensuring consistent styling and behavior across authentication states.

pages/sign-in · high confidence

New category index page with dynamic theming

A new category index page has been added at pages/category/index.js. It renders the category layout using the DynamicLayout component, allowing the appearance to adapt based on the current theme configuration. Data for the page is fetched via fetchGlobalAllData, excluding allPages from the props, and static generation is configured with revalidation based on the NEXT\_REVALIDATE\_SECOND setting (or undefined during static export).

pages/category · high confidence

New client-side search page added

A new search page has been introduced at pages/search/index.js, enabling users to search blog posts directly in the browser. The page fetches all published posts at build time and filters them client-side based on the title, summary, tags, and categories matching the query parameter 's'. It renders the results using the existing DynamicLayout component with the 'LayoutSearch' layout, supporting localization and configurable revalidation intervals.

pages/search · high confidence

New contribution tracking and cache refresh API

Added a new contribution event tracking system backed by Supabase, including a server-side store (\lib/server/claude/contributionStore.js\) that manages local caching of daily contribution events and a new API endpoint (\pages/api/claude/contribution-refresh.js\) to invalidate this cache and trigger revalidation of specific pages. The API requires a secure token for authentication and supports revalidating the home page, archive, category, and tag views, ensuring that user contributions are reflected promptly without requiring a full site rebuild.

lib/server, pages/api/claude · high confidence

New dashboard UI components for user account management

Added a suite of new React components in components/ui/dashboard to render the user dashboard interface. This includes a main layout (DashboardBody) with a sidebar menu (DashboardMenuList) and a header (DashboardHeader) displaying user info and a sign-out button. The dashboard features distinct sections for Home (overview), User Profile (integrating Clerk's UserProfile), Balance (points top-up), Membership (subscription plans), Orders (item list with pagination), and Affiliate (referral stats and withdrawal). A DashboardButton is also provided to navigate to the dashboard from other pages.

components/ui · high confidence

New dashboard page with nested routing support

A new dashboard page has been added at pages/dashboard/\[\[...index\]\].js, enabling access to multiple sub-sections including membership, balance, user-profile (with nested security), order, and affiliate. The page uses dynamic layout rendering via DynamicLayout and supports static generation with revalidation based on site configuration.

pages/dashboard · high confidence

New dedicated tag index page

A new dedicated page at pages/tag/index.js has been added to serve as the main tag index. It utilizes the DynamicLayout component with the 'LayoutTagIndex' layout and fetches global data via fetchGlobalAllData, supporting locale-based content and configurable revalidation.

pages/tag · high confidence

New developer tooling and automation scripts

The repository now includes a suite of new scripts in the \scripts/\ directory to support development, maintenance, and documentation workflows. These include \audit-theme-performance.js\ for running Lighthouse audits on themes, \bump-package-patch-version.js\ for automated versioning, \check-page-data-budget.js\ for monitoring Next.js page-data sizes, and \compress-theme-previews.js\ for optimizing preview images. Documentation workflows are supported by \generate-theme-user-docs.mjs\, \import-legacy-docs.mjs\, \migrate-legacy-docs.mjs\, and \localize-legacy-images.mjs\. Additionally, \dev-tools.js\, \final-validation.js\, \health-check.js\, and \perf-baseline.js\ provide environment setup, validation, and performance tracking capabilities.

scripts · high confidence

New hooks for window size tracking and callout image layout adjustment

Added two new React hooks to improve layout stability and responsiveness. The new \useWindowSize\ hook provides reactive window dimensions, while \useAdjustStyle\ automatically constrains images within callout blocks that would otherwise overflow their container, preventing layout shifts and visual clipping during window resizing.

hooks · high confidence

New landing page theme components

The landing theme now includes a complete set of new React components (Features, FeaturesBlocks, Footer, Header, Hero, Logo, MobileMenu, ModalVideo, Newsletter, Pricing, Testimonials) that render the landing page UI. These components are fully configurable via siteConfig keys (e.g., LANDING\_HERO\_TITLE\_1, LANDING\_FEATURES\_CARD\_1\_TITLE, LANDING\_PRICING\_1\_PRICE) and support dark mode. The Footer and Newsletter components integrate with Mailchimp for email subscriptions, and the Hero/ModalVideo components support video playback via an iframe. All links use SmartLink for consistent navigation behavior.

themes/landing/components · high confidence

New language packs added for English, French, Japanese, Turkish, and Chinese variants

The localization system in lib/lang now includes new translation files for English (en-US), French (fr-FR), Japanese (ja-JP), Turkish (tr-TR), Simplified Chinese (zh-CN), Traditional Chinese Hong Kong (zh-HK), and Traditional Chinese Taiwan (zh-TW). These files provide the UI strings required for navigation, common interface elements, search, pagination, article details, copyright notices, and specific features like AI summaries and MailChimp subscriptions, enabling the application to display in these languages.

lib/lang · high confidence

New multi-store cache system with build session isolation and file locking

The lib/cache module has been replaced with a new architecture that supports a chain of cache stores (local file, memory, Redis, and Vercel runtime) and introduces robust build-time safety. A new build session mechanism (\build\_session.js\) manages cache roots, automatically falling back to \os.tmpdir()\ on read-only environments like Netlify to prevent write errors. To prevent cache stampedes and race conditions during builds, the system now uses \file\_lock.js\ with atomic file operations, heartbeats, and stale-lock cleanup. Cache keys are hashed (\cache\_key\_path.js\) to avoid ENAMETOOLONG errors on long identifiers. The \cache\_manager.js\ orchestrates these stores, enabling features like \getOrSetDataWithCache\ with concurrent request deduplication and configurable TTLs.

lib/cache · high confidence

New plugin library for AI summaries, Algolia search, and content utilities

The lib/plugins directory now includes a suite of new modules: aiSummary.js provides native AI-generated post summaries with memory caching; algolia.js implements global client initialization, full-text indexing, and data deletion for Algolia search; notionComments.js adds a plugin for managing comments via a Notion database; wordCount.js calculates word counts and reading time; mailEncrypt.js handles base64 email obfuscation; gtag.js and busuanzi.js manage Google Analytics and Busuanzi traffic statistics; mailchimp.js supports newsletter subscriptions; mhchem.js enables chemical formula rendering in KaTeX; and wow.js loads external animation libraries.

lib/plugins · high confidence

New utility modules for article metadata, localization, and content integrity

The lib/utils directory has been expanded with new modules that enhance content processing and site configuration. Article metadata handling now includes per-post copy permissions (lib/utils/copyPermission.js) and configurable copyright text resolution (lib/utils/articleCopyright.js). Localization support has been added via a new language utility (lib/utils/lang.js) that enables automatic user-language redirection and locale dictionary generation. Content integrity is strengthened with new originality proof utilities (lib/utils/originalityProof.js, lib/utils/originalityProofManifest.js) that generate and manage SHA-256 hashes for articles, alongside a new password utility (lib/utils/password.js) that standardizes on SHA-256 digests while maintaining backward compatibility with legacy MD5 hashes. Additional utilities introduced include global pinned-post sorting (lib/utils/pinnedPosts.js), improved URL path validation (lib/utils/index.js), and robust error handling with React error boundaries (lib/utils/errorHandler.js).

lib/utils · high confidence

Simple theme components rewritten with new navigation, social, and layout features

The Simple theme's UI components have been completely rewritten to introduce new layout and interaction capabilities. The navigation system now supports collapsible menus on mobile and dropdown menus on desktop, with configurable search, archive, category, and tag links. A new SocialButton component aggregates contact links for platforms including GitHub, Twitter, Telegram, LinkedIn, ORCID, CSDN, Juejin, Weibo, Instagram, Bilibili, YouTube, Threads, and email (with encryption support), alongside a toggleable RSS link. The header now displays site traffic stats (Busuanzi) and a configurable logo description, while the footer includes configurable ICP filing links and public security filing badges. Article display features include a new Catalog (table of contents) with auto-scrolling, an ArticleLock component for password-protected posts with auto-focus and Enter-key submission, and an ArticleAround component for previous/next post navigation. The blog list supports infinite scroll loading, and the sidebar integrates Live2D, announcements, and ad slots (Google Adsense, WWAds).

themes/simple/components · high confidence

Starter theme homepage gains configurable modular sections

The Starter theme now includes a suite of new, configurable components for the homepage, allowing users to customize their site layout. New sections include About, Blog, Brand (partners), CTA, Contact, FAQ, and Features, all of which pull content from the theme configuration. The Header has been updated to support Clerk authentication (sign-in/sign-up buttons) and a dark mode toggle, while the Footer now displays a configurable number of latest blog posts. Additionally, a new ArticleLock component enables password-protected content, and a BackToTopButton improves navigation.

themes/starter/components · high confidence

Starter theme introduces modular landing page with lite mode and encrypted article support

The Starter theme now provides a comprehensive landing page layout with individually toggleable sections (Hero, Features, About, Pricing, Testimonials, FAQ, Team, Blog, Contact, CTA) and a new 'lite' mode that hides the header and footer for easy embedding. It also adds support for encrypted articles via an ArticleLock component and integrates Clerk for sign-in/sign-up flows.

themes/starter · high confidence

Support for custom article URL prefixes via dynamic slug routing

The site now allows articles to be accessed via custom URL prefixes (slugs) rather than being restricted to a fixed path structure. This is implemented through a new dynamic route at pages/\[prefix\]/index.js, which resolves posts by their slug and renders them using the DynamicLayout component. The entry also includes logic for handling password-protected articles, supporting both legacy MD5 and new SHA256 password hashing, and automatically unlocking content if a stored password matches. Additionally, it integrates a TechGrow plugin for traffic redirection and ensures proper static generation paths for these custom slugs.

pages/\[prefix\] · high confidence

Support for multi-level article URLs with arbitrary prefixes

Added new page routes to handle Notion posts with two or more path segments (e.g., /article/2023/10/29/test) by introducing dynamic \[prefix\]/\[slug\] handlers. These routes parse the URL into prefix, slug, and optional suffix segments, allowing articles to be accessed under any custom prefix rather than being restricted to a single fixed path. The implementation includes static path generation for these multi-segment slugs and configures incremental static regeneration (ISR) based on the NEXT\_REVALIDATE\_SECOND setting, ensuring that complex URL structures are correctly resolved and cached.

pages/\[prefix\]/\[slug\] · high confidence

VitePress documentation site theme with sidebar unread indicators and AI assistant

The documentation site now uses a custom VitePress theme that adds visual indicators for recently updated or unread documentation pages in the sidebar, tracks user reading progress via local storage, and integrates an AI assistant widget on the homepage along with Giscus comments on documentation pages. The theme also includes CSS styling for sidebar icons, home page motion effects, and fixes for CJK search tokenization to prevent serialization issues.

.vitepress/theme · high confidence

Architecture

Repository reorganization and governance overhaul

The project has been reorganized to support a community-driven governance model under the new \notionnext-org\ GitHub organization. This includes adding comprehensive documentation for contributors (\CONTRIBUTING.md\, \GOVERNANCE.md\, \CODE\_OF\_CONDUCT.md\), establishing a security policy (\SECURITY.md\), and updating the development environment to use Node.js 22 and Yarn. The repository now features a stricter ESLint configuration with TypeScript support, a new Prettier setup, and a standardized Dockerfile for production builds.

(repo-wide) · high confidence

Behavioural changes

Add utilities for conditional comment rendering and per-page sidebar visibility

The theme now includes two new utility functions to improve content layout control. The \isCommentServiceConfigured\ function checks if any comment service (such as Waline, Giscus, or Twikoo) is actually configured in the site settings, preventing the display of empty comment sections when no provider is active. Additionally, the \shouldHideFuwariSidebar\ function enables hiding the sidebar on a per-page basis, respecting page-level properties like \fullWidth\, \HIDE\_SIDEBAR\, or \SIDEBAR\ flags (including variations in casing and external JSON configurations), allowing for wider, sidebar-free layouts on specific pages without affecting the global default behavior.

themes/fuwari/utils · high confidence

Build prefetching is disabled by default with configurable concurrency and rate limits

The build system now disables block prefetching during the export phase by default to prevent unnecessary API usage and improve stability in slow environments. This change introduces new environment variables to control build behavior: BUILD\_PREFETCH\_ENABLED (default false), BUILD\_PREFETCH\_CONCURRENCY (default 8), NOTION\_BUILD\_RATE\_MAX\_PER\_MINUTE (default 50), NOTION\_BUILD\_RATE\_MIN\_INTERVAL\_MS (default 300ms), and STATIC\_PAGE\_GENERATION\_TIMEOUT (default 300s). These settings allow users to tune the prefetching process, rate-limiting for the Notion API, and SSG timeouts if they choose to enable prefetching or adjust performance characteristics.

lib/build · high confidence

Claude theme introduces configurable layout, styling, and sidebar behavior

The Claude theme now uses a dedicated configuration file to control visual settings (colors, fonts, TOC behavior) and layout features (sidebar, ads, profile card). The layout enforces a fixed-height, three-column structure (sidebar, content, TOC) that persists even when AdSense slots are present, preventing the sidebar from collapsing. Users can enable or disable specific UI elements like the table of contents, article recommendations, and cover images via environment variables.

themes/claude · high confidence

Configuration files are reorganized into a modular structure

The monolithic configuration has been split into distinct, topic-specific modules (ad, ai, analytics, animation, code, comment, contact, dev, font, image, layout-map, notion, performance, plugin, post, right-click-menu, techgrow, themeColorPalette, themeSwitch.manifest, top-tag, and widget). This refactoring groups related settings—such as AI integrations, comment providers, and theme palettes—into their own files, simplifying maintenance and allowing users to configure specific features without navigating a single large configuration block.

conf · high confidence

Dynamic theme loading and layout resolution system

The application now uses a new \themes/theme.js\ module to dynamically load theme configurations and layouts at runtime, supporting multiple themes via URL query parameters and providing fallback mechanisms when specific layouts or configurations are missing. This change introduces a caching system for layouts, handles loading states with skeleton UIs, and ensures that theme switching respects user preferences while gracefully degrading to a default or example theme if the requested one is unavailable.

themes · high confidence

Example theme UI overhaul with new components and layout options

The Example theme has been significantly restructured with a new set of components that enhance the user interface and layout flexibility. Users can now enable a scroll-based infinite loading mode for blog lists (BlogListScroll) or use traditional pagination (BlogListPage), and optionally display post cover images. The sidebar now features a dynamic table of contents (Catalog) that highlights the active section as the user scrolls, and an announcement module (Announcement) that renders Notion content. Navigation has been improved with a dropdown menu system (MenuList, MenuItemDrop) supporting sub-menus. Additional UI elements include a dedicated search input (SearchInput), a password-based post lock (PostLock), and a footer that supports public security filing configurations. The theme also introduces configurable article layouts (vertical vs. horizontal) and hidden notifications for specific pages.

themes/example/components · high confidence

Example theme now supports configurable layout and appearance settings

The Example theme has been refactored to support user-configurable options via a new \config.js\ file. Users can now customize the article page layout to switch between side-by-side and vertical stacking using \EXAMPLE\_ARTICLE\_LAYOUT\_VERTICAL\, control the visibility of the header background image with \EXAMPLE\_TITLE\_IMAGE\, and hide the announcement bar on article pages via \EXAMPLE\_ARTICLE\_HIDDEN\_NOTIFICATION\. The theme also exposes configuration for menu items (categories, tags, archives, search) and list cover images, allowing for tailored navigation and display preferences.

themes/example · high confidence

HEO theme components restructured and enhanced

The HEO theme components have been significantly reorganized and expanded. New components include AnalyticsCard for displaying site statistics, Announcement for rendering Notion-based notices, and various blog post list variants (Archive, Card, ListPage, ListScroll) with improved pagination and cover handling. The InfoCard now supports configurable social links including ORCID, CSDN, and Juejin, along with a configurable avatar blur effect. The Hero section features a new BannerGroup with configurable titles and category buttons. Dark mode toggles are now available as both a fixed header button and a floating widget. A new Catalog component provides a scrollable table of contents, and the Footer now includes support for Chinese ICP filing information and bio display.

themes/fukasawa/components, themes/heo/components · high confidence

Hexo theme components restructured and enhanced with new UI features

The Hexo theme components have been significantly reorganized and expanded. New components include AnalyticsCard for displaying post counts and site traffic, ArticleLock for password-protected posts with auto-focus and enter-key submission, ArticleCopyright for customizable copyright notices, and ArticleRecommend for displaying related posts with full-image scrim overlays. The blog post listing now supports both paginated (BlogPostListPage) and infinite-scroll (BlogPostListScroll) modes, with configurable cover images, hover effects, and preview options. Additional UI enhancements include a configurable dark mode toggle, jump-to-comment and jump-to-top buttons, a random post button, a collapsible catalog with scroll-spy navigation, and a Hero section with typed.js greeting animations. The Header now features a sticky navigation that hides on scroll, while the Footer includes copyright dates, author info, and ICP filing displays.

themes/hexo/components · high confidence

Hexo theme now supports full customization of colors and layout options

The Hexo theme has been restructured to allow extensive visual and functional customization through a new configuration file (themes/hexo/config.js). Users can now define primary and background colors for both light and dark modes, toggle UI elements like the home banner, navigation buttons, and 'start reading' button, and control article display features such as cover images, summaries, and copyright notices. The theme's styling engine dynamically applies these settings via CSS variables, ensuring consistent theming across components like the header, post cards, and navigation menus.

themes/hexo · high confidence

Introduce AI task pipeline workflow and reduce default web font loading

This update establishes a structured AI development workflow within the \\_project-ai\ directory, replacing previous collaboration models with a linear pipeline (ready, running, review, done) defined by new task and review templates. Concurrently, it improves default page load performance by removing heavy Chinese web fonts (Noto Sans/ Serif SC) from the default configuration; sites will now use system fonts by default unless a custom font URL is explicitly provided via environment variables or Notion configuration.

_\project-ai · high confidence

Introduce centralized SiteDataApi for Notion data fetching and caching

The lib/db module now includes a new SiteDataApi.js file that centralizes the logic for fetching global site data from Notion. This change introduces a structured data layer with built-in caching (using getOrSetDataWithCache) to prevent cache stampedes and improve build performance. It handles multi-site and multi-language support by parsing page IDs and locales, normalizes Notion block maps and collection data to handle format changes, and exposes specific exports for tags, posts, and post blocks. This refactoring stabilizes data retrieval, fixes issues with embedded Notion collection views, and ensures consistent data shapes for the client-side application.

lib/db · high confidence

Introduce structured site data fetching and processing pipeline

This change introduces a new, structured pipeline for fetching and processing site data, replacing the previous ad-hoc approach. It adds a \SiteAPI\ interface and \site.service.ts\ to orchestrate fetching from Notion via a new adapter layer (\notion.adapter.ts\, \notion.fetcher.ts\, \notion.normalizer.ts\) and handling empty/error states with \empty.processor.ts\. Data is then processed by \page.processor.ts\ (cleaning IDs, pages, and removing internal fields) and \schedule.processor.ts\ (applying publish schedules). New types in \site.types.ts\ define the structure of \SiteData\, \Page\, \NavPage\, etc., and utility functions in \typedCollections.js\ provide typed filtering and sorting of pages. This refactoring aims to improve code organization, type safety, and maintainability of the site data retrieval logic.

lib/site · high confidence

Matery theme components refactored for Next.js and enhanced configurability

The Matery theme components have been rewritten to align with Next.js 13 syntax, introducing new or significantly updated components such as AnalyticsCard, Announcement (now supporting Notion page titles), ArticleCopyright (with configurable modes and NotByAI support), and ArticleLock (with auto-focus and enter-key submission). The theme now features a configurable reading-oriented homepage via the Hero component, improved mobile post headers and tags, and a sticky header with transparent navigation states. Additional UI enhancements include a configurable table of contents with scroll-spy, lazy-loaded images for performance, and customizable widgets for dark mode, jumping to top/comment, and social buttons.

themes/matery/components · high confidence

Matery theme configuration and layout restructuring

The Matery theme now uses a dedicated \config.js\ file to manage its settings, introducing new options such as \MATERY\_HOME\_READING\_LAYOUT\ for a reading-oriented homepage, \MATERY\_SHOW\_STARTING\_READING\ for a start-reading button, and \MATERY\_ARTICLE\_COPYRIGHT\ for customizable copyright modes. The layout logic in \index.js\ has been refactored to support these configurations, including conditional rendering of the hero banner and reading layout, while \style.js\ adds custom scrollbar styling and integrates with the theme console palette controls.

themes/matery · high confidence

Medium theme components restructured with new navigation and article features

The Medium theme's component library has been reorganized and expanded to support enhanced navigation, article presentation, and user interaction. New components include a collapsible mobile menu (MenuBarMobile, MenuItemCollapse), a dropdown menu for desktop (MenuItemDrop), and a sticky bottom action bar (BottomMenuBar) with table of contents toggling. Article display is improved with a new 'ArticleLock' component for password-protected posts, 'ArticleAround' for previous/next navigation, and 'BlogPostListScroll' for infinite-scroll pagination. The theme now supports social contact buttons for platforms like ORCID, CSDN, Juejin, and Bilibili via the SocialButton component, and includes a 'Progress' bar for reading depth visualization.

themes/medium/components · high confidence

Medium theme refactored with centralized configuration and layout improvements

The Medium theme has been restructured to support a centralized configuration file (config.js) that exposes settings for UI elements like the right panel dark mode, post list previews, and widgets. The main layout (index.js) now utilizes a global context for theme state, implements a transition effect for content loading, and supports a full-width layout option. Additionally, the theme includes a dedicated style component (style.js) for global CSS and integrates a theme console palette control.

themes/medium · high confidence

Movie theme component suite overhaul

The movie theme's UI layer has been rebuilt with a comprehensive set of new components, replacing the previous implementation. This includes a new Header with integrated search and collapsible navigation, a BlogListPage supporting both paginated and infinite-scroll modes, and a redesigned BlogPostCard featuring cover images and tags. Navigation and organization are handled by new CategoryGroup, TagGroups, and ArchiveDateList components. The layout is supported by a new SideBar (featuring announcements and recent comments), Footer, and utility components like SearchInput and PaginationNumber. All internal links now use the SmartLink component, and the theme supports dynamic post title icons and configurable post list covers.

themes/movie/components · high confidence

New Claude theme styles and global UI enhancements

This change introduces the complete CSS styling for the new 'Claude' theme. It adds a dedicated readme style, a global stylesheet featuring a sticky navigation bar with a glassmorphism effect, custom mask icons for CSDN and Juejin, and a fireworks click effect. It also includes specific styling for Notion content (including dark mode support for text and backgrounds), a Prism.js code highlighting theme with dark mode overrides, and a set of Tailwind-based utility patterns for typography and buttons.

styles · high confidence

Next theme components refactored and expanded

The Next theme's component structure has been significantly reorganized and expanded. New components have been introduced to support specific features: ArticleLock for password-protected posts, ArticleCopyright for customizable copyright notices (including a 'NotByAI' toggle), Announcement for displaying Notion-based announcements, and Live2DWaifu for the animated mascot widget. Navigation and layout have been enhanced with MenuItemCollapse and MenuItemDrop for improved menu handling, BlogListScroll for infinite-scroll post lists, and JumpToTop/Bottom buttons for easier navigation. Additionally, the theme now supports recent comments via Waline (NextRecentComments), a floating dark mode toggle (FloatDarkModeButton), and a contact button, while existing components like Footer and InfoCard have been updated to reflect these structural changes.

themes/next/components · high confidence

Next theme restructured with configurable layout and styling

The Next theme has been refactored to use a dedicated configuration file (config.js) and a global style component (style.js), allowing users to customize layout options such as navigation type (fixed, auto-collapse, normal), sidebar visibility, and color schemes via site configuration. The main layout component (index.js) now implements a three-column structure with dynamic loading for the Algolia search modal, supports article copyright and 'Not By AI' badges, and includes UI enhancements like menu underline animations and scroll-based progress tracking.

themes/next · high confidence

Nobelium theme introduces new components and UI behaviors

The Nobelium theme now includes a set of new components that enhance the user interface and functionality. Users can now see announcements on the site, with the Announcement component rendering Notion pages. The navigation bar has been updated with a sticky behavior that collapses when scrolling, and includes a dark mode toggle and a random post button. The blog list page now supports infinite scrolling with the BlogListScroll component, which automatically loads more posts as the user scrolls. Additionally, the theme now features a catalog component that highlights the current section as the user scrolls through a post. The search functionality has been improved with a new SearchInput component that supports keyboard shortcuts and a clean search button. The footer now includes a copyright notice with the current year and a link to Vercel. The theme also includes a new ArticleLock component for password-protected posts, which automatically focuses the password input field and supports submitting the password by pressing Enter.

themes/nobelium/components · high confidence

Plog theme introduces new layout, navigation, and interaction components

The Plog theme now includes a comprehensive set of new UI components that change how the site is structured and interacted with. Users will see a new card-based blog list (BlogPost) with a modal image viewer (Modal) and lazy loading. Navigation is handled by new desktop (BottomNav) and mobile (Nav) menus with collapsible and dropdown support. Additional features include a sticky search bar (SearchInput), a slide-over 'About' panel (SlideOvers), and support for encrypted articles (ArticleLock) and recent comments (ExampleRecentComments).

themes/plog/components · high confidence

Self-hosted Font Awesome 6.4.2 assets added

The application now includes a local copy of the Font Awesome 6.4.2 CSS stylesheet in the public vendor directory. This change allows menu icons and other UI elements relying on Font Awesome to render correctly without depending on an external CDN, improving reliability and load performance by serving the assets directly from the application's public folder.

public/vendor · high confidence

Simple theme now supports configuration via environment variables and includes built-in styling

The Simple theme has been refactored to use a dedicated configuration file (themes/simple/config.js) that reads settings from environment variables, allowing users to customize the top bar, logo, colors, ad placement, article recommendations, and menu items without modifying code. The theme now includes its own style sheet (themes/simple/style.js) defining global CSS rules for dark mode, text selection prevention, and menu animations, and the main layout (themes/simple/index.js) dynamically loads components and integrates these configurations.

themes/simple · high confidence

Standardized error pages and dynamic layout integration

The application now includes dedicated pages for 404 and 500 errors, replacing previous implicit handling with explicit user-facing messages. The 404 page dynamically renders using the configured theme's layout, while the 500 page displays a generic server error message. The core application entry point (\_app.js) has been restructured to wrap all content in a custom Error Boundary to prevent full-page crashes, integrates Clerk authentication when configured, and manages theme resolution logic. Additionally, the document structure (\_document.js) now handles critical path optimizations for Font Awesome and implements a script to set dark mode classes immediately, reducing visual flicker.

pages · high confidence

The components in the typography theme have been replaced with new implementations that use the SmartLink component for all navigation. This update introduces a table of contents navigation (Catalog) with scroll-spying, a password-protected article view (ArticleLock), and social contact buttons supporting ORCID, CSDN, and Juejin. The blog list now supports infinite scroll (BlogListScroll) and in-article ads, while the navigation menu now includes collapsible sub-menus (MenuItemCollapse) and a 'Jump to Top' button.

themes/typography/components · high confidence

Updated Font Awesome icon library to version 6.3.0

The \public/css/all.min.css\ file has been updated to include the minified styles for Font Awesome Free 6.3.0. This change refreshes the icon set and associated CSS classes used throughout the application, ensuring that icons render correctly with the latest library definitions and animations.

public/css · high confidence

VitePress documentation site configuration and Chinese search support

The VitePress documentation site is now configured via a centralized \.vitepress/config.mts\ file, establishing the navigation structure, sidebar organization, and branding assets for the user guide and developer docs. Additionally, a custom CJK tokenizer (\search-tokenize.ts\) is introduced to enable proper Chinese character segmentation in search, fixing the issue where Chinese queries previously failed to match content.

.vitepress · high confidence

XuHome theme now supports live color customization

The XuHome theme's visual appearance is no longer static; users can now dynamically adjust primary, accent, and background colors via the theme console. The theme's JavaScript and CSS files have been updated to map hardcoded Tailwind color utilities (such as specific hex codes for borders, text, and shadows) to live CSS variables driven by the theme configuration, ensuring that color changes apply consistently across both light and dark modes.

themes/xuhome · high confidence

notion-utils patch handles null UUIDs

A patch for notion-utils 7.10.0 modifies the uuidToId function to safely handle null or undefined UUID inputs by using optional chaining and a fallback to an empty string, preventing potential runtime errors when processing missing identifiers.

patches · high confidence

Fixes

A new utility function \galleryVisibilityClassName\ has been added to \lib/notion\ to generate specific CSS class names for Notion gallery views. This function analyzes the collection view's format settings—specifically \show\_page\_icon\ and \gallery\_title\_visible\—to conditionally return classes like \notion-gallery-hide-page-icons\ or \notion-gallery-hide-titles\, allowing the UI to respect user visibility preferences for gallery elements.

lib/notion · high confidence

Notion integration rewritten with rate limiting, CDN support, and modern block handling

The Notion data layer has been rebuilt to improve stability and compatibility. A new rate limiter and API client enforce request throttling and concurrency limits during builds to prevent API bans, while a new file CDN converter normalizes \file.notion.com\ URLs for reliable image and asset loading. Collection view filtering and sorting are now handled locally to respect view-level settings, and page resolution logic has been updated to support modern Notion config databases and inner-page URL formats. The system also adds support for newer block types (HTML, tabs, callouts) and fixes table of contents parsing for updated heading structures.

lib/db/notion · high confidence

Test coverage

Added test coverage for Notion URL conversion, media normalization, and configuration parsing; Added test coverage for configuration, Notion data, PWA, sitemap, and build utilities; Added tests for Fuwari search input and sidebar visibility logic; Added tests for Heo theme InfoCard and PostHeader components; Added tests for Notion comments plugin helpers; Added tests for XuHome NotionAudioEnhancer component; Added tests for XuHome theme palette configuration; Added tests for announcement title rendering across themes; Added tests for article copyright, copy permissions, RSS generation, originality proof, pinned post sorting, and URL validation utilities; Added tests for cache key hashing and file locking behavior; Added tests for custom menu link resolution logic; Added tests for endspace menu helper functions; Added tests for magazine theme recommend tag logic; Added tests for proxio theme Blog and MenuList components; Added tests for starter theme Features component; Added tests for the Matery theme's reading-oriented homepage; Added tests for the Notion i18n translation script; Added tests for typed collection helpers; Added unit tests for core UI and Notion components.

Dependencies

Bundled AOS, Lenis, and visual effects libraries into public JavaScript

The project now includes local copies of the AOS (Animate On Scroll), Lenis (smooth scrolling), and several visual effect scripts (fireworks, fluttering ribbons, mouse-follow particles, sakura rain, and nest) directly in the \public/js\ directory. This change removes external CDN dependencies for these libraries, ensuring that scroll animations, smooth scrolling behavior, and decorative canvas effects load reliably without network issues, while also reducing the core project's compiled file size by centralizing these assets.

public/js · high confidence

Update project dependencies and enforce Node.js 22 runtime

The project's dependency manifest has been updated to version 4.10.10, introducing several key library upgrades including Next.js 15.5.25, Axios 1.20.0, Supabase JS 2.116.0, and Vercel Functions 3.9.8, alongside the addition of AI SDK packages for Google and Vue. The runtime environment is now strictly enforced to Node.js versions 22 through 24 via the engines field, and the lockfile has been regenerated to reflect these changes and security resolutions.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 38 → 36 (-1.8)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 28 → 28 (+0.0)
  • Architecture 60 → 60 (-0.3)
  • Maturity 84 → 84 (+0.0)
  • Readiness 44 → 33 (-10.7)
  • Security 68 → 71 (+2.9)
  • Accessibility 36 → 36 (+0.0)
  • Performance 60 (new)

Resolved (19)

  • Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
  • Documentation: no architecture or design documentation (docs/user-guide/config-site.md)
  • Documentation: no installation or build instructions (docs/user-guide/start-here.md)
  • Hotspot: components/LazyImage.js (components/LazyImage.js)
  • Hotspot: components/NotionComments.js (components/NotionComments.js)
  • Hotspot: components/NotionEmbed.js (components/NotionEmbed.js)
  • Hotspot: components/NotionTabs.js (components/NotionTabs.js)
  • Hotspot: conf/themeSwitch.manifest.js (conf/themeSwitch.manifest.js)
  • Hotspot: lib/plugins/notionComments.js (lib/plugins/notionComments.js)
  • Hotspot: lib/pwa.js (lib/pwa.js)
  • Hotspot: pages/api/notion-comments.js (pages/api/notion-comments.js)
  • Hotspot: themes/endspace/components/FloatingControls.js (themes/endspace/components/FloatingControls.js)
  • Hotspot: themes/endspace/components/menu.js (themes/endspace/components/menu.js)
  • Hotspot: themes/fuwari/index.js (themes/fuwari/index.js)
  • Hotspot: themes/hexo/index.js (themes/hexo/index.js)
  • Hotspot: themes/xuhome/components/NavBar.js (themes/xuhome/components/NavBar.js)
  • Repeated repair: components/NotionCollection.js (components/NotionCollection.js)
  • SectionTitle (cognitive 39) (themes/opc/index.js)
  • SectionTitle (cyclomatic 47) (themes/opc/index.js)

New (46)

  • Documentation: no architecture or design documentation (docs/index.md)
  • Documentation: no project overview (docs/community/SHOWCASE_DISCUSSION_POST.zh-CN.md)
  • Documentation: no project overview (docs/developer/GROWTH_ROADMAP.zh-CN.md)
  • Documentation: no project overview (docs/index.md)
  • FileTooLong: opc/index.js (themes/opc/index.js)
  • FunctionTooLong: index.Style (themes/opc/index.js)
  • High CVE: [GHSA redacted] (yarn.lock)
  • Medium CVE: [GHSA redacted] (yarn.lock)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Outdated (npm): @clerk/localizations
  • Outdated (npm): @clerk/nextjs
  • Outdated (npm): @headlessui/react
  • Outdated (npm): @next/bundle-analyzer
  • Outdated (npm): @notionhq/client
  • Outdated (npm): @supabase/supabase-js
  • …and 26 more

Changes since last survey

  • 9 commits — 7 feature/other, 2 fixes

By area

  • (repo) — 3 commits
  • (root) — 2 commits
  • themes/opc — 2 commits
  • tests/lib — 1 commit
  • themes/magzine — 1 commit

Notable commits

  • fix: fix(magzine): tighten cover spacing and keep CTA links readable
  • fix: fix: wait for hero typing script before initialization (#4527)
  • change: Merge branch 'main' into dependabot/npm_and_yarn/vercel/functions-3.9.8
  • change: Merge pull request #4521 from notionnext-org/dependabot/npm_and_yarn/dev-dependencies-e60d26c083
  • change: Merge pull request #4522 from notionnext-org/dependabot/npm_and_yarn/vercel/functions-3.9.8
  • change: chore: bump @vercel/functions from 3.9.7 to 3.9.8
  • change: chore: bump the dev-dependencies group with 9 updates
  • change: feat(opc): polish archive cards and onboarding (#4542)
  • change: feat(opc): redesign one-person-company homepage around a task pipeline (#4539)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

notionnext-org/NotionNext was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 37e6f5d84541c9aa43f5f8b26cf7d568f68c5cab — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.