LogoClawti
发现角色生成图片创建角色
搜索角色
Manual Installation
2025/03/14

Manual Installation

Create a new fumadocs project from scratch.

Read the Quick Start guide first for basic concept.

Getting Started

Create a new Next.js application with create-next-app, and install required packages.

fumadocs-ui fumadocs-core

Content Source

Fumadocs supports different content sources, you can choose one you prefer.

There is a list of officially supported sources:

  • Setup Fumadocs MDX
  • Setup Content Collections

Make sure to configure the library correctly following their setup guide before continuing, we will import the source adapter using @/lib/source.ts in this guide.

Root Layout

Wrap the entire application inside Root Provider, and add required styles to body.

import { RootProvider } from 'fumadocs-ui/provider';
import type { ReactNode } from 'react';

export default function Layout({ children }: { children: ReactNode }) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body
        // you can use Tailwind CSS too
        style={{
          display: 'flex',
          flexDirection: 'column',
          minHeight: '100vh',
        }}
      >
        <RootProvider>{children}</RootProvider>
      </body>
    </html>
  );
}

Styles

Setup Tailwind CSS v4 on your Next.js app, add the following to global.css.

Tailwind CSS
@import 'tailwindcss';
@import 'fumadocs-ui/css/neutral.css';
@import 'fumadocs-ui/css/preset.css';

/* path of `fumadocs-ui` relative to the CSS file */
@source '../node_modules/fumadocs-ui/dist/**/*.js';

It doesn't come with a default font, you may choose one from next/font.

Layout

Create a app/layout.config.tsx file to put the shared options for our layouts.

{
  "file": "../../examples/next-mdx/app/layout.config.tsx",
  "codeblock": {
    "meta": "title=\"app/layout.config.tsx\""
  }
}

Create a folder /app/docs for our docs, and give it a proper layout.

{
  "file": "../../examples/next-mdx/app/docs/layout.tsx",
  "codeblock": {
    "meta": "title=\"app/docs/layout.tsx\""
  }
}

pageTree refers to Page Tree, it should be provided by your content source.

Page

Create a catch-all route /app/docs/[[...slug]] for docs pages.

In the page, wrap your content in the Page component. It may vary depending on your content source. You should configure static rendering with generateStaticParams and metadata with generateMetadata.

{
  "file": "../../examples/next-mdx/app/docs/[[...slug]]/page.tsx",
  "codeblock": {
    "meta": "title=\"app/docs/[[...slug]]/page.tsx\" tab=\"Fumadocs MDX\""
  }
}
{
  "file": "../../examples/content-collections/app/docs/[[...slug]]/page.tsx",
  "codeblock": {
    "meta": "title=\"app/docs/[[...slug]]/page.tsx\" tab=\"Content Collections\""
  }
}

Search

Use the default document search based on Orama.

{
  "file": "../../examples/next-mdx/app/api/search/route.ts",
  "codeblock": {
    "meta": "title=\"app/api/search/route.ts\" tab=\"Fumadocs MDX\""
  }
}
{
  "file": "../../examples/content-collections/app/api/search/route.ts",
  "codeblock": {
    "meta": "title=\"app/api/search/route.ts\" tab=\"Content Collections\""
  }
}

Learn more about Document Search.

Done

You can start the dev server and create MDX files.

content/docs/index.mdx
---
title: Hello World
---

## Introduction

I love Anime.

Customise

You can use Home Layout for other pages of the site, it includes a navbar with theme toggle.

Deploying

It should work out-of-the-box with Vercel & Netlify.

Docker Deployment

If you want to deploy your Fumadocs app using Docker with Fumadocs MDX configured, make sure to add the source.config.ts file to the WORKDIR in the Dockerfile. The following snippet is taken from the official Next.js Dockerfile Example:

Dockerfile
WORKDIR /app

# Install dependencies based on the preferred package manager
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* source.config.ts ./

This ensures Fumadocs MDX can access your configuration file during builds.

全部文章

作者

avatar for Mkdirs
Mkdirs

分類

  • Company
  • Product
Getting StartedContent SourceRoot LayoutStylesLayoutPageSearchDoneCustomiseDeployingDocker Deployment

更多文章

Markdown
CompanyNews

Markdown

How to write documents

avatar for Mkdirs
Mkdirs
2025/03/05
Quick Start
CompanyNews

Quick Start

Getting Started with Fumadocs

avatar for MkSaaS
MkSaaS
2025/03/28
Premium Blog Post
付費文章
Product

Premium Blog Post

This blog post is a test for premium content.

avatar for Fox
Fox
2025/08/30

郵件列表

加入我們的社羣

訂閱郵件列表,及時獲取最新訊息和更新

LogoClawti
快速开始

Clawti 是面向创作者的 AI 角色平台,覆盖发现、聊天与发布全流程。

进入 Discover开始聊天

需要官方社媒入口或账号支持?请使用下方社区与支持页面。

X (Twitter)RYouTube
功能
  • 生成图片
  • 创建角色
  • 标签
  • 新主题
  • 热门系列
创作指南
  • 如何创建
  • 迁移角色
  • 打造热门角色
了解
  • 最佳 AI 聊天机器人
  • 终极 AI 聊天
  • 最佳 AI 编程工具
  • 使用指南
法律
  • 隐私政策
  • 使用条款
  • 删除账户

© 2026 Clawti. 保留所有权利。

社区与支持