MKDocs项目nav配置报错:预期为列表却获None的问题排查
核心问题定位
从你提供的nav配置来看,最后一行- MH-Configuration:是一个未完成的列表项——它只定义了导航条目名称,但没有关联任何子菜单或markdown文件,YAML解析器无法识别这种不完整的结构,直接导致整个nav解析失败,返回None。
具体排查修复步骤
- 立即修复未完成条目:要么给
MH-Configuration添加对应的子项或文件路径,比如:
要么直接删除这一行,先让nav结构完整。- MH-Configuration: - '配置首页': 'EMD/User-Guides/MH-Configuration/index.md' - 验证YAML语法合规性:使用
yamllint工具检查配置文件,执行命令:
工具会输出所有缩进错误、结构不完整等语法问题。yamllint mkdocs.yml - 逐项排查导航条目:将User Guides下的子条目逐步注释(用
#),每次注释后运行mkdocs build,直到错误消失,就能定位到具体的错误行。比如先注释掉MH-Configuration,再注释MH-Dictionary下的深层子项,逐步缩小范围。 - 核对文件路径与大小写:检查所有markdown文件的实际路径和文件名,尤其是带空格的文件(比如
Reason Codes.md),在Linux/macOS环境下路径大小写敏感,必须和配置里的完全一致。 - 检查特殊字符:确认文件名和路径中没有YAML敏感的特殊字符(如
:、#等),如果有需要用单引号或双引号包裹整个路径。
内容的提问来源于stack exchange,提问作者Mel
相关产品推荐
相关产品推荐

