diff --git a/source/_includes/speakers/recent-speakers.html.twig b/source/_includes/speakers/recent-speakers.html.twig index 78101e0..eb65eb3 100644 --- a/source/_includes/speakers/recent-speakers.html.twig +++ b/source/_includes/speakers/recent-speakers.html.twig @@ -4,7 +4,21 @@
- {% 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') %}
diff --git a/source/index.html.twig b/source/index.html.twig index 0eb2070..441bbd3 100644 --- a/source/index.html.twig +++ b/source/index.html.twig @@ -5,4 +5,5 @@ use: [speakers] {% include 'speakers/recent-speakers' with { speakers: data.speakers, + talks: site.talks, } %}