发布建立Jekyll博客帖子页面和分页的问题

时间:2013-11-15 06:34:28

标签: templates pagination jekyll

我今晚在my website添加了分页,然后我遇到了问题,现在我已经打破了整个网站。

我正在使用文件的标准Jekyll目录结构。对于我的网站,我希望索引页面与我有关,然后点击/blog页面查看我的博客。所以我有index.md是由主页。然后我有一个页面blog.html是博客页面。我过去常常使用{% for post in site.posts limit: 10 %}根据最新文档推荐循环的方式切换到{% for post in paginator.posts %}并且它已经崩溃了。在我的_config.yml文件中,我有:

paginate: 10
paginate_path: "blog/page:num"
permalink: /blog/:year/:month/:day/:title.html

我希望分页为/blog/page2.html。我不确定我配置错了什么。这是我的整个blog.html页面:

---
title: Blog
layout: default
permalink: /blog/index.html
---

{% for post in paginator.posts %}
<div class="row">
    <div class="col-lg-12">
        {% if post.layout contains "link" %}
        <h4><a href="{{post.url}}"><i class="icon-link"></i>&nbsp;{{post.title}}</a></h4>
        {% else %}
        <h4><a href="{{post.url}}">{{post.title}}</a></h4>
        {% endif %}
        <small>{{post.date | date: "%m/%d/%Y"}}</small>
        <div class="post-content-truncate">
            {% if post.content contains "<!-- more -->" %}
                {{ post.content | split:"<!-- more -->" | first % }}
                <a href="{{post.url}}">Read full article...</a>
            {% else %}
                {{ post.content }}
            {% endif %}
        </div>
    </div>
</div>
{% endfor %}

{% if paginator.total_pages > 1 %}
<div class="row">
    <div class="col-lg-12">
            <ul class="pagination">
                {% if paginator.previous_page %}
                    <li><a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&laquo; Prev</a></li>
                {% else %}
                    <span>&laquo; Prev</span>
                {% endif %}

                {% for page in (1..paginator.total_pages) %}
                    {% if page == paginator.page %}
                        <li><em>{{ page }}</em></li>
                    {% elsif page == 1 %}
                        <li><a href="{{ '/index.html' | prepend: site.baseurl | replace: '//', '/' }}">{{ page }}</a></li>
                    {% else %}
                        <li><a href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', page }}">{{ page }}</a></li>
                    {% endif %}
                {% endfor %}

                {% if paginator.next_page %}
                    <li><a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Next &raquo;</a></li>
                {% else %}
                    <li><span>Next &raquo;</span></li>
                {% endif %}
            </ul>
    </div>
</div>
{% endif %}

关于我哪里出错的任何想法?

1 个答案:

答案 0 :(得分:2)

问题实际上是两个问题:

  1. 我使用的是旧版Jekyll。一旦我升级到最新版本,它几乎正常工作。
  2. 我必须将我的/blog.html文件放入/blog/index.html
  3. 一旦我完成了这两个步骤,就可以了。