【问题标题】:Jekyll site variables not rendering in includes or layoutsJekyll 站点变量未在包含或布局中呈现
【发布时间】:2019-02-13 14:48:08
【问题描述】:

我正在使用 GitHub Pages 开发 Jekyll 网站,发现 {% include myinclude.html %}liquid 在 _includes 和 _layout 文件中工作得很好。但是,当向 _config.yml 添加元素(例如 author : myusername)并尝试在 _layouts/default.html_includes/myinclude.html 中将它们用作 {{ site.author }} 时,结果文本只是空白。请注意,这些更改并未提交或推送,我使用的是安装在 Windows 的 Linux 子系统上的本地 jekyll 实例。

在我的实际页面中的 _includes 和 _layout 之外,站点变量工作得很好。为什么不显示站点变量?目前我必须将实际值放回页面中。

【问题讨论】:

  • 没有代码,很难调试。
  • 可以理解,虽然我只是发现问题是因为我没有重新启动 Jekyll 实例。对配置的更改不会像对其他所有文件的更改一样更新。

标签: jekyll github-pages liquid


【解决方案1】:

以上是预期行为,对 _config.yml 的每次更改都需要重新启动开发服务器以处理新设置

使用watch时无法重新读取配置文件,因为它 包含诸如源和目标之类的东西。它只能工作,如果它 实际上就像多次运行 jekyll build 一样

source

【讨论】:

    【解决方案2】:

    假设对 _config.yml 的编辑会自动更新,就像 Jekyll 对其他文件的编辑所做的那样,我没有重新启动我最初启动的 jekyll 实例。只需关闭 Jekyll 实例并重新启动它,在我的例子中使用bundle exec jekyll serve,读取更新的配置文件,{{ site.variables }} 就会出现并按我的预期正确显示。

    _config.yml 的任何更改都需要重新启动 Jekyll 实例。

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 2023-04-06
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多