能否手动调整MkDocs/MkDocs-Material中目录与页面的排序?
要实现类似Jekyll/Just-the-Docs的nav_order元数据排序方式,你可以使用mkdocs-awesome-pages-plugin插件,步骤如下:
1. 安装插件
在终端执行安装命令:
pip install mkdocs-awesome-pages-plugin
2. 在mkdocs.yml中启用插件
打开配置文件,添加插件配置:
plugins: - awesome-pages
3. 给每个章节目录添加带排序元数据的入口文件
在每个章节目录下创建_index.md文件,通过前置元数据设置nav_order和章节标题:
intro/_index.md:
--- nav_order: 1 title: Introduction ---
basic-use/_index.md:
--- nav_order: 2 title: Basic Use ---
advanced-use/_index.md:
--- nav_order: 3 title: Advanced Use ---
效果说明
- MkDocs会自动读取每个目录下
_index.md的nav_order值来排序章节,最终导航顺序会变成Introduction → Basic Use → Advanced Use - 无需手动在
mkdocs.yml的nav字段中列出所有页面,插件会自动扫描目录结构生成导航 - 保持原有URL路径的整洁,不会出现数字前缀,也不用担心链接失效问题
- 子页面的排序也可以用同样的方式:给子页面的前置元数据添加
nav_order值即可
内容的提问来源于stack exchange,提问作者amenthes
相关产品推荐
相关产品推荐

