还有另一种解决方案可以在GitHub上工作页面:
单个页面包含所有类别的所有帖子。
我在这里回答了类似的问题,我展示了如何做到这一点:
An easy way to support tags in a jekyll blog
在我的答案,我使用的标签,而不是类,但据我所知,无论是工作完全一样办法。
(所以你可以把我的代码和site.categories
更换site.tags
)
每个标签生成的HTML将是这个样子:
<h3 id="jekyll">jekyll</h3>
<ul>
<li>
<a href="/blah/">Newest Jekyll post</a>
</li>
<li>
<a href="/foo/">Older Jekyll post</a>
</li>
</ul>
这是它显示的页面每个类别的所有职位。
现在转到导航栏中的类别列表。
再次,看看上面的HTML:
得益于id="jekyll"
部分,你可以使用链接/tags/#jekyll
加载/tags/
页面,直接跳转到哲基尔标签。
在我的网站上,我正在使用这个连接到/tags/
页面的任何地方。
要创建您的导航栏这些链接,以及,你只需从你的问题采取的第一个示例代码和更改此:
<a name="{{ category | first }}">
...为此:
<a href="/tags/#{{ category | first }}">
(我只是假设您的类别页面的网址是/tags/
下为好,就像在我的例子)
所以完整的代码将看起来像:
{% for category in site.categories %}
<div class="categories-title"><a href="/tags/#{{ category | first }}">{{ category | first }}</a></div>
{% endfor %}
生成的HTML将具有类似下面的链路,为每个类别:
<div class="categories-title"><a href="/tags/#jekyll">jekyll</a></div>
编辑:
您在评论中写道:
I see that you have all tags with posts on one page. I have created a categories page and I would like to use this page as a template. While clicking each category in the navigation bar, I would like it to link to its own page.
在此期间,我写了关于建立独立的类别页面无需插件博客文章:
Separate pages per tag/category with Jekyll (without plugins)
您好,Christian,非常感谢您的帮助。我看到你有一个页面上的帖子的所有标签。我创建了一个分类页面,我想将此页面用作模板。在点击导航栏中的每个类别时,我希望链接到它自己的页面。我会尝试修改你的代码,并希望它有效。再次感谢:) – Jing 2014-10-06 21:05:59
例如,您可以使用插件来生成多个分类页面([this one](https://github.com/recurser/jekyll-plugins/blob/master/generate_categories.rb)),但这在GitHub页面上不起作用。如果因为任何原因你不能使用插件,你还有两个选择:a)我上面的解决方案*或* b)手工创建所有的分类页面作为单独的页面 – 2014-10-06 22:11:19
嗨,克里斯蒂安,我使用了你提到的插件,它工作。非常感谢。现在我得到一些并发症。我想建立一个多语言网站(en和cn)。我将帖子转移到单独的文件夹中,例如CN/_posts和EN/_posts。然后它搞砸了。现在我正在尝试使用jekyll-multi-languages插件,希望它可以工作。如果您有关于此的更多提示,请告诉我。 – Jing 2014-10-23 15:28:42