在Jekyll中,我如何让paginator拥有规范网址?

时间:2015-01-29 05:51:27

标签: pagination jekyll

在我的Jekyll中,如何让我的博客分页器有一个规范的网址?

在我的基本模板中,我有:

<link rel="canonical" href="{{ site.url }}{{ page.url|remove:'index.html' }}">

我希望当我转到/blog/page2/时,元数据将为http://www.foo.com/blog/而我会看到<link rel="canonical" href="http://www.foo.com/blog/page2/">

如何为我的所有博客页面制作规范网址/ blog /?

以下是我的分页器的代码:

<!-- Pagination links -->
<div class="pagination">
  {% if paginator.previous_page %}
    <a href="{{ paginator.previous_page_path }}" class="previous">Previous</a>
  {% endif %}
  <span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
  {% if paginator.next_page %}
    <a href="{{ paginator.next_page_path }}" class="next">Next</a>
  {% endif %}
</div>

2 个答案:

答案 0 :(得分:3)

{% if page.url contains "blog/page" %}
{% assign canonical = "/blog/" %}
{% else %}
{% assign canonical = page.url|remove:'index.html' %}
{% endif %}
<link rel="canonical" href="{{ site.url }}{{ canonical }}">

答案 1 :(得分:0)

您还可以使用以下代码段在规范链接中允许其他域:

{% if page.canonical_url != nil %}
<link rel="canonical" href="{{ page.canonical_url }}"/>
{% else %}
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
{% endif %}