jekyll / liquid-如何将变量作为参数传递给post.title contains语句?

时间:2018-08-06 20:05:34

标签: jekyll liquid

我正在尝试根据标题中包含的标签过滤循环结果。如果手动完成,效果会很好:

<article class="post-preview">
    <a href="{{ post.url | prepend: site.baseurl | replace: '//', '/' }}">
      {% if post.title contains "#hashtag" %}
      <br>
      <div class="float-left">
      {% include read-time.html %}
      </div>
      <h2 class="post-title">{{ post.title }}</h2>
      {% if post.subtitle %}
      <h3 class="post-subtitle">{{ post.subtitle }}</h3>
      {% else %}
      <h3 class="post-subtitle">{{ post.excerpt | strip_html | truncatewords: 15 }}</h3>
      {% endif %}
    </a>
    <p class="post-meta float-right">Posted by
      {% if post.author %}
        {{ post.author }}
      {% else %}
        {{ site.author }}
      {% endif %}
      on {{ post.date | date: '%B %d, %Y' }}</p><br>
      {% endif %}
  </article>

我想要实现的是能够使用变量而不是字符串:

例如

{%,如果post.title包含“ {{content}}”%}-(这种方式不起作用)

代替

{%,如果post.title包含“ #hashtag”%}

有没有一种方法可以将变量传递到post.title包含的内容,或者通过其他任何方式实现我的目标,即根据标题中的标签过滤for循环的结果?

1 个答案:

答案 0 :(得分:0)

只需在contains之后写入变量名。示例:

{% assign a = "Sample text" %}
{% assign b = "text" %}

{% if a contains b %}
    Variable 'a' contains the value of variable 'b'! :)
{% endif %}

在您的情况下,a将是post.title,而b将是content