【问题标题】:Paginate with GH Pages's default plugins?使用 GH Pages 的默认插件进行分页?
【发布时间】:2018-03-01 14:25:25
【问题描述】:

我正在尝试在 GH Pages 上填充我的小型博客。我被 Jekyll 分页卡住了。

这是我的_config.yml

theme: jekyll-theme-cayman

title: iBug @ GitHub
url: https://ibug.github.io/
tagline: The small personal site for iBug
description: The small personal site for iBug
author: iBug
show_downloads: false

plugins:
  - jekyll-paginate
  - jekyll-redirect-from
  - jekyll-mentions
  - jekyll-seo-tag

paginate: 5
paginate_path: "/blog/page:num/"

这是那里唯一帖子的内容:

---
layout: blog
permalink: /p/1
---

# Test Post

Nothing here

我想要/blog 上的分页索引页面,以及/blog/page# 上的后续页面(其中# 是一个数字)。我复制了一个示例 index.html 并将其放在我的仓库中的 /blog/index.html

但是当我导航到 https://ibug.github.io/blog 时,它只是显示如下:

{% if paginator.total_pages > 1 %} {% if paginator.previous_page %} « Prev {% else %} « Prev {% endif %} {% for page in (1..paginator.total_pages) %} {% if page == paginator.page %} {{ page }} {% elsif page == 1 %} {{ page }} {% else %} {{ page }} {% endif %} {% endfor %} {% if paginator.next_page %} @ 987654325@ {% else %} 下一个 » {% endif %} {% endif %}

阅读 GH 文档后,我了解到 jekyll-paginate 是默认插件,无法禁用,因此它不应该以这种方式工作。

我在/_posts/2018-03-01-first-post.md 也有一个虚拟帖子,它正确显示在https://ibug.github.io/2018/03/01/first-post

我不想安装 Ruby 开发环境和其他东西。我只想使用 GH Pages 的内置功能。

我可以在/blog/blog/pageN 获得索引吗?

【问题讨论】:

    标签: jekyll github-pages jekyll-paginator


    【解决方案1】:

    查看您的源代码,这可能是您博客子目录中的index.html 文件的问题。

    您需要在希望由 Jekyll 处理的任何文件中包含前面的内容,即使它不包含键/值数据。如果没有这个,Jekyll 会假定它是一个静态资产,并且会在构建时将其直接复制到您的 _site 目录中。

    index.html 文件的顶部添加它应该可以解决它:

    ---
    ---
    content here
    

    您还需要确保您确实在该页面上显示帖子,而不仅仅是分页导航。所以一定要在它上面加上这样的东西:

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

    作为旁注,您可能希望在您的 _config.yml 中查看 setting defaults 以获取帖子永久链接。这比在每个帖子上定义链接要干净得多。

    【讨论】:

    • 你能告诉我为什么theme: jekyll-theme-cayman 没有应用于我的博客帖子吗?
    • @iBug 看起来您正在为您的帖子指定“博客”布局,但 Cayman 主题只有一个“默认”布局选项 (view here)。因此,您需要为每个页面的前端设置布局值以使用“默认”。您可以通过设置global defaults 来简化此操作。
    • 感谢您的解释。
    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 2015-12-13
    • 2013-09-01
    • 2018-02-02
    • 2022-11-26
    • 2014-12-16
    • 2021-08-01
    • 2013-09-23
    相关资源
    最近更新 更多