2016-06-21 5 views
0

Я хотел бы подразделить элементы сообщения в разделах, на как-то, создавая несколько элементов, а затем использую их в жидкости.Как сгруппировать «элементы» в Jekyll

Например, я попытался сделать это в пост вводной части:

element: some text 
element: some other text 
element: even more text 

Но если я пытаюсь ссылаться на те, в жидкости:

{% for elemento in post.element %} 
     {{ elemento }} 
{% endfor %} 

Тогда только последний «элемент» является считается.

Это заставляет меня думать, что вы не можете иметь несколько переменных с одним и тем же именем и цикл через них, потому что Jekyll будет читать только последний и игнорировать предыдущие с тем же именем.

Я не хочу использовать разные имена переменных (как в элементе1, element2 и т. Д.), Потому что каждое сообщение будет иметь различное количество элементов.

Что было бы для этого?

спасибо.

ответ

3

Вы можете использовать массив элементов в своем переднем деле.

elements : 
- valueOne 
- valueTwo 

или

elements: [valueOne, valueTwo] 

Затем, вы можете цикл в элементов:

Изнутри вашего поста или макет

<ul> 
{% for element in page.elements %} 
    <li>{{ element }}</li> 
{% endfor %} 
</ul> 

С внутри site.posts цикла:

{% for post in site.posts %} 
    {% for element in posts.elements %} 
    <li>{{ element }}</li> 
    {% endfor %} 
{% endfor %} 
+0

Спасибо, что отлично работало и было тем, что я искал. Мне просто пришлось заменить «страницу» на «пост». – Dakatine

+0

Кроме того, я должен использовать переменную element.element вместо «element» otherwhise, которая будет выглядеть так: {«element» => «text»}. Я отредактировал ответ соответственно. – Dakatine

+0

Я уточнил свой ответ, чтобы быть более точным. Вы можете использовать страницу или сообщение, это зависит от контекста. И, если вам нужно использовать 'element.element', это значит, что у вас есть массив' elements: [element: value1, element: value2] ', и у вас есть та же проблема, что и последнее значение, переопределяющее прежнее. Соответствующее использование - 'elements: [valueOne, valueTwo]' с указанными значениями или нет. –

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