无法使用 jekyll-paginate-v2 进行分页工作

Cannot get paganation using jekyll-paginate-v2 to work

我一直在寻找关于堆栈溢出和其他资源的类似问题的多个答案,但根本无法解决我的问题。

我有一个由 index.md 组成的页面,它有以下 frontmatter:

# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

title: title
layout: default
pagination: 
  enabled: true
---

这就是我列出我的 post 的方法:

    <!-- 
        Here is the main paginator logic called.
        All calls to site.posts should be replaced by paginator.posts 
    -->
    {% for post in paginator.posts %}
      <li>
        <span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>

        <h2>
          <a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
        </h2>
      </li>
    {% endfor %}
  </ul>

  <!-- 
    Showing buttons to move to the next and to the previous list of posts (pager buttons).
  -->
  {% if paginator.total_pages > 1 %}
  <ul class="pager">
      {% if paginator.previous_page %}
      <li class="previous">
          <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
      </li>
      {% endif %}
      {% if paginator.next_page %}
      <li class="next">
          <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
      </li>
      {% endif %}
  </ul>
  {% endif %}


<div class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}" class="previous">
      Previous
    </a>
  {% else %}
    <span class="previous">Previous</span>
  {% endif %}
  <span class="page_number ">
    Page: {{ paginator.page }} of {{ paginator.total_pages }}
  </span>
  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}" class="next">Next</a>
  {% else %}
    <span class="next ">Next</span>
  {% endif %}
</div>

我已将 gem 添加到插件列表和 gem 文件以及 运行 捆绑安装,我的配置如下所示:

pagination:
  enabled: true
  per_page: 3
  offset: 2
  permalink: '/page/:num/'
  title: ':title - page :num of :max'
  limit: 0
  sort_field: 'date'
  sort_reverse: true

但是当我 运行 bundle exec jekyll s 我的测试 post 没有列出。 但是如果我使用:

{% for post in site.posts%}
{{post.title}}
{% endfor %}

我的测试 post 是按我的意图列出的。任何可以帮助我的人,我做错了什么,我根本无法发现它。

您是否有将 offset: 2 包含在 _config.yml 中的具体原因?这将排除前 2 个帖子出现在分页中,因此如果您的项目中没有至少 3 个帖子,则不会显示任何内容。

尝试从您的配置文件中删除偏移行,重新运行 bundle exec jekyll serve,看看该功能是否有效。

有关偏移量的使用,请检查 jekyll-paginate-v2 README 部分 "Offsetting posts"。