自动导航生成
Rspress 最强大的功能之一是能够从您的文件结构和 frontmatter 元数据自动生成导航栏和侧边栏。这减少了手动配置,并使您的导航与内容保持同步。
理解自动生成
工作原理
Rspress 扫描您的文档目录并:
- 读取文件结构(目录和文件)
- 解析每个文件的 frontmatter 元数据
- 根据约定和配置生成导航
- 随着内容更改动态更新导航
优势
- 减少配置: 更少的手动配置需要维护
- 始终同步: 导航随内容更改而更新
- 一致结构: 强制执行组织模式
- 更快开发: 专注于内容,而不是配置
Frontmatter 元数据
基本 Frontmatter
在任何 Markdown 文件顶部添加元数据:
导航特定字段
控制页面在导航中的显示方式:
完整 Frontmatter 参考
侧边栏自动生成
启用自动生成
启用自动侧边栏生成:
基于文件的结构
启用自动生成后,您的文件结构就成为您的侧边栏:
每个文件都使用其 frontmatter 中的 title 或第一个标题出现在侧边栏中。
自定义排序
使用 sidebar_position 控制顺序:
结果:
自定义标签
使用 sidebar_label 覆盖显示文本:
分组自动生成
创建组
使用 _meta.json 文件定义组:
_meta.json 结构
定义组元数据:
结果
这会生成:
基于目录的分组
自动分组
Rspress 自动从目录创建组:
生成:
组配置
通过 frontmatter 配置组:
导航栏自动生成
顶级目录
Rspress 可以从顶级目录生成导航栏:
自定义自动生成的导航
混合自动生成和手动项:
混合配置
结合自动和手动
使用两种方法以获得灵活性:
实践示例
示例 1: 简单文档
Frontmatter:
示例 2: 分组文档
高级技术
条件导航
基于条件显示/隐藏项:
动态排序
在文件名中使用数字前缀进行排序:
然后在 frontmatter 中去除数字:
故障排除
导航未更新
- 清除缓存:
- 检查 Frontmatter 语法:
- 验证文件编码: 确保 UTF-8 编码
排序问题
- 使用一致的编号:
- 检查重复项:
性能考虑
大型站点优化
对于拥有 100+ 页面的站点:
- 使用策略性自动生成:
- 限制嵌套深度:
- 使用折叠组:
最佳实践
Frontmatter 标准
- 始终包含标题:
- 使用一致的定位:
- 保持标签简短:
下一步
- 学习MDX 及 React 组件
- 探索国际化实现多语言导航
- 了解静态资源
::: tip 专业提示
- 从自动生成开始,根据需要添加手动配置
- 使用
_meta.json处理复杂层次结构 - 在移动设备上测试导航
- 保持 frontmatter 在文件间的一致性 :::
::: info 资源