還有另一種解決方案可以在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