GitHub Pages构建Liquid错误:未知标签'include_cached'求助
解决GitHub Pages构建时Liquid标签
include_cached未知的错误 错误详情
Liquid Exception: Liquid syntax error (line 6): Unknown tag 'include_cached' in /_layouts/post.html
通过forkHydejack项目搭建博客,本地运行正常,但在GitHub上构建时出现上述错误。已尝试修改config.yml、将布局改为md文件、删除仓库等方法,耗时2天仍未解决。
问题原因
include_cached是Jekyll 3.7.0及以上版本才支持的Liquid标签,但GitHub Pages默认使用的Jekyll版本可能低于这个要求,导致构建时无法识别该标签。本地环境的Jekyll版本较高,所以能正常运行。
解决方案
替换
include_cached为include标签
找到仓库中/_layouts/post.html文件的第6行,将{% include_cached %}标签替换为普通的{% include %}标签。虽然include_cached能提升构建性能,但include是兼容所有Jekyll版本的通用写法,可解决GitHub Pages的兼容性问题。用GitHub Actions自定义构建流程
放弃GitHub Pages默认的Jekyll构建,改用GitHub Actions来控制构建环境:- 在仓库根目录创建
.github/workflows/jekyll-build.yml文件 - 配置工作流,指定使用最新版本的Ruby和Jekyll,完成依赖安装、博客构建后,将产物部署到
gh-pages分支 - 在仓库设置中,将GitHub Pages的部署源改为
gh-pages分支
- 在仓库根目录创建
切换到兼容GitHub Pages的Hydejack版本
检查当前fork的Hydejack版本,若版本过高不兼容GitHub Pages的Jekyll版本,可切换到Hydejack官方提供的、适配GitHub Pages的旧分支,重新部署博客。
内容的提问来源于stack exchange,提问作者JangHwan.Park
相关产品推荐
相关产品推荐

