按照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。我可以在回购中看到它们。
答案 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 %}