2016-08-22 1 views
0

Предположим, у меня есть куча _data файлов, которые я использую для создания списка для определенных страниц. На всех страницах, у которых есть эти списки, есть пользовательская переменная главного значения pageName. Значение pageName просто так соответствует файлу _data со списком.Может ли жидкость для цикла содержать переменную страницы в Jekyll?

Вместо того, чтобы вставлять html-блоки кода на каждую страницу, я бы хотел использовать include, чтобы вытащить общий блок html. Для этого включение должно быть динамическим или содержать жидкую разметку, чтобы стать динамичной.

Это может быть больше контекста, чем нужно, но мой вопрос сводится к тому, что-то вроде этого можно:

{% for item in site.data.{{page.pageName}} %} 
    {{ item.label }} 
{% endfor %} 

Если я что-то отсутствует, это не работает, так что я желая узнать, есть ли способ достичь аналогичной функциональности.


Я нашел this similar question, но это, кажется, не ответить, может ли он быть использован для доступа к переменной странице для создания имени файла.

ответ

2

Вы можете использовать кронштейн обозначение, как это:

{% for item in site.data[page.pageName] %} 
+0

Есть ли способ применения фильтров обозначений квадратных скобок? –

+1

Нет! BUt вы можете '{% присваивать toto = page.sidebar | anyfilter%} {% assign sidebar = site.data.sidebars [toto]%} ' –