2016-02-12 4 views
1

Как связать yml-данные с моей коллекцией?Jekyll: назначить данные для сбора?

Я бы предпочел, чтобы сохранить все мои данные о «проектах» в .yml файл следующим образом:

--- 
- id: project-A 
- title : Fancy project A 

--- 
- id: project-B 
- title : Fancy project-B 

... и у меня есть коллекция «проекты». я могу цикл по моему YML определенных проектов:
{% for case in site.data.projects | sort: 'order' %}

Но однажды на соответствующей странице «проект», как получить доступ к site.data.projects определенных данных? Есть ли все-таки я могу сказать Джекилу, чтобы увеличить коллекцию с этими данными?

ответ

1

Если вы меня понятите, вы можете использовать фильтр where.

{% assign related_project = site.data.projects | where: 'id', page.slug %}

И тогда петля через related_project. Использование 'page.slug' предполагает, что ваш слизень соответствует вашему идентификатору. Slug также доступен только в Jekyll 3.1, поэтому, если вы используете более раннюю версию, вам нужно построить slug (используя «url» и вытащив часть пути).

Это самый эффективный способ, который я знаю, делать это, но есть и другие.

Смежные вопросы