【问题标题】:Jekyll not showing page1 in index.htmlJekyll 没有在 index.html 中显示 page1
【发布时间】:2015-11-24 14:42:27
【问题描述】:

当我 jekyll serve 时,分页在本地工作,这样我在第一页帖子中获得 index.html,但是当我推送和 travis 构建然后部署站点时,主页缺少前 10 个帖子。如果我导航到/page2,则有 11-20 个帖子。

我注意到我的源代码中的 index.html 在我部署时根本没有被渲染。但是当我在本地服务时它正在呈现。

什么可能导致帖子的第一页根本不呈现?

这是我的_config.yml 设置

paginate: 10
paginate_path: "page:num"

这是我的 ci 构建脚本

#!/usr/bin/env bash
set -e # halt script on error

gem install jekyll-paginate
bundle update
bundle exec jekyll build

这是 index.html 上显示的内容。但是,如果我手动转到/page2,则会显示 11-20 个帖子。所以它只是第一页的东西

更新:我刚刚检查了服务器,./_site/index.html 文件正在正确生成。但是以根目录结尾的 index.html 没有分页,没有页面……看起来像上图。我不确定为什么它没有被放在根目录中。

【问题讨论】:

  • 不是bundle exec jekyll build吗?
  • 您的 Gemfile 中应该有 jekyll-paginate。这也可以确保您在本地运行与构建服务器上相同的版本。如果这样做,问题是否仍然存在?
  • 是的,我在 gem 文件中有它
  • 我在 Jekyl v3.x 上遇到了完全相同的问题,但无法解决。我试过Jekyll Talk,但即使在那里他们也无法帮助我解决这个问题!

标签: jekyll jekyll-paginator


【解决方案1】:

试试这个方法: 在 _config.yml 中更改为 paginate_path: "/page:num"
并添加

<div class="pagination">
{% if paginator.previous_page %}<a class="new" href="{{ paginator.previous_page_path }}"></i> newst post </a>{% endif %}
{% if paginator.previous_page %} {%if paginator.next_page %} <span class="sep"></span> {% endif %}{% endif %}
{% if paginator.next_page %}<a class="olderpage" href="{{ paginator.next_page_path }}">oldest post</i> </a>{% endif %}

在 index.html 的最后一行

【讨论】:

  • 我在 index.html 中有这些。他们的帖子数量没有显示出来。按钮被禁用
  • 你是否将 (paginate_path: "page:num" ) 更改为 (paginate_path: "/page:num") ;在页面之前添加 / !?
  • 是的,两个都试过了。问题是它在本地生成根目录中的 index.html,但它在部署时不起作用。 page2 ... pagen 工作
猜你喜欢
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 2022-12-12
  • 2011-09-09
  • 2016-08-26
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
相关资源
最近更新 更多