Middleman Blog分页显示所有文章

时间:2018-11-13 15:43:13

标签: html ruby pagination blogs middleman

我一直在尝试为我的Middleman Blog激活分页,但是由于某种原因,即使分页本身似乎可以工作(如底部的按钮所示,导致我转到第三页),但每篇文章均显示了所有文章。单个页面,而不是十个

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

博客Index.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>

任何提示都可能是问题所在,这将导致无论如何显示所有文章,将受到高度赞赏!在此先感谢:)

1 个答案:

答案 0 :(得分:1)

那不是因为您使用blog.articles.each而应该使​​用page_articles吗? 我认为您必须更改blog.articles.each(文章总数),并使用类似<% page_articles.each do |article| %>的方法来获取您想要在页面上显示的文章数。