Sort speakers by their most recent talks
This commit is contained in:
parent
7f8195d425
commit
0ea448b4b6
|
@ -4,7 +4,21 @@
|
|||
|
||||
<div class="mt-8">
|
||||
<div class="grid grid-cols-2 gap-10 px-4 mx-auto max-w-sm md:grid-cols-3 md:max-w-md lg:grid-cols-4 lg:gap-8 lg:max-w-full xl:grid-cols-6">
|
||||
{% for speaker in speakers|sort((a, b) => a.name <=> b.name) %}
|
||||
{% set speakersAndDates = [] %}
|
||||
|
||||
{% for speaker in speakers %}
|
||||
{% set talksForSpeaker = talks|default([])|filter(talk => talk.speaker == speaker.name) %}
|
||||
{% set mostRecentTalk = talksForSpeaker|first %}
|
||||
|
||||
{% set speakersAndDates = speakersAndDates|merge([{
|
||||
date: mostRecentTalk.date,
|
||||
speaker,
|
||||
}]) %}
|
||||
{% endfor %}
|
||||
|
||||
{% set sortedSpeakers = speakersAndDates|sort((a, b) => b.date <=> a.date) %}
|
||||
|
||||
{% for speaker in sortedSpeakers|column('speaker') %}
|
||||
<div>
|
||||
<a href="{{ speaker.url }}" class="flex flex-col-reverse gap-3 items-center group">
|
||||
<div class="text-center">
|
||||
|
|
|
@ -5,4 +5,5 @@ use: [speakers]
|
|||
|
||||
{% include 'speakers/recent-speakers' with {
|
||||
speakers: data.speakers,
|
||||
talks: site.talks,
|
||||
} %}
|
||||
|
|
Loading…
Reference in a new issue