首页 > 解决方案 > Middleman 博客分页显示所有文章

问题描述

我一直在尝试为我的中间人博客激活分页,但由于某种原因,即使分页本身似乎工作(如底部的按钮所示,引导我直到第三页),所有文章都显示在每个单独的页面上,而不仅仅是十个

config.rb 中的部分

activate :blog do |blog|
  blog.name = "en"
  blog.prefix = "blog"
  blog.permalink = "/{year}/{month}/{day}/{title}.html"
  blog.sources = "/posts/:year-:month-:day-:title.html"
  blog.layout = "blog_layout"
  blog.tag_template = "tag.html"
  blog.paginate = true
  blog.page_link = "page:num"
  blog.per_page = 10
end

博客索引.html

---
pageable: true  
blog: en
priority: 1.0
change_frequency: weekly
description: Tbd.
title: Blog
---
<div class="page-content">
  <div class="container">
    <ul class="blog-post-list">
        <% blog.articles.each do |article| %>
        <li>
          <a href="<%= article.url %>">
            <div>
              <img src="<%= article.data.image %>" class="blog-post-list__image" />
            </div>
            <div class="blog-post-list__post-preview">
              <p class="blog-post-list__title"><%= article.title %></p>
              <p><%= article.summary(140, '...') %></p>
              <span><%= article.date.strftime('%B %e, %Y') %></span>
            </div>
          </a>
        </li>
      <% end %>
      <ul class="paginate">
        <% if paginate && num_pages > 1 %>
            <% if prev_page %>
                <p class="previous"><%= link_to 'Previous page', prev_page %></p>
            <% end %>
        <% end %>
        <% if paginate %>
            <% if next_page %>
                <p class="next "><%= link_to 'Next page', next_page %></p>
            <% end %>
        <% end %>
    </ul>
  </ul>
  </div>
</div>

任何提示可能是这里的问题,无论如何都会导致所有文章显示,我们将不胜感激!提前致谢 :)

标签: htmlrubypaginationblogsmiddleman

解决方案


那不是因为您使用 blog.articles.each 而应该使用 page_articles 吗?我认为您必须更改 blog.articles.each (文章总数)并使用类似的东西<% page_articles.each do |article| %>来获取页面上所需的文章数。


推荐阅读