【问题标题】:github tag closing in Liquid 4 failuregithub标签在Liquid 4失败中关闭
【发布时间】:2017-12-15 11:58:23
【问题描述】:

我正在使用Jekyll 并因此使用Liquid 4

通常我应该能够像这样转义空格:

{%- for post in site.data.posts-%}

但是 github 在构建时返回了以下错误消息 index.html 中第 21 行的标签 {%- for post in site.data.posts -%} 未使用 %} 正确关闭。

如果我删除破折号并像这样格式化它

{% for post in site.data.posts %}

它正在工作,但当然到处都添加了空白。

我的印象是它应该与 Liquid 4 一起使用,而我的一位同事拥有相同类型的代码,并且对他来说这是可行的。

任何想法为什么这会导致我的构建崩溃?

来自我的 gemfile

gem "jekyll", "3.5.0"

而且来自我的 gemfile.lock

    jekyll (3.5.0)
  addressable (~> 2.4)
  colorator (~> 1.0)
  jekyll-sass-converter (~> 1.0)
  jekyll-watch (~> 1.1)
  kramdown (~> 1.3)
  liquid (~> 4.0)
  mercenary (~> 0.3.3)
  pathutil (~> 0.9)
  rouge (~> 1.7)
  safe_yaml (~> 1.0)
jekyll-feed (0.9.2)
  jekyll (~> 3.3)
jekyll-sass-converter (1.5.0)
  sass (~> 3.4)
jekyll-watch (1.5.0)
  listen (~> 3.0, < 3.1)
kramdown (1.14.0)
liquid (4.0.0)

【问题讨论】:

  • GIthub 还在使用 Jekyll 3.4.5 + Liquid 3.06 pages.github.com/versions 暂时只能降级了。
  • 嗯,但我的同事让它在他的工作站上工作仍然很奇怪。可能是添加了框架的东西或我想的东西。
  • 它应该可以在工作站上正常工作,但不能在 GitHub Pages 上运行

标签: github jekyll liquid


【解决方案1】:

您的同事工作站与 Github 平台不同。您可以使用当前配置在本地环境中运行您的代码,它会工作,因为如果您使用 bundle exec jekyll serve 运行它,它将获得预期的 Gemfile 依赖项和版本。

但是您不能在 Github 页面中指定 gem 的自定义版本,拥有 Gemfile 是行不通的。复制 Github Pages 运行环境的正确方法是将Gemfile 设置为:

gem 'github-pages', group: :jekyll_plugins

然后运行bundle install 并检查您正在使用的版本:

bundle exec github-pages versions

那么你将不得不等到 Github Pages 使用 Liquid 4.* 来使用空白条功能或在它们之间写入没有空白的液体,现在它是 3.0.6

【讨论】:

  • 我明白,但是,我的同事也在 github 上发布了这个,和他一起工作得很好。因此我的困惑。 this is his website also available on github as public repo
  • 您同事的当前构建失败,12 天前他提交了添加空间剥离功能的提交,现在站点失败,显示以前的版本。
  • 你说的完全正确,谢谢!老实说,我不知道我是怎么错过的,一定是忽略了他的构建失败,因为他没有收到来自 github 的电子邮件。知道如何以另一种方式摆脱空白吗?或者除非我把所有东西都放在一条线上,否则我会坚持下去吗?
  • @Tikkes 您可以使用 Jekyll 4 在本地构建站点并将生成的站点上传到 Github 页面。
猜你喜欢
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 2022-10-02
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 2022-11-17
相关资源
最近更新 更多