Как я могу добавить страницы, содержащие переменную «publish» в zola?

Хотелось бы иметь возможность добавлять в список опубликованных статей только документы, содержащие переменнуюpublish = trueв заголовке файла.

В каждую статью я добавил в шапку следующие строки:foo.md:

      +++
title = "Foo"
date = 2022-06-03
publish = true
+++

бар.мд:

      +++
title = "Bar"
date = 2022-06-03
publish = false
+++

Это код, который я пытался использовать в своем index.html для Zola:

          <h2 id="Articles">Articles</h2>
    <ul class="articles">
    {% set section = get_section(path="blog/_index.md") %}
    {% for page in section.pages %}
        {% if page.publish %}
            <li>
                <a href="{{ page.permalink | safe }}">{{ page.title }}</a>
                <p class="date">{{ page.date }}</p>
            </li>
        {% endif %}
    {% endfor %}

1 ответ

Просматривая документацию , я нашелdraftпеременная, которую можно использовать, чтобы определить, готов ли документ к публикации или нет.

В случае публикации переменнаяdraft = falseустанавливается внутри заголовка файла. Это будет выглядеть так:

      +++
title = "Foo"
date = 2022-03-23
draft = false
+++

и наоборот для тех случаев, когда вы хотите указать, что документ пока находится в черновом виде:

      +++
title = "Bar"
date = 2022-04-21
draft = true
+++

Никаких других изменений в код по умолчанию вносить не нужно:

          <h2 id="Articles">Articles</h2>
    <ul class="articles">
    {% set section = get_section(path="blog/_index.md") %}
    {% for page in section.pages %}
        <li>
            <a href="{{ page.permalink | safe }}">{{ page.title }}</a>
            <p class="date">{{ page.date }}</p>
        </li>
    {% endfor %}

Вывод для этого кода послеzola serveилиzola build:

      Articles

Другие вопросы по тегам