{%- if paginator or extra_section -%}
{{ macros_page_header::page_header(title=section.title) }}
{# 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 -%}
WARNING: Conflicting Configuration

No posts are displayed due to conflicting settings in your _index.md:

  • paginate_by is set, but there are no posts to paginate in the current section.
  • section_path is set, and posts are available in that section.

Solution: Remove paginate_by from your _index.md. To limit the number of displayed posts, use max_posts in the [extra] section instead.

{%- 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) ) }}
{% if paginator and paginator.pages | length > 0 %} {%- include "partials/paginate.html" -%} {% endif %} {%- endif -%}