where
Синтаксис фильтра:
{% assign res = array | where: "key", "expected value" %}
но вы изменили порядок аргументов:
{% assign res = hash | where: "expected value", "key" %}
см. Документацию по jekyll здесь
Итак, вы можете заменить
{% assign defenses = site.defense | where:"true", "page.sticky" | limit:1 %}
{% assign defense = defense[0] %}
от
{% assign defense = site.defense | where: "sticky", "true" | first %}
примечания:
Редактировать : если вы хотите получить некоторые элементы из постов, страниц или коллекции, в зависимости от основной переменной, вы можете сделать:
{% assign items = site.anycollection | where: "any_key", "string_value" %}
Вы можете затем распечатать что-нибудь из этого результирующего массива, используя цикл for и, в конечном итоге, limit
и offset
параметры .
{% for item in items limit:2 %}
and so on ....