You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.8 KiB
HTML

{%- if paginator or extra_section -%}
<div id="posts-list">
<div>
{{ macros_page_header::page_header(title=section.title) }}
</div>
{# Check if both paginate_by and section_path are set #}
{%- set both_settings_set = paginator and extra_section -%}
{%- set paginator_has_no_pages = paginator and paginator.pages | length == 0 -%}
{%- set extra_section_has_pages = extra_section and extra_section.pages | length > 0 -%}
{# Display warning if both settings are set #}
{%- if both_settings_set and paginator_has_no_pages and extra_section_has_pages -%}
<div class="admonition warning">
<div class="admonition-icon admonition-icon-warning"></div>
<div class="admonition-content">
<strong class="admonition-title">WARNING: Conflicting Configuration</strong>
<p>
No posts are displayed due to conflicting settings in your <code>_index.md</code>:
</p>
<ul>
<li><code>paginate_by</code> is set, but there are no posts to paginate in the current section.</li>
<li><code>section_path</code> is set, and posts are available in that section.</li>
</ul>
<p>
<strong>Solution:</strong> Remove <code>paginate_by</code> from your <code>_index.md</code>.
To limit the number of displayed posts, use <code>max_posts</code> in the <code>[extra]</code> section instead.
</p>
</div>
</div>
{%- endif -%}
{# Get all posts for pinning if we're in root section with pagination #}
{%- if paginator and is_root_section -%}
{%- set root_section = get_section(path="_index.md") -%}
{%- set all_posts = root_section.pages -%}
{%- set pages = paginator.pages -%}
{%- elif paginator -%}
{%- set all_posts = paginator.pages -%}
{%- set pages = paginator.pages -%}
{%- else -%}
{%- set all_posts = extra_section.pages -%}
{%- set pages = extra_section.pages -%}
{%- endif -%}
{% set max_posts = section.extra.max_posts | default(value=999999) %}
{{ macros_list_posts::list_posts(
posts=pages,
all_posts=all_posts,
max=max_posts,
language_strings=language_strings,
section_path=extra_section.path | default(value="blog"),
pinned_first=is_root_section,
current_page=paginator.current_index | default(value=1)
) }}
</div>
{% if paginator and paginator.pages | length > 0 %}
{%- include "partials/paginate.html" -%}
{% endif %}
{%- endif -%}