summaryrefslogtreecommitdiff
path: root/sysret.org/themes/tabi-lean/templates/partials/main_page_posts_list.html
blob: 067e178785d1b1fb3c62ceba64a614c9dbbcbb75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 -%}