Noxion is distributed as five npm packages plus a CLI scaffolding tool. This section covers the public API surface and links to detailed package references.
Packages
@noxion/core
The foundation package. Everything else depends on it.
Installation
npm install @noxion/core
bun add @noxion/core
Exports
Config
Data fetching
Slug utilities
Frontmatter
Plugin system
Advanced plugin runtime
| Export | Description |
|---|
loadPlugins(entries) | Instantiate and validate plugin entries |
executeHook(plugins, hookName, args) | Execute async plugin lifecycle hooks |
executeTransformHook(plugins, hookName, initialValue, extraArgs) | Execute transform hooks with chaining |
executeRegisterPageTypes(plugins, registry) | Register custom page types from plugins |
executeRouteResolve(plugins, route) | Resolve route through plugin pipeline |
executeExtendSlots(plugins, initialSlots) | Legacy slot extension pipeline |
Types (re-exports)
@noxion/notion-renderer
The low-level Notion block renderer. Powers @noxion/renderer's <NotionPage />. Use this directly when you need full control over rendering, custom block overrides, or want to embed Notion content outside the standard blog layout.
Installation
npm install @noxion/notion-renderer
npm install react notion-types notion-utils
bun add @noxion/notion-renderer react notion-types notion-utils
Peer dependencies: react >= 18.0.0, notion-types >= 7.0.0, notion-utils >= 7.0.0
Setup
@import '@noxion/notion-renderer/styles';
@import '@noxion/notion-renderer/katex-css';
Main component
| Export | Description |
|---|
<NotionRenderer /> | Top-level renderer — renders a full Notion page from an ExtendedRecordMap |
Context & hooks
Block components
30+ individually exported block components. See Block Components for the full reference.
| Export | Notion block type |
|---|
TextBlock | text |
HeadingBlock | header, sub_header, sub_sub_header |
BulletedListBlock | bulleted_list |
NumberedListBlock | numbered_list |
ToDoBlock | to_do |
QuoteBlock | quote |
CalloutBlock | callout |
DividerBlock | divider |
ToggleBlock | toggle |
PageBlock | page |
EquationBlock | equation |
CodeBlock | code |
ImageBlock | image |
VideoBlock | video |
AudioBlock | audio |
EmbedBlock | embed, gist, figma, tweet, maps, and more |
BookmarkBlock | bookmark |
FileBlock | file |
PdfBlock | pdf |
TableBlock | table |
ColumnListBlock | column_list |
ColumnBlock | column |
TableOfContentsBlock | table_of_contents |
Inline components
| Export | Description |
|---|
<Text /> | Rich-text renderer — all inline decorations (bold, italic, links, colors, inline equations) |
<InlineEquation /> | Inline KaTeX math expression |
Shiki
Utilities
@noxion/renderer
React UI components and theme system for rendering Notion content and blog UI.
Installation
npm install @noxion/renderer react react-dom
bun add @noxion/renderer react react-dom
Peer dependencies: react >= 18.0.0, react-dom >= 18.0.0
Components
| Export | Description |
|---|
<NotionPage /> | Render a full Notion page — wraps <NotionRenderer /> with Shiki, dark mode, image URL mapping |
<NoxionLogo /> | Noxion logo component |
Hooks
| Export | Description |
|---|
useThemePreference() | Returns and controls the user's theme preference (light/dark/system) |
useSearch() | Search hook |
Types
| Export | Description |
|---|
NoxionTheme, NoxionThemeTokens | Theme token/type definitions |
NoxionSlotMap, NoxionTemplateMap, NoxionTemplateProps, NoxionLayoutProps | Layout/template composition types |
NoxionThemeMetadata | Theme package metadata shape |
PostCardProps, PostListProps, HeaderProps, FooterProps, etc. | Component prop types (still exported for theme authors) |
@noxion/adapter-nextjs
Next.js App Router integration utilities for SEO, metadata, structured data, and static generation.
Installation
npm install @noxion/adapter-nextjs @noxion/core
bun add @noxion/adapter-nextjs @noxion/core
Peer dependencies: next >= 15.0.0
Structured Data (JSON-LD)
Sitemap & Robots
Routing
Revalidation & Webhooks
Dependency graph
@noxion/adapter-nextjs
└── @noxion/core
└── notion-client (unofficial Notion API)
└── notion-utils (utilities)
└── notion-types (TypeScript types)
@noxion/renderer
└── @noxion/notion-renderer (Notion block rendering)
└── katex (equation SSR)
└── shiki (syntax highlighting)
└── notion-types
└── notion-utils
These are the only significant runtime dependencies. Noxion intentionally keeps the dependency tree small. The @noxion/notion-renderer package replaced the previous react-notion-x dependency, giving full control over rendering and styling.
Versioning
All Noxion packages follow Semantic Versioning. They are versioned together (same major/minor version across all packages) to ensure compatibility. When upgrading, update all @noxion/* packages to the same version simultaneously.