Я недавно обнаружил Zola и Tera (платформы Rust для статически сгенерированных веб-сайтов) и нашел их удивительными.
Я пытаюсь отфильтровать страницы определенной категории для отображения в разделе на той же странице.Чтобы проиллюстрировать это, я написал такой код:
<div class="content">
{% block content %}
<div class="list-posts">
{% for page in section.pages %}
{% for key, taxonomy in page.taxonomies %}
{% if key == "categories" %}
{% set categories = taxonomy %}
{% for category in categories %}
{% if category == "rust" %}
<article>
<h3 class="post__title"><a href="{{ page.permalink }}">{{ page.title }}</a></h3>
</article>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
{% endblock content %}
</div>
Должно быть несколько разделов кода выше для различных категорий, например, "rust", "java" и т. Д.
Iнаписал код, чтобы объяснить мой вопрос, но это не так, как я хочу (и он не работает, когда дублируются разделы).
Как выполнить фильтрацию определенной категории при загрузке разделов / страниц?
Метаданные в файле содержимого:
title = "A web page title"
[taxonomies]
categories = ["rust"]
Если вы видите мой пример кода выше, я должен получить к нему доступ сначала через хэш-карту, а затем через массив, чтобы отфильтровать все страницы, которые являются «ржавчинными».
Фильтр ниже не работает:
for page in section.pages | filter(attribute="taxonomies.categories", value="rust"