升级mkdocs-material 9.2及以上版本触发Jinja2错误的解决方法
问题修复方案
错误根源
mkdocs-material 9.2及以上版本对字体配置格式做了变更,不再兼容旧版本的列表式写法。你的mkdocs.yml中theme.font配置为列表类型,但新版本模板期望它是字典类型,因此调用.get()方法时抛出'list object' has no attribute 'get'错误。
修复步骤
- 打开项目根目录下的
mkdocs.yml配置文件 - 找到
theme.font相关配置,将旧的列表格式:
theme: font: - Roboto # 旧写法:文本字体 - Roboto Mono # 旧写法:代码字体
修改为新版本要求的字典格式:
theme: font: text: Roboto # 新版本:指定文本字体 code: Roboto Mono # 新版本:指定代码字体
- 保存配置后,重新执行
mkdocs build即可正常构建
验证
修改配置后,安装mkdocs-material 9.2+版本并执行构建命令,错误会消失,站点可正常生成。
内容的提问来源于stack exchange,提问作者RobinT
相关产品推荐
相关产品推荐

