博客
Nextra 使用技巧

Nextra 使用技巧

发布日期:2025年10月17日

在使用 Nextra 构建文档和博客的过程中,我总结了一些实用的技巧和最佳实践,希望对你有所帮助。

1. 使用 MDX 增强内容表现力

MDX 允许你在 Markdown 中使用 JSX,这意味着你可以直接在文档中使用 React 组件。

示例:自定义提示框

import { Callout } from 'nextra/components'
 
<Callout type="warning">
  这是一个警告提示!
</Callout>

这比纯 Markdown 更灵活,可以创建更丰富的交互体验。

2. 合理组织文件结构

使用清晰的文件结构可以让你的站点更易于维护:

pages/
├── _meta.js          # 主导航
├── index.jsx         # 首页
├── docs/
│   ├── _meta.js      # 文档导航
│   ├── intro.mdx
│   └── advanced/
│       ├── _meta.js
│       └── tips.mdx
└── blog/
    ├── _meta.js
    └── post-1.mdx

技巧

  • 使用 _meta.js 控制导航顺序和标题
  • 相关内容放在同一文件夹下
  • 使用有意义的文件名(URL 友好)

3. 优化代码块展示

Nextra 支持多种代码块增强功能:

显示文件名

```js filename="app.js"
console.log('Hello, Nextra!')
```

高亮特定行

```js {1,3-5}
const name = 'Nextra'
console.log('Line 2')
console.log('Line 3')
console.log('Line 4')
console.log('Line 5')
```

添加行号

```js showLineNumbers
function example() {
  return 'Hello'
}
```

4. 使用内置组件

Nextra 提供了很多实用的内置组件:

Steps 组件

适合编写教程和操作步骤:

import { Steps } from 'nextra/components'
 
<Steps>
### 第一步
安装依赖
 
### 第二步
配置项目
 
### 第三步
启动服务
</Steps>

Tabs 组件

展示多种语言或方案:

import { Tabs } from 'nextra/components'
 
<Tabs items={['npm', 'yarn', 'pnpm']}>
  <Tabs.Tab>npm install nextra</Tabs.Tab>
  <Tabs.Tab>yarn add nextra</Tabs.Tab>
  <Tabs.Tab>pnpm add nextra</Tabs.Tab>
</Tabs>

Cards 组件

创建卡片式链接:

import { Cards, Card } from 'nextra/components'
 
<Cards>
  <Card title="快速开始" href="/docs/getting-started" />
  <Card title="配置指南" href="/docs/configuration" />
</Cards>

5. SEO 优化

设置页面元数据

在 MDX 文件顶部使用 frontmatter:

---
title: 页面标题
description: 页面描述
date: 2025/10/17
---

配置全局 SEO

theme.config.jsx 中配置:

export default {
  useNextSeoProps() {
    return {
      titleTemplate: '%s – 你的站点名',
      description: '站点描述',
      openGraph: {
        type: 'website',
        locale: 'zh_CN',
        site_name: '你的站点名'
      }
    }
  }
}

6. 自定义样式

使用 CSS Modules

创建 styles/custom.module.css

.customBox {
  padding: 1rem;
  border: 2px solid #667eea;
  border-radius: 8px;
}

在 MDX 中使用:

import styles from '../styles/custom.module.css'
 
<div className={styles.customBox}>
  自定义样式内容
</div>

全局样式

pages/_app.jsx 中引入全局样式:

import '../styles/globals.css'
 
export default function App({ Component, pageProps }) {
  return <Component {...pageProps} />
}

7. 静态导出优化

如果要部署到 GitHub Pages 等静态托管服务:

// next.config.js
module.exports = withNextra({
  output: 'export',
  images: {
    unoptimized: true
  },
  trailingSlash: true,
  // 如果部署在子路径
  basePath: '/your-repo-name',
  assetPrefix: '/your-repo-name'
})

8. 搜索功能

Nextra 内置了搜索功能,无需额外配置。如果要自定义:

// theme.config.jsx
export default {
  search: {
    placeholder: '搜索文档...'
  }
}

9. 国际化 (i18n)

支持多语言很简单:

  1. next.config.js 配置语言:
module.exports = {
  i18n: {
    locales: ['zh-CN', 'en-US'],
    defaultLocale: 'zh-CN'
  }
}
  1. 创建对应语言的文件:
pages/
├── en-US/
│   └── docs/
│       └── intro.mdx
└── zh-CN/
    └── docs/
        └── intro.mdx

10. 性能优化技巧

  • ✅ 使用静态导出减少服务器负载
  • ✅ 图片使用 WebP 格式
  • ✅ 合理使用代码分割
  • ✅ 启用 Git 时间戳缓存
  • ✅ 优化图片大小和尺寸

总结

Nextra 是一个功能强大且易用的文档框架。通过合理使用这些技巧,你可以:

  • 创建更美观、更专业的文档
  • 提升用户阅读体验
  • 优化站点性能
  • 简化内容维护

希望这些技巧对你有帮助!如果你有其他问题,欢迎查看官方文档 (opens in a new tab)或在 GitHub 上提出 Issue。


参考资料: