theorcdev/8bitcn-ui

fumadocs-mdx-structure

Create MDX documentation files with proper frontmatter, imports, and component integration.

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Fumadocs MDX Structure

Create well-structured MDX documentation files for 8-bit components following the established patterns.

Frontmatter Pattern

mdx
---
title: Component Name
description: Brief description of the 8-bit component.
---

Import Pattern

All documentation files require these imports:

mdx
import { ComponentName } from "@/components/ui/8bit/component-name";
import CopyCommandButton from "@/components/copy-command-button";
import InstallationCommands from "@/components/installation-commands";
import ComponentPreview from "@/components/component-preview";

Copy Command Button

Place immediately after frontmatter:

mdx
<div className="flex flex-col md:flex-row items-center justify-end gap-2 mb-2">
  <CopyCommandButton
    copyCommand="pnpm dlx shadcn@latest add @8bitcn/component-name"
    command="pnpm dlx shadcn@latest add @8bitcn/component-name"
  />
</div>

Component Preview

Wrap component examples:

mdx
<ComponentPreview title="8-bit ComponentName component" name="component-name">
  <ComponentName>Example</ComponentName>
</ComponentPreview>

Installation Section

mdx
## Installation

---

<InstallationCommands packageName="component-name" />

Usage Section

mdx
## Usage

---

import { ComponentName } from "@/components/ui/8bit/component-name"

<ComponentName variant="outline">Example</ComponentName>

Complete Example

mdx
---
title: Button
description: Displays an 8-bit button component.
---

import { Button } from "@/components/ui/8bit/button";
import CopyCommandButton from "@/components/copy-command-button";
import InstallationCommands from "@/components/installation-commands";
import ComponentPreview from "@/components/component-preview";

<div className="flex flex-col md:flex-row items-center justify-end gap-2 mb-2">
  <CopyCommandButton
    copyCommand="pnpm dlx shadcn@latest add @8bitcn/button"
    command="pnpm dlx shadcn@latest add @8bitcn/button"
  />
</div>

<ComponentPreview title="8-bit button component" name="button">
  <Button>Button</Button>
</ComponentPreview>

## Installation

---

<InstallationCommands packageName="button" />

## Usage

---

import { Button } from "@/components/ui/8bit/button"

<Button variant="outline">Button</Button>

Key Principles

  1. Frontmatter required - title and description are mandatory
  2. Import order - Component → utilities → UI components
  3. Copy button - Place before ComponentPreview
  4. ComponentPreview - Use for all component examples
  5. Code blocks - Use ```tsx for TypeScript examples
  6. Section separators - Use --- after headings
  7. 8-bit imports - Use @/components/ui/8bit/ path

File Location

Place documentation files in:

  • content/docs/components/component-name.mdx for components
  • content/docs/blocks/category/block-name.mdx for blocks