Examples
Basic Examples
1. Simple Documentation
// pages/index.mdx
# Welcome to My Docs
This is a simple documentation page.
2. With Components
// pages/components.mdx
import { Button } from '../components/Button'
# Using Components
<Button>Click me!</Button>
3. With Code Blocks
// pages/code.mdx
# Code Examples
```js
function hello() {
console.log('Hello, world!')
}
Advanced Examples
1. Custom Theme
// theme.config.jsx
export default {
logo: <span>My Project</span>,
project: {
link: 'https://github.com/your-repo'
},
useNextSeoProps() {
return {
titleTemplate: '%s – My Project'
}
}
}
2. Internationalization
// pages/_meta.js
export default {
"index": {
"title": "Introduction",
"display": "hidden"
},
"en": "English",
"zh": "中文"
}
3. Versioning
// pages/_meta.js
export default {
"index": {
"title": "Introduction",
"display": "hidden"
},
"v1": "v1.x",
"v2": "v2.x"
}
Interactive Examples
1. Counter Component
import { useState } from 'react'
export function Counter() {
const [count, setCount] = useState(0)
return (
<button onClick={() => setCount(count + 1)}>
Count: {count}
</button>
)
}
<Counter />
2. Theme Switcher
import { useTheme } from 'nextra-theme-docs'
export function ThemeSwitcher() {
const { theme, setTheme } = useTheme()
return (
<button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
Toggle theme
</button>
)
}
<ThemeSwitcher />