Jekyll集合在Github Pages上无法正常工作

3

按照Jekyll文档http://jekyllrb.com/docs/collections/中的说明,我在我的Jekyll博客中为开发人员相关的帖子创建了一个集合。

collections:
  developer:
    output: true

在jekyll页面上,我尝试像这样输出帖子列表:
  <ul class="posts">
    {% for post in site.developer %}

      <li>
        <span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span>
        <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>

       <p>{{ post.excerpt }}</p>
      </li>

    {% endfor %}
  </ul>

这在我的本地机器上可以运行。我可以查看来自该集合的一篇文章。

http://localhost:4000/developer/2014-07-07-blah-blah.html  

在开发者页面上,可以看到开发者职位列表:

http://localhost:4000/developer/

然而,清单在Github页面上不可见,我也无法访问该网址的文章。但是,在Github页面上博客本身运行正常,即主页上的所有“site.posts”都可见等。请注意,我已将文件推送到GitHub。我可以在存储库中看到它们。

我们能看到 GitHub 仓库吗? - David Jacquel
2个回答

2

您不需要使用Collection来生成帖子或页面的自定义列表。

在您的前置元数据中添加:

---
...
flag: dev
---

一个带有标志== dev 的页面列表示例

{% for page in pages %}
    {% if page.flag == 'dev' %}
    <li><a href="{{ site.baseurl }}{{ page.url }}">{{ page.title }}</a></li>
    {% endif %}
{% endfor %}

但是你需要为分页做些什么。 - Kevin

2
我的第一个猜测是,“GitHub Pages”仍在使用过时版本的Jekyll。
GitHub Pages的依赖版本页面显示正在使用Jekyll 1.5.1。但是,集合功能是通过PR 2199在Jekyll 2.0.0中引入的,请参见Jekyll历史页面此处
如果是这种情况,除非您将存储库托管在其他地方或将编译后的源代码推送到GitHub Pages,否则您无法做任何事情。

截至2014年8月21日,正在使用Jekyll 2.2。这是否表示现在可以使用集合? - ryantuck
1
@RyanTuck 是的。它现在正在我的Jekyll构建中使用。 - tom_mai78101

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接