Фильтрация объектов шаблона данных в Hugo - PullRequest
0 голосов
/ 26 февраля 2019

Итак, я пытаюсь создать быструю страницу со списком деталей событий с помощью Hugo (впервые работаю с ним, так что терпите меня).

Я поместил две категории событий в два файла JSONи добавил их в /data/events/aevents.json и /data/events/bevents.json

Образец json

{
"devcon 1": {"evname": "Dev Con 1", "year": "2019", "date": "2020-05-12T23:29:49Z"}, 
"devcon2": {"evname": "Dev Con 1", "year": "2018", "date": "2018-05-12T23:29:49Z"}
}

Теперь, когда я использую

{{ range .Site.Data.events.aevents }}

все работает как положено. Но они не работают, когда я использую

{{ range .Site.Data.events }}

, который, как я думал, даст мне события из aevents.json и bevents.json.

Вторая часть

События json имеют свойство date.Когда я пытаюсь отфильтровать, чтобы просто показать предстоящие события, мой список пуст.Я играл с вариантами этого:

{{ range where .Site.Data.events.aevents "date" "ge" now }}

и пробовал кучу разных форматов даты.Любые советы о том, где я могу пойти не так?

1 Ответ

0 голосов
/ 28 февраля 2019

Первая часть

Фрагмент:

{{ range .Site.Data.events }}

Вы получите два объекта - один для событий и один для событий.Вам нужно будет сделать вложенный range для обработки отдельных событий в двух файлах.

{{ range .Site.Data.events }}
    {{ range . }}
       .....

Вторая часть

Не думаю, что это можетбыть сделано непосредственно в диапазоне, поэтому вам нужно будет отфильтровать впоследствии:

{{ range .Site.Data.events }}
  {{ range . }}
    {{ if .date > $date }}
      ...
...