Ссылка на первый/последний пост

В партиале Hugo я хочу иметь ссылку на первое и последнее сообщение раздела. (Назовем это post)

Хотя я могу использовать очевидный обходной путь для первого поста (просто ссылка на /post/000, но это неудовлетворительно), ссылка на последний пост намного сложнее, потому что текущий последний пост меняется каждый раз, когда я добавляю новый пост.

Итак: как это сделать?


person Asqiir    schedule 26.05.2017    source источник
comment
Найти max id в таблице сообщений?   -  person u_mulder    schedule 26.05.2017
comment
Хьюго, не пользуйся никакими столами. Это файлы .md.   -  person Asqiir    schedule 27.05.2017
comment
Прав ли я, предполагая, что они первые и последние, упорядоченные по дате? Как в самом раннем посте и в последнем посте?   -  person Jack Taylor    schedule 30.05.2017


Ответы (2)


Вы можете сделать это, отфильтровав массив всех страниц вашего сайта по разделам, а затем выбрав первую и последнюю страницы в массиве. Вам не нужно сортировать список страниц, потому что они уже отсортированы по дате. Попробуйте следующее (хотя имейте в виду, я не проверял).

{{ $sectionPages := where .Site.Pages "Section" .Section }}
{{ range first 1 $sectionPages }}
  First page title: {{ .Title }}
}}
{{ range last 1 $sectionPages }}
  Last page title: {{ .Title }}
}}
person Jack Taylor    schedule 30.05.2017

У Hugo есть функции first и last: https://gohugo.io/functions/first/ https://gohugo.io/functions/last/

и вам гораздо больше повезет с вопросами, и на самом деле этот вопрос уже задавался на официальном форуме Hugo: https://discuss.gohugo.io/

person Bud Parr    schedule 27.05.2017