Next.jsReact文档

next-app-fumadocs-template — Next.js 文档模板

作者 gfazioli

基于 Next.js App Router、Mantine 与 Fumadocs 无头内核的文档站模板,文档界面全部用 Mantine 组件实现,不使用 Tailwind。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-02查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

文档界面完全由 Mantine 构建,不使用 Tailwind,也不引入 Fumadocs 官方主题

02

仅使用无头 fumadocs-core 提供页面树、目录定位、面包屑与搜索等能力

03

侧边栏支持折叠、分组标签、带导轨的折叠目录与移动端抽屉

04

搜索对话框基于 Mantine Spotlight 与 useDocsSearch,快捷键为 ⌘K

05

构建期 Shiki 语法高亮,含代码标题、行高亮与行号,并支持 GitHub 提示语法

06

提供 GitHub Pages 静态导出与 Vercel/Node 两种部署路径

模板详细介绍

这是一个文档站点模板,技术组合为 Next.js App Router、Mantine 组件库与 Fumadocs 的无头内核(fumadocs-core + fumadocs-mdx)。与常见做法不同,它没有使用 Fumadocs 官方主题 fumadocs-ui,而是只消费无样式的核心能力(页面树、目录滚动定位、面包屑、搜索),再由 Mantine 自行绘制整个文档界面,因此全站只有一套样式系统,不需要处理 Tailwind 与 Mantine 的层叠冲突。

模板自带一套文档界面实现:可折叠侧边栏(含搜索框、分组标签、带导轨的折叠目录、移动端抽屉)、跟随标题层级的 SVG 目录线、基于 Mantine Spotlight 的搜索对话框(⌘K)、面包屑与上下页导航,以及 Shiki 构建期语法高亮、GitHub 提示语法(> [!NOTE])和 Callout、Steps、FileTree 等 MDX 组件。主题色在 theme.ts 中修改 primaryColor 即可全局生效,深色模式由 Mantine 的 color scheme manager 统一管理。

内容放在 content/docs 下的 .mdx 文件,侧边栏顺序由同目录的 meta.json 控制;随模板附带的文档本身即功能演示,包含 Getting Started、MDX 组件展示、UI 自定义与搜索等章节。搜索使用 Orama,通过 /api/search 提供。

部署方面,仓库提供 GitHub Pages 的静态导出方案(yarn build:static 生成预渲染的搜索索引,附带 GitHub Actions 工作流),此时发布说明由浏览器直接请求 GitHub API;部署到 Vercel 或 Node 环境时搜索接口转为动态,GitHub 发布信息走内置代理。使用前需注意:要求 Node.js ≥ 24 与 Yarn 4(仓库自带,明确不建议使用 npm 或 pnpm)。仓库采用 MIT 许可,但演示图片、字体、图标等第三方素材需另行核对许可。

Next.jsReact文档

适合你的项目吗?

适用场景

  • 为产品搭建以 MDX 编写内容的文档站点
  • 希望文档站与主应用共用 Mantine 设计系统、避免引入 Tailwind
  • 需要把文档界面作为普通 React + Mantine 代码在仓库内自由修改
  • 以 GitHub Pages 静态托管方式发布文档并保留全文搜索

适合人群

  • 使用 Next.js App Router 与 Mantine 的前端团队
  • 需要无头文档内核、自行掌控界面样式的项目
  • 接受 Node.js ≥ 24 与 Yarn 4 工具链约束的开发者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    克隆仓库后执行 yarn install 与 yarn dev,默认地址为 http://localhost:3000,首页在 /,文档在 /docs

  2. 2

    环境要求 Node.js ≥ 24 与 Yarn 4,仓库自带 Yarn,README 明确不建议使用 npm 或 pnpm

  3. 3

    新增页面写入 content/docs,并在 content/docs/meta.json 中调整侧边栏顺序

  4. 4

    主题色通过 theme.ts 中的 primaryColor 修改,深色模式由 Mantine color scheme manager 管理

  5. 5

    静态发布使用 yarn build:static,仓库自带 GitHub Pages 部署工作流

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 使用该模板需满足 Node.js ≥ 24 与 Yarn 4 环境,README 明确要求使用仓库自带的 Yarn,不建议使用 npm 或 pnpm 包管理器。
  • GitHub Pages 静态部署时,发布说明由浏览器直接请求 GitHub API 获取,依赖外部服务,可能受 GitHub API 速率限制影响。
  • 部署到 Vercel/Node 时,GitHub 发布信息经内置代理获取,可选配置 token;未配置 token 时可能受 GitHub API 未认证速率限制。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

**Requirements**: Node.js ≥ 24, Yarn 4 (bundled — do not use npm or pnpm).

README 原文

Release notes are fetched by the browser directly from the GitHub API.

README 原文

the GitHub releases go through the bundled proxy with optional token.

README 原文
https://github.com/gfazioli/next-app-fumadocs-template/blob/main/LICENCEhttps://github.com/gfazioli/next-app-fumadocs-template/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-02。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 88 / 100
技术栈
Next.js · React
网站类型
文档
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-02
截图检查日期
2026-10-02

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 7f7f9d05101a2dfc6a56a05c5a55e44036987700fe32e3928f7930672b9ee479

2026-10-02T16:38:31.106Z

来源文件 / 仓库
# Mantine Next.js + Fumadocs template

<div align="center">

[<kbd> <br/> ❤️ If this component has been useful to you or your team, please consider becoming a sponsor <br/> </kbd>](https://github.com/sponsors/gfazioli?o=esc)

</div>

This is a template for a [Next.js](https://nextjs.org/) App Router + [Mantine](https://mantine.dev/) + [Fumadocs](https://www.fumadocs.dev/) documentation site.

The docs UI is built **100% with Mantine** on top of the headless `fumadocs-core` — no Tailwind, no third-party docs theme, a single styling system for the whole app. Change `primaryColor` in `theme.ts` and the entire docs UI follows.

> Looking for the [Nextra](https://nextra.site/) flavor? Check out the sibling template [next-app-nextra-template](https://github.com/gfazioli/next-app-nextra-template).

## Quick start

```bash
git clone https://github.com/gfazioli/next-app-fumadocs-template my-docs
cd my-docs
yarn install
yarn dev
```

Open [http://localhost:3000](http://localhost:3000) — the landing page lives at `/`, the documentation at `/docs`. Add pages in `content/docs` and order them in `content/docs/meta.json`.

**Requirements**: Node.js ≥ 24, Yarn 4 (bundled — do not use npm or pnpm).

## Features

This template comes with the following features:

- [Next.js 16](https://nextjs.org/) with App Router and Turbopack
- [Mantine 9](https://mantine.dev/) UI component library
- [Fumadocs](https://www.fumadocs.dev/) headless documentation engine (`fumadocs-core` + `fumadocs-mdx`)
- [PostCSS](https://postcss.org/) with [mantine-postcss-preset](https://mantine.dev/styles/postcss-preset)
- [TypeScript 6](https://www.typescriptlang.org/)
- [Storybook](https://storybook.js.org/)
- [Jest](https://jestjs.io/) setup with [React Testing Library](https://testing-library.com/docs/react-testing-library/intro)
- [oxlint](https://oxc.rs/docs/guide/usage/linter) for linting
- [oxfmt](https://oxc.rs/docs/guide/usage/formatter) for formatting
- [Orama](https://oramasearch.com/) full-text search served by `/api/search`
- Turbopack inline SVG loader [turbopack-inline-svg-loader](https://github.com/vitalets/turbopack-inline-svg-loader)

## Fumadocs + Mantine Features

- Docs UI entirely built with Mantine: **collapsible sidebar** with built-in search box, section labels, collapsible folders with guide rail, mobile drawer
- **Clerk-style table of contents**: an SVG thread following the heading depth with smooth curves, and a primary-colored indicator sliding along it to the visible headings
- Search dialog with [Mantine Spotlight](https://mantine.dev/x/spotlight/) (`⌘K`), fed by the headless `useDocsSearch` hook, highlighted matches rendered with Mantine Mark
- Per-page chrome: breadcrumbs, previous/next navigation, divider-separated header
- Build-time syntax highlighting (Shiki) with light/dark themes following the Mantine color scheme, code titles, line highlighting and line numbers
- GitHub alert syntax (`> [!NOTE]`) rendered with Mantine Alert
- Mantine-native MDX components: Callout, Steps, FileTree, fully-styled tables — all customizable in `components/mdx`
- Single source of truth for dark mode: Mantine color scheme manager (no `next-themes`)
- GitHub Release Notes integration via API

## Folder structure

- `app` – Next.js App Router pages, layouts, and API routes
- `components` – shared components, including `components/docs` (docs shell) and `components/mdx` (MDX map)
- `content/docs` – documentation content (`.mdx` files and `meta.json` for sidebar order; `guides/` shows the folder convention)
- `config` – centralized site configuration (metadata, GitHub API, search)
- `lib/source.ts` – the fumadocs content source (loader)
- `source.config.ts` – fumadocs-mdx collections and schemas

The shipped documentation doubles as a feature tour: Getting Started, MDX Components showcase, Customize UI and Search guides.

## Deploy

- **GitHub Pages** (fully static — this is how the live demo is hosted): `yarn build:static` produces a static export with a pre-rendered Orama search index; the bundled `.github/workflows/deploy-pages.yml` workflow publishes it on every push to `main`. Release notes are fetched by the browser directly from the GitHub API. **Live demo: [gfazioli.github.io/next-app-fumadocs-template](https://gfazioli.github.io/next-app-fumadocs-template/)**
- **Vercel / Node**: import the repo and deploy — the search API turns dynamic (the client stays lightweight) and the GitHub releases go through the bundled proxy with optional token.

## Why headless (no Tailwind)?

`fumadocs-ui` — the official theme — is built on Tailwind CSS v4. Pairing it with Mantine means maintaining two styling systems and reconciling their cascade layers. This template instead consumes only the headless `fumadocs-core` (page tree, TOC scroll-spy, breadcrumbs, search — zero styling opinions) and paints everything with Mantine. One design system, one theme, no conflicts — and the docs UI lives in your repo as plain React + Mantine code you can freely edit.

## npm scripts

### Build and dev scripts

- `dev` – start dev server
- `build` – bundle application for production
- `analyze` – analyzes application bundle with [@next/bundle-analyzer](https://www.npmjs.com/package/@next/bundle-analyzer)

### Testing scripts

- `typecheck` – checks TypeScript types
- `lint` – runs oxlint and Stylelint
- `format:test` – checks files with oxfmt
- `jest` – runs jest tests
- `jest:watch` – starts jest watch
- `test` – runs `format:test`, `lint`, `typecheck` and `jest` scripts

### Other scripts

- `storybook` – starts storybook dev server
- `storybook:build` – build production storybook bundle to `storybook-static`
- `format:write` – formats all files with oxfmt

## Sponsor

<div align="center">

[<kbd> <br/> ❤️ If this component has been useful to you or your team, please consider becoming a sponsor <br/> </kbd>](https://github.com/sponsors/gfazioli?o=esc)

</div>

Your support helps me:

- Keep the project actively maintained with timely bug fixes and security updates
- Add new features, improve performance, and refine the developer experience
- Expand test coverage and documentation for smoother adoption
- Ensure long‑term sustainability without relying on ad hoc free time
- Prioritize community requests and roadmap items that matter most

Open source thrives when those who benefit can give back—even a small monthly contribution makes a real difference. Sponsorships help cover maintenance time, infrastructure, and the countless invisible tasks that keep a project healthy.

Your help truly matters.

💚 [Become a sponsor](https://github.com/sponsors/gfazioli?o=esc) today and help me keep this project reliable, up‑to‑date, and growing for everyone.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。