easimonenko Evgeny Simonenko

Добавил на сайт раздел "Проекты"

24 Jan 2022 |  Site News  |  Jekyll  

Добавил раздел “Проекты” для публикации информации о своих актуальных проектах. Давно хотел реализовать такую штуку. Но как? Было неочевидно. День работы и всё получилось. Теперь вкратце расскажу как это было сделано.

Меню сайта с разделом "Проекты"

Из документации на Jekyll стало понятно, что в этом мне помогут так называемые коллекции. Это концепция Jekyll для группировки сходных по смыслу сущностей. В нашем случае это проекты. Коллекции декларируются в _config.yml:

collections:
  projects:
    output: true
    title: Projects

Далее, создаём директорию для файлов, в которых будут описываться данные и контент сущностей коллекции. Имя директории должно начинаться с подчёркивания _ и далее называться так, как называется коллекция. В нашем случае _projects. На каждый элементы коллекции заводим отдельный файл. Опция output говорит Jekyll генерировать из этих файлов страницы.

Наконец, создаём страницу для списка всех проектов и соответствующий раздел на главной. Все коллекции доступны через объект site. Коллекция для проектов будет доступна под site.projects. Остальное дело техники, то есть пишем обычный код на Liquid.

Подробности смотри в исходниках этого блога, а также в репозитории шаблона, куда я помещаю все свои находки.

(c) Симоненко Евгений, 2022