空格控制无法编译

时间:2017-01-06 06:25:24

标签: jekyll liquid

我正在为Liquid中的Jekyll网站使用一个非常简单的模板:

{% if page.title == "Home" %}
  {{ site.title }} · {{ site.tagline }}
{% else %}
  {{ page.title }} · {{ site.title }}
{% endif %}

这会产生很多不受欢迎的空白,所以我做了以下几点:

{%- if page.title == "Home" -%}
  {{ site.title }} · {{ site.tagline }}
{%- else -%}
  {{ page.title }} · {{ site.title }}
{%- endif -%}

这是precisely what the Liquid docs say to do,但无法在Jekyll中编译:

Liquid Exception: Liquid syntax error (line 1): Tag '{%- if page.title == "Home" -%}' was not properly terminated with regexp: /\%\}/ in /_layouts/default.html

我好像是最新版的Liquid,3.0.6。

我有什么问题吗?

2 个答案:

答案 0 :(得分:1)

  

Jekyll可能没有使用最新版本的Liquid。这意味着   本网站上列出的标签和过滤器可能无法在Jekyll中使用。   通常,Jekyll项目将等待Liquid的稳定释放   而不是使用测试版或候选版本。

当前的Jekyll版本:3.3.1列出了他们的Liquid依赖关系:liquid ~> 3.0这是Jekyll正在使用的Luiqid版本。

您尝试的Whitespace control功能已在Liquid 4.0.0中发布。

查看以下提交:Add whitespace control character and associated tests。它是在 2016年6月27日上制作的,并出现在标签中:

  • v4.0.0
  • v4.0.0.rc3

答案 1 :(得分:0)

Jekyll不一定使用最新的液体版本,所以这可能是问题所在。

您可以使用插件(例如octopress/minify-html)将html缩小为简单的解决方案。