summaryrefslogtreecommitdiff
path: root/templates/partials/main_page_posts_list.html
diff options
context:
space:
mode:
Diffstat (limited to 'templates/partials/main_page_posts_list.html')
-rw-r--r--templates/partials/main_page_posts_list.html61
1 files changed, 61 insertions, 0 deletions
diff --git a/templates/partials/main_page_posts_list.html b/templates/partials/main_page_posts_list.html
new file mode 100644
index 0000000..067e178
--- /dev/null
+++ b/templates/partials/main_page_posts_list.html
@@ -0,0 +1,61 @@
+{%- 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 -%}