Jekyll集合没有在github.pages上工作

时间:2014-07-10 15:06:44

标签: jekyll github-pages

按照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页面上不可见,我无法访问该URL的帖子。该博客在github页面上工作正常,即主页上的所有site.posts都可见。

注意,我确实将文件推送到github。我可以在回购中看到它们。

2 个答案:

答案 0 :(得分:2)

我的第一个猜测是&#34; GitHub Pages&#34;仍然使用过时的Jekyll版本。

GitHub页面&#39; Dependency versions页面显示使用了Jekyll 1.5.1。 但是PR 2199在Jekyll 2.0.0中引入了集合功能,请参阅Jekyll History页面here

如果是这种情况,那么除非您在其他地方托管您的存储库,否则您无能为力,或者将已编译的源推送到GitHub页面。

答案 1 :(得分:2)

您无需使用Collection为帖子或页面生成自定义列表。

在你的前面添加:

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

带有flag == dev

的页面列表示例
{% for page in pages %}
    {% if page.flag == 'dev' %}
    <li><a href="{{ site.baseurl }}{{ page.url }}">{{ page.title }}</a></li>
    {% endif %}
{% endfor %}