Доступ к csv в папке _data Jekyll с использованием тега include - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь упростить организацию и использование данных для веб-сайта Jekyll.Я пытаюсь получить доступ к отдельным строкам или значениям в CSV, что успешно с использованием этого фрагмента:

{%- include speclocator.html name="Thing" -%}

Данные расположены в папках в папке _data, как показано ниже:

_data/FOLDER1/specifications.csv, 
_data/FOLDER2/specifications.csv, 
_data/FOLDER3/specifications.csv,
etc.

Включение для доступа к CSV по именованному столбцу:

{%- for spec in site.data.FOLDER1.specifications -%}
{%- if spec.name == include.name -%}
{{ spec.value | strip }}
{% endif %}
{% endfor %}

Фрагмент в посте:

{%- for specification in site.data.FOLDER1.specifications -%}
<tr>
<td><strong>{{specification.name}}</strong></td>
<td>{{specification.value}}</td>
</tr>
{% endfor %}

Как я могу использовать переменную для FOLDER1, чтобы я мог использовать этоза несколько постов?

1 Ответ

0 голосов
/ 09 декабря 2018

Если вы хотите повторно использовать ваши включения для нескольких источников данных, вы можете использовать скобочные обозначения, например:

{%- include speclocator.html name="Thing" data_source="FOLDER1" -%}

или, если у вас есть переменная страницы, такая как data_source: FOLDER1

{%- include speclocator.html name="Thing" data_source=page.data_source -%}

В вашем числе:

{%- for spec in site.data[include.data_source]["specifications"] -%}
  {%- if spec.name == include.name -%}
    {{ spec.value | strip }}
  {% endif %}
{% endfor %}
...