Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jekyll-Paginate-v2向分页添加省略号_Jekyll - Fatal编程技术网

使用Jekyll-Paginate-v2向分页添加省略号

使用Jekyll-Paginate-v2向分页添加省略号,jekyll,Jekyll,我正在使用及其为我的博客创建分页。我有一切工作,但想添加一些省略号,以表明更多的网页。当你在第一页上时,最后一页应该在末尾显示,前面有省略号,并且在经过一定数量的页面后,第一页也应该显示省略号。如果到达最后一页,省略号应该消失 例如: < 1 2 3 4 5 6 7 8 8 10 ... 50 > < 1... 5 6 7 8 9 10 ... 50> < 1... 5 6 7 8 9 10 ... 50> 带路径的分页 {% if paginator.total_

我正在使用及其为我的博客创建分页。我有一切工作,但想添加一些省略号,以表明更多的网页。当你在第一页上时,最后一页应该在末尾显示,前面有省略号,并且在经过一定数量的页面后,第一页也应该显示省略号。如果到达最后一页,省略号应该消失

例如:

< 1 2 3 4 5 6 7 8 8 10 ... 50 >
< 1... 5 6 7 8 9 10 ... 50>
<1234567810。。。50 >
< 1... 5 6 7 8 9 10 ... 50>
带路径的分页

{% if paginator.total_pages > 1 %}
    <div class="pagination">
        {% if paginator.previous_page %}
            <a href='{{ paginator.previous_page_path | prepend: site.baseurl }}' class='prev'>Previous</a>
        {% endif %}

        {% if paginator.page_trail %}
            {% for trail in paginator.page_trail %}
                <a href="{{ trail.path | prepend: site.baseurl | replace: '//', '/' | remove: "index.html" }}" class='{% if page.url == trail.path %}current{% endif %}'>{{ trail.num }}</a>
            {% endfor %}
        {% endif %}

        {% if paginator.next_page %}
            <a href='{{ paginator.next_page_path | prepend: site.baseurl }}' class='next'>Next</a>
        {% endif %}
    </div>
{% endif %}
{%if paginator.total_pages>1%}
{%if paginator.previous_page%}
{%endif%}
{%if paginator.page_trail%}
{paginator.page_trail%}
{%endfor%}
{%endif%}
{%if paginator.next_page%}
{%endif%}
{%endif%}

您需要为需要这些省略号的位置添加一些条件。这是未经测试的,但它可能会让您开始:

<div class="pagination">
  {% if paginator.total_pages > 1 %}
    <ul>
      {% if paginator.previous_page %}
        <li><a href="{{ paginator.previous_page_path | replace: '//', '/' }}">&lt;</a></li>
      {% endif %}

      {% for page in (1..paginator.total_pages) %}

        {% assign last_five = forloop.length | minus: 4 %}
        {% assign last_page = forloop.length %}

        {% if forloop.length > 5 %}

          {% if paginator.page <= 5 %}

            {% if forloop.index <= 5 %}
              {% if forloop.first and page == paginator.page %}
                <li class="current-page"><span>{{ page }}</span></li>
              {% elsif forloop.first %}
                <li><a href="{{ page_root }}">1</a></li>
              {% elsif page == paginator.page %}
                <li class="current-page"><span>{{ page }}</span></li>
              {% else %}
                <li><a href="{{ page_path | append: page }}">{{ page }}</a></li>
              {% endif %}
            {% else %}
              {% if paginator.page == 5 %}
                <li><a href="{{ page_path }}6">6</a></li>
              {% endif %}
              <li>…</li>
              <li><a href="{{ page_path | append: last_page }}">{{ last_page }}</a></li>
              {% break %}
            {% endif %}

          {% elsif paginator.page >= last_five %}

            {% if forloop.index >= last_five %}
              {% if forloop.index == last_five %}
                <li><a href="{{ page_root }}">1</a></li>
                <li>…</li>
                {% if page == last_five %}
                  <li><a href="{{ page_path }}{{ page | minus: 1 }}">{{ page | minus: 1 }}</a></li>
                {% endif %}
                {% if page == paginator.page %}
                  <li class="current-page"><span>{{ page }}</span></li>
                {% else %}
                  <li><a href="{{ page_path | append: page }}">{{ page }}</a></li>
                {% endif %}
              {% elsif forloop.last and page == paginator.page %}
                <li class="current-page"><span>{{ page }}</span></li>
              {% elsif page == paginator.page %}
                <li class="current-page"><span>{{ page }}</span></li>
              {% else %}
                <li><a href="{{ page_path | append: page }}">{{ page }}</a></li>
              {% endif %}
            {% endif %}


          {% else %}

            {% if forloop.first %}
              <li><a href="{{ page_root }}">1</a></li>
            {% endif %}
            {% if forloop.index == paginator.page | minus: 2 %}
              <li>…</li>
              <li><a href="{{ page | minus: 2 | prepend: page_path }}">{{ page | minus: 2 }}</a></li>
            {% endif %}
            {% if forloop.index == paginator.page | minus: 1 %}
              <li><a href="{{ page | minus: 1 | prepend: page_path }}">{{ page | minus: 1 }}</a></li>
            {% endif %}
            {% if page == paginator.page %}
              <li class="current-page"><span>{{ page }}</span></li>
            {% endif %}
            {% if forloop.index == paginator.page | plus: 1 %}
              <li><a href="{{ page | plus: 1 | prepend: page_path }}">{{ page | plus: 1 }}</a></li>
            {% endif %}
            {% if forloop.index == paginator.page | plus: 2 %}
              <li><a href="{{ page | plus: 2 | prepend: page_path }}">{{ page | plus: 2 }}</a></li>
              <li>…</li>
            {% endif %}
            {% if forloop.last %}
              <li><a href="{{ page_path | append: forloop.index }}">{{ forloop.index }}</a></li>
            {% endif %}

          {% endif %}

        {% else %}

          {% if page == paginator.page %}
            <li class="current-page"><span>{{ page }}</span></li>
          {% elsif page == 1 %}
            <li><a href="{{ page_root }}">{{ page }}</a></li>
          {% else %}
            <li><a href="{{ page_path | append: page }}">{{ page }}</a></li>
          {% endif %}

        {% endif %}

      {% endfor %}


      {% if paginator.next_page %}
        <li><a href="{{ paginator.next_page_path | replace: '//', '/' }}">&gt;</a></li>
      {% endif %}
    </ul>
  {% endif %}
</div>

{如果paginator.total_pages>1%,则为%1}
    {%if paginator.previous_page%}
  • {%endif%} {(1..paginator.total_pages)%%中的页面占% {%assign last_five=forloop.length |减:4%} {%assign last_page=forloop.length%} {%if-forloop.length>5%} {%if paginator.page=last_five%} {%if-forloop.index==last_-five%}
  • {%if page==last_five%}
  • {%endif%} {%if page==paginator.page%}
  • {{page}
  • {%else%}
  • {%endif%} {%elsif forloop.last和page==paginator.page%}
  • {{page}
  • {%elsif page==paginator.page%}
  • {{page}
  • {%else%}
  • {%endif%} {%endif%} {%else%} {%if-forloop.first%}
  • {%endif%} {%if-forloop.index==paginator.page |减:2%}
  • {%endif%} {%if-forloop.index==paginator.page |减:1%}
  • {%endif%} {%if page==paginator.page%}
  • {{page}
  • {%endif%} {%if-forloop.index==paginator.page | plus:1%}
  • {%endif%} {%if-forloop.index==paginator.page | plus:2%}
  • {%endif%} {%if-forloop.last%}
  • {%endif%} {%endif%} {%else%} {%if page==paginator.page%}
  • {{page}
  • {%elsif页面==1%}
  • {%else%}
  • {%endif%} {%endif%} {%endfor%} {%if paginator.next_page%}
  • {%endif%}
{%endif%}