3

我将 Jekyll 用于静态站点,并尝试将博客生成为子目录/子文件夹:

http://example.com/blog

在运行jekyll之前的目录结构中,这个是blog/index.html。

我尝试通过向 _config.yml 添加“paginate: 5”来添加分页,但生成的 url 的形式为:

http://example.com/page2/

即没有“/博客”。这是通过以下方式解决的:

分页路径:/blog/page/:num

在 _config.yml 中。

但生成的页面位于:

http://example.com/blog/page/2/

不要使用 blog/index.html 作为他们的布局。他们使用根 index.html。那么,即使有 paginate_path 选项又有什么意义呢?

如何使用 Jekyll 在 example.com/blog 上获取我的博客,并带有分页功能?

4

2 回答 2

5

使用destination_config.yml 文件中的键来设置要将输出发布到的基本路径。例如,

paginate: 5
destination: _site/blog

请注意,假设您的站点设置为从“_site” jekyll 提供其根目录(例如“ http://example.com/”),jekyll不会在该位置生成“index.html”页面。jekyll 构建的所有内容都将位于“blog”目录下,但这听起来像是您所追求的。

于 2013-03-16T14:39:16.323 回答
2

我通过这个页面找到了一个修复程序基本上它涉及到一些技巧来确定你是否在博客的第 n 页上,然后包含一个文件来拉入你的博客部分。

_includes/custom/名为pagination. 在那有你的分页代码

<!-- 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 %}

<!-- Pagination links -->
<div class="pagination">
  {% if paginator.previous_page %}
    <a href="/page{{ paginator.previous_page }}" 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="/page{{ paginator.next_page }}" class="next">Next</a>
  {% else %}
    <span class="next ">Next</span>
  {% endif %}
</div>

现在在你的_layout/index.html添加

{% if paginator.page != 1 %}
{% include custom/pagination %}
{% else %}
The original content of index
{% endif %}
于 2013-12-11T15:49:37.293 回答