Есть еще одно решение, которое работает на GitHub Страницы:
Одна единственная страница, содержащая все сообщения для всех категорий.
Я отвечал на подобный вопрос здесь, где я показал, как это сделать:
An easy way to support tags in a jekyll blog
В моем ответе, я с помощью тегов, а не категорий, но, насколько я знаю, как работать точно так же, путь.
(так что вы можете просто взять мой код и заменить site.tags
на site.categories
)
Сгенерированный 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 }}">
(я просто предположим, что ваша страница категории находится под URL /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>
EDIT:
Вы написали в комментарии:
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)
привет, христианин, большое спасибо за вашу помощь. Я вижу, что у вас есть все теги с сообщениями на одной странице. Я создал страницу категорий, и я хотел бы использовать эту страницу в качестве шаблона. При нажатии каждой категории на панели навигации мне бы хотелось, чтобы она ссылалась на свою страницу. Я попытаюсь изменить ваши коды и получить работу, надеюсь. Еще раз спасибо :) – Jing
Вы можете использовать плагин для создания нескольких категорий страниц (например, [https://github.com/recurser/jekyll-plugins/blob/master/generate_categories.rb)), но что не будет работать на страницах GitHub. Если вы не можете использовать плагин по каким-либо причинам, у вас есть два варианта: a) мое решение выше * или * b) создайте все страницы категорий как отдельные страницы вручную –
Привет, христианин, я использовал плагин, на который вы ссылались, и он работал. Большое спасибо. Теперь я получаю некоторое осложнение. Я хотел бы создать многоязычные сайты (en и cn). Я переместил сообщения в отдельные папки, такие как CN/_posts и EN/_posts, например. Тогда это испортилось. Теперь я пытаюсь играть с подключением jekyll-multi-languages, надеюсь, это может сработать. если у вас есть дополнительные советы по этому поводу, пожалуйста, дайте мне знать. – Jing