Алфавитная сортировка данных .csv в жидкости с использованием неупорядоченного списка приводит к созданию пустого элемента списка.

Мне удалось отобразить данные из файла .csv в жидкости для моего веб-сайта jekyll в алфавитном порядке, но код, который я использую, просто добавляет пустой тег <li> в начало всего списка. Мне кажется, что за форматирование вывода отвечает "разделенный" фильтр, так что, возможно, в этом что-то есть.

Вот мой код в жидкости:

---
layout: default
---
{% capture thelistings %}
  {% for listing in site.data.terminology %}
    {{ listing.term }}: {{ listing.definition }}
  {% endfor %}
{% endcapture %}
{% assign allsortedlistings = thelistings | split:"    " | sort %}

<ul>
{% for allterms in allsortedlistings %}
<li>{{ allterms }}</li>
{% endfor %}
</ul>

вот файл данных .csv:

term,definition
brother,new explanation for one
aunt,another explanation for two
uncle,"and last one for three, with the use of comma fin"
father,this is it
again,now it is here
utah,this is a state
borrow,something from someone
forbidden,fruit

и вот список вывода:

  • again: now it is here
  • тетя: еще одно объяснение для двоих
  • заимствовать: что-то у кого-то
  • брат: новое объяснение для одного
  • отец: это он
  • Запретный плод
  • дядя: и последний на троих, с использованием запятой
  • Юта: это штат

person Miloš Miljković    schedule 26.02.2016    source источник


Ответы (1)


Проблема заключалась в том, как я выводил данные. При выполнении первого {% capture %} вам нужно отформатировать данные так, как вы хотите, чтобы они выводились, в этом случае я хотел, чтобы это был элемент списка, поэтому он должен выглядеть так <li>{{ listing.term }}: {{ listing.definition }}</li>, таким образом, обернув его внутри элемента <li>, а затем передав его присвоенный как {{ allterms }} внутри <ul>. Таким образом, окончательный код будет выглядеть так:

---
layout: default
---
{% capture thelistings %}
  {% for listing in site.data.terminology %}
    <li>{{ listing.term }}: {{ listing.definition }}</li>
  {% endfor %}
{% endcapture %}
{% assign allsortedlistings = thelistings | split:"   " | sort %}

    <ul>
{% for allterms in allsortedlistings %}
        {{ allterms }}
{% endfor %}
    </ul>
person Miloš Miljković    schedule 27.02.2016