Jekyll站点Github Pages构建缺失部分页面 本地构建可正常访问
问题原因
Jekyll 默认会忽略所有未在配置中声明的、以下划线开头的自定义目录,_projects 属于你自行创建的自定义集合,没有在 _config.yml 中注册并开启输出权限,因此GitHub Pages构建时不会将该目录下的文件输出到最终站点产物中,访问时自然返回404。
本地可正常访问大概率是你本地环境的配置已添加该集合声明,未同步到GitHub远程仓库导致。
解决方案
- 打开站点根目录下的
_config.yml文件,添加如下集合配置,开启_projects目录的输出权限:
collections: projects: output: true
- 若需要统一路径格式,可将
_projects目录下文件的permalink调整为带末尾斜杠的格式,和_pages下的配置保持一致,比如将permalink: /projects/foo修改为permalink: /projects/foo/,避免不同服务器的重定向规则差异导致访问异常。 - 将修改后的配置文件和所有站点文件推送到GitHub仓库,等待GitHub Pages自动构建完成后再访问即可。
如果不想使用集合功能,也可以直接将_projects目录名的下划线去掉改为projects,Jekyll会将其识别为普通目录,自动处理目录下带front matter的文件。
内容的提问来源于stack exchange,提问作者Nick Maclean
相关产品推荐
相关产品推荐

