Как передать лимитный параметр для включения с помощью Jekyll's Liquid - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть коллекция проектов на моем сайте, которую я перебираю, используя {% for project in site.projects %}, и храню их во включении под названием projects-list.html.

. Я бы хотел включить последний проект из этой коллекции на домашнюю страницу. в качестве «рекомендуемого» элемента - возможно ли включить projects-list, но передать параметр limit:1, чтобы отображался только первый проект? Основываясь на документах Jekyll, найденных здесь, я попытался передать параметр для включения следующим образом:

{% for project in site.projects limit:{{ include.limit }} %}

и ссылаться на включение следующим образом:

{% include projects-list.html limit=1 %}

но это не похоже на работу. Это синтаксическая ошибка или я что-то упустил?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Ниже мое текущее решение (с featured: true) добавлено в постфронтматер. Это действительно противно, но, кажется, работает сейчас:

<div class="project-list">
  {% if page.layout == "home" %}
    {% assign projects = site.projects | where: "featured", "true" %}
    {% for project in projects %}
      {% include project/project.html %}
    {% endfor %}
  {% else %}
    {% assign projects = site.projects %}
    {% for project in projects %}
      {% include project/project.html %}
    {% endfor %}
  {% endif %}
</div>
1 голос
/ 20 февраля 2020

Вы можете попробовать first

{% assign projectFeatured = site.projects | first %}

{% for projects in site.projects %} 
  {% include projects-list.html %} 
{% endfor %}

{% for projects in projectFeatured %}
 {% include projects-list.html %}
{% endfor %}

Хотя я призываю вас добавить featured: True в ваш пост и сделать что-то подобное:

{% if post.featured == true %}

 {% include post.html %}

 {% endif %}

https://shopify.github.io/liquid/filters/first/

...