Jekyll博客在非index.html页面上发布

时间:2014-09-25 21:42:42

标签: html jekyll liquid

我使用了Jekyll网站上面的代码片段在我的index.html页面上对Jekyll plog帖子进行了分页:

<div class="container">

         <ul class="post-list">
    <!-- This loops through the paginated posts -->
    {% for post in paginator.posts %}
      <h1><a href="{{ post.url }}">{{ post.title }}</a></h1>
      <p class="author">
        <span class="date">{{ post.date }}</span>
      </p>

      <div class="content">
        {{ post.content }}
      </div>
    {% endfor %}

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

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

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

  </ul>

    </div>

但是当我尝试将其添加到/pages/Blog.html页面时,它不起作用。它没有显示我的_posts目录中的任何帖子,而是生成并清空容器。我假设这是一个路径问题。

我已根据需要将YAML标头添加到Blog.html文件中。呈现页面时,它会生成一个空容器。

1 个答案:

答案 0 :(得分:15)

如果您想为帖子列表显示/pages/Blog/的网址:

  1. paginate: 5

  2. 中设置_config.yml来激活分页
  3. paginate_path: pages/Blog/page:num

  4. 中设置_config.yml
  5. 将/pages/Blog.html重命名为pages/Blog/index.html