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

Jekyll配置问题:如何为特定路径页面设置不同默认布局

问题分析与解决方案

你的问题出在**defaults中path的配置方式**,以及一处目录名笔误,导致更具体的eye-product规则未被匹配到。

核心错误点

  1. 目录名笔误:你配置的path: "_v11.3/eye-product"里,实际目录是_v11-3(连字符),但你写成了_v11.3(点),直接导致路径匹配失败。
  2. path相对路径逻辑错误:当scope同时指定type(对应collection)和path时,path是相对于该collection根目录(即_v11-3/)的路径,而非站点根目录的完整路径。不需要写_v11-3/前缀,直接写eye-product即可。

修正后的_config.yml配置

把defaults部分调整为:

defaults:
  -
    scope:
      path: ""
    values:
      layout: "default"
  -
    scope:
      path: ""
      type: "v11-3"
    values:
      layout: "documentation"
      versionDir: "11.3/"
  -
    scope:
      path: "eye-product"  # 改为相对于_v11-3的路径
      type: "v11-3"
    values:
      layout: "docueye"
      versionDir: "11.3/"
      mainPage: "eye-product"

关键说明

  • 匹配顺序:Jekyll按defaults从上到下的顺序匹配规则,更具体的规则(如eye-product专属规则)必须放在通用规则(整个v11-3 collection规则)之后,否则会被覆盖。你原来的顺序是正确的。
  • permalink不影响匹配:页面前置数据里的permalink确实不影响defaults的匹配逻辑,因为defaults是基于源文件的实际路径和所属collection来匹配的,和生成后的URL无关。

验证

修改配置后重新构建站点:

  • _v11-3/eye-product/下的页面会应用docueye布局
  • _v11-3/下其他目录(如oculus-product)的页面会应用documentation布局

内容的提问来源于stack exchange,提问作者Alberto Jiménez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:14:53