Я использую Джекил на страницах GitHub, и я хочу, чтобы иметь иерархические категории, как это:иерархические категории в GitHub Pages
- животные -> млекопитающие -> Кошки -> _posts -> housecat.md, тигр .md
- животные -> млекопитающие -> собаки -> _posts -> poodle.md, doberman.md
- животных -> рептилии -> ящериц -> _posts -> iguana.md, chameleon.md
Я хочу, чтобы пользователи могли посетить /animals
и посмотреть список всех сообщений из каждой категории. Но если они пойдут на /animals/mammals
, они будут видеть только млекопитающих. Если они пойдут на /animals/mammals/cats
, тогда они видят только кошек.
Я знаю, что могу сделать это вручную, разместив файл index.html
в каждой отдельной директории, а затем, пройдя через site.categories.mammals
или site.categories.cats
.
Но это кажется немного слишком грубой силой, и я надеюсь, что есть лучший способ. Если я хочу изменить, как я показываю списки, мне придется изменить это в каждой отдельной подкатегории. У меня также будут проблемы, когда подкатегории имеют общее имя, например /ABC/XYZ/_posts/one.md
и /DEF/XYZ/_posts/two.md
.
Я пытался следовать this статью, которая использует одну главную страницу category.html
, что петли через page.category
:
{% for post in site.categories.[page.category] %}
<h2><a href=""></a></h2>
<p></p>
{% endfor %}
Затем каждый index.html
файл использует это в качестве макета. Это почти работает, но, по-видимому, оно ограничено одной категорией, а не несколькими иерархическими категориями.
Существует ли менее грубая сила для создания списков для иерархических категорий?
вы считаете ли написать плагин генератора? – wasthishelpful
@wsthishelpful Я честно не уверен, что это значит. Я также использую страницы GitHub, поэтому я ограничен тем, что они позволяют. –
Вы можете написать плагин к вашей установке jekyll для создания страниц категорий (см. Второй пример [здесь] (https://jekyllrb.com/docs/plugins/#generators)). Но действительно, если вы используете страницы GitHub, плагин не будет принят после того, как вы нажмете на свой репозиторий. Альтернативой может быть создание локального сайта, а затем использование статических файлов вашего сайта вместо источников jekyll (dixit [doc] (https://help.github.com/articles/adding-jekyll-plugins-to-a- github-pages-site /)) – wasthishelpful