【问题标题】:In Jekyll, how does include_relative work with respect to layout files?在 Jekyll 中,include_relative 如何处理布局文件?
【发布时间】:2015-04-21 10:29:44
【问题描述】:

我的layouts 文件夹中有一个名为default.html 的文件。在default.html 中,我想将一个相对include 添加到test.html,它也在我的布局文件夹中。

我在我的default.html 文件中添加{% include_relative test.html }% 以包含test.html。但是,当我这样做时,我收到一个错误,上面写着

"Liquid Exception: Included file './test.html' not found in
projects/[projectnmae]/layouts/default.html"

我的layouts 文件夹确实位于我的配置文件中指定的不同位置。如果include_relative 在这里以我无法理解的特殊方式工作,有什么想法吗?

【问题讨论】:

  • 检查文件名。也许肯定是 tests.html
  • 不,我的文件名没有错字。我认为这是 Jekyll 的一个错误。
  • 看到你的代码会很有趣。任何 github 仓库?
  • 不过,我认为这不是主题问题。我使用新的 jekyll 站点复制了该问题。在这个 github 存储库中,我试图将与一个站点相关的所有内容放入特定的项目文件夹中。 _includes 文件夹是我唯一不能移到那里的东西。

标签: include jekyll relative-path


【解决方案1】:

布局代码在页面/帖子渲染的上下文中执行,include_relative 是相对于此页面或帖子而不是布局本身计算的。

在调试器中跟踪此错误表明 include_relative 尝试加载 /home/user/www/test/_posts/test.html 而不是 /home/user/www/test/_layouts/test.html

【讨论】:

    【解决方案2】:

    您不能将include_relative 标记用于布局文件夹中的任何文件。您只能在页面或帖子上使用include_relative

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      相关资源
      最近更新 更多