嵌套的Jekyll for循环不检测'包含'

时间:2017-05-10 13:31:43

标签: jekyll

我有一个嵌套的for循环,它检查文件路径名是否与我的一个帖子中的前端内容相匹配。我遇到的麻烦是,无论出于何种原因if语句都不起作用,即使我可以在if语句之前打印file.pathpost.assets,也不知道为什么这不起作用?

{% for post in site.posts limit:3 %}
  urlsToCache.push("{{ post.url }}")
  {% for file in site.static_files %}
    {% if file.path contains '{{ post.assets }}' %}
      urlsToCache.push("{{ file.path }}")
    {% endif %}
  {% endfor %}
{% endfor %}

如果在我有以下内容之前打印出来让我相信{% if file.path contains '{{ post.assets }}' %}应该有效,但事实并非如此。

jekyll-sw
/assets/posts/jekyll-sw/montezuma_sw.jpg

帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

当访问 if 语句中的变量时,避免用花括号包围它们,可以直接访问它,如:

{% if file.path contains post.assets %}
 urlsToCache.push("{{ file.path }}")
 {% endif %}