MuseMVP Docs
Docs System

Fumadocs Blocks

Covers all Fumadocs UI content block types, including runnable examples and dependency notes.

Enable More Blocks On Demand (Bundle Size Control)

To keep the docs page client bundle smaller, the template maps only common components by default.
If you want to use more block types (such as Accordions, Banner, InlineTOC, TypeTable, or DynamicCodeBlock), import and register them in DocsContent.tsx:

import { Accordion, Accordions } from "fumadocs-ui/components/accordion";
import { Banner } from "fumadocs-ui/components/banner";
import {
  CodeBlock,
  CodeBlockTab,
  CodeBlockTabs,
  CodeBlockTabsList,
  CodeBlockTabsTrigger,
  Pre,
} from "fumadocs-ui/components/codeblock";
import { DynamicCodeBlock } from "fumadocs-ui/components/dynamic-codeblock";
import { InlineTOC } from "fumadocs-ui/components/inline-toc";
import {
  TabsContent,
  TabsList,
  TabsTrigger,
} from "fumadocs-ui/components/tabs";
import { TypeTable } from "fumadocs-ui/components/type-table";

// ...
<MDXContent
  code={code}
  components={{
    ...defaultMdxComponents,
    Accordions,
    Accordion,
    Banner,
    CodeBlock,
    Pre,
    CodeBlockTabs,
    CodeBlockTabsList,
    CodeBlockTabsTrigger,
    CodeBlockTab,
    DynamicCodeBlock,
    TabsList,
    TabsTrigger,
    TabsContent,
    InlineTOC,
    TypeTable,
  }}
/>
// ...

Standard Markdown Showcase

Heading Levels

H4 Heading

H5 Heading
H6 Heading
  • Unordered item A
  • Unordered item B
  • Unordered item C
  1. Ordered item 1
  2. Ordered item 2
  3. Ordered item 3

This is a blockquote used to verify markdown quote styles.

FieldTypeDescription
titlestringDisplay title
iconstringIcon name
const section = {
  title: "CMS",
  icon: "Blocks",
  pages: ["cms-blog", "cms-docs"],
};

Open Docs Home

Sample image

Component Coverage (This Page)

CategoryComponents
AlertsCallout, CalloutContainer, CalloutTitle, CalloutDescription
CardsCards, Card
TabsTabs, Tab, TabsList, TabsTrigger, TabsContent
Code BlocksCodeBlock, Pre, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, CodeBlockTab, DynamicCodeBlock
Steps & File TreeSteps, Step, Files, Folder, File
Structure & TOCInlineTOC, Accordions, Accordion, TypeTable
Media & BannerImageZoom (with automatic img enhancement), Banner
Server-side BlockGithubInfo (code example only on this page)

Callout Family

Callout Example

This is the shorthand Callout form, useful for standard informational notes.

warn Type

Supported variants include warn, warning, error, success, and idea.

Composed Callout (CalloutContainer)

Use CalloutContainer + CalloutTitle + CalloutDescription when you need finer content control.

Cards / Card

Tabs / Tab (Simple Mode)

pnpm install
pnpm dev
npm install
npm run dev

TabsList / TabsTrigger / TabsContent (Advanced Mode)

Best when data is fetched on the server and rendered directly.

Best for frequent interaction, browser APIs, or local state-heavy behavior.

Code Block Components

Markdown Code Block (defaults to pre -> CodeBlock)

export const project = {
  name: "MuseMVP",
  stack: ["Next.js", "Hono", "Drizzle"],
} as const;

CodeBlockTabs (Multi-block Switching)

RESEND_API_KEY="re_xxx"
DATABASE_URL="postgres://..."

DynamicCodeBlock (Runtime Highlighting)

export function sum(a: number, b: number) {return a + b;}

Steps / Step

Create new *.mdx files under content/docs.

Register page order in meta.{locale}.json.

Add title, description, and icon in frontmatter.

Files / Folder / File

cms-blog.en.mdx
cms-docs.en.mdx
paid-content-demo.en.mdx
meta.en.json

ImageZoom (Including Automatic img Enhancement)

Markdown images are automatically enhanced by ImageZoom (click to zoom):

ImageZoom auto-enhancement example

You can also explicitly use the component with width/height:

ImageZoom component example

Accordions / Accordion

It helps collapse detailed sections in long docs so the main narrative stays clear.

This is the default Banner style. It can be dismissed and persisted in local storage.

This is the rainbow Banner style (variant="rainbow").

InlineTOC

Inline TOC - A

This is section A.

Inline TOC - B

This is section B.

Inline TOC - C

This is section C.

TypeTable

Prop

Type

GithubInfo (Server-side Block Example)

GithubInfo is an async component and is best used in server-rendered paths. Since this page uses client-side MDX rendering, we provide code usage only.

<GithubInfo owner="fuma-nama" repo="fumadocs" />

Optional props:

  • token: GitHub token (increases API rate limits)
  • baseUrl: custom GitHub API base URL (for enterprise setups)

Extra Dependencies and Constraints

CapabilityExtra install neededNotes
Most blocks under fumadocs-ui/components/*NoAlready available because this project installs fumadocs-ui.
DynamicCodeBlockNoUses fumadocs-core highlighting, which is already present here.
ImageZoomNoDepends on react-medium-image-zoom, included by fumadocs-ui.
GithubInfoNo (component-level)But it is recommended on server-rendered paths, and production should provide a token for rate limits.
TypeScript auto type tables (e.g., AutoTypeTable)YesThis is an extra extension capability, not part of core fumadocs-ui content blocks.

Component Quick Reference (Final)

ComponentUse Case
Callout / CalloutContainerInfo notes, alerts, and success states
Cards / CardCard grids and linked cards
Tabs / Tab / TabsList / TabsTrigger / TabsContentContent switching (simple and advanced modes)
CodeBlock / CodeBlockTabs / DynamicCodeBlockCode display, highlighting, and grouped code blocks
Steps / StepStep-by-step lists
Files / Folder / FileFile tree display
ImageZoomClick-to-zoom images
Accordions / AccordionCollapsible panels
BannerTop announcement banner
InlineTOCInline table-of-contents navigation
TypeTableAPI/type parameter table
GithubInfoGitHub repository info card (server-side recommended)

For more details, see the Fumadocs docs.