You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Jekyll文件夹结构后自定义布局失效问题求助

解决Jekyll自定义布局被忽略的问题

我帮你梳理下问题的核心原因,以及对应的修复方案:

1. 布局文件夹名称错误(最关键)

Jekyll的布局系统默认只识别名为_layouts的文件夹(注意是复数形式),但你的目录里写的是jekyll/_layout(单数)——哪怕你在include里配置了这个路径,Jekyll也不会把它当作布局目录来处理,这是第一个核心问题。

先把你的文件夹重命名:

jekyll/_layout → jekyll/_layouts

2. _config.yml路径配置错误

你设置了source: ./..(也就是项目根目录),所以Jekyll所有路径解析都是基于根目录的,而不是jekyll文件夹本身。你原来的include配置写的是./_layout,相当于让Jekyll去根目录找_layout文件夹,但你的布局实际在jekyll/_layouts里,自然找不到。

修正后的jekyll/_config.yml应该是这样:

theme: jekyll-theme-cayman
source: ./..
destination: ./../docs
include:
  # 路径相对于source(项目根目录)
  - jekyll/_layouts
  - jekyll/assets
exclude:
  # 排除jekyll文件夹里不需要Jekyll处理的文件,避免干扰
  - jekyll/_config.yml
  # 如果jekyll里还有其他非必要文件,也可以加在这里

3. 确保Markdown文件正确引用布局

在根目录的README.md、about.md等文件的YAML头部,要明确指定你想用的自定义布局(布局文件名不含.html后缀):

---
layout: my-custom-layout # 对应jekyll/_layouts/my-custom-layout.html
---

# 你的内容...

验证方法

运行Jekyll时加上--verbose参数,查看日志确认布局文件是否被正确加载:

cd jekyll
jekyll build --verbose

在输出里找类似这样的内容,就说明布局被正确识别了:

Reading: ./jekyll/_layouts/my-custom-layout.html

这样调整后,你的自定义布局应该就能正常生效了,同时也保持了你想要的低侵入性目录结构。

内容的提问来源于stack exchange,提问作者Claudenir Fonseca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:44:05