Skip to content

Commit 2858cef

Browse files
sort members by lastname, keep m initial members unsorted
1 parent 7a0552c commit 2858cef

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

team/team.ejs

+28
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
<% items.forEach(item => {
2+
if (item.title === "Team Members") {
3+
// Update this to the number of initial members to keep unsorted
4+
const m = 2;
5+
6+
// Separate the first m members
7+
const firstMembers = item.members.slice(0, m);
8+
const remainingMembers = item.members.slice(m);
9+
10+
// Sort the remaining members by last name
11+
remainingMembers.sort((a, b) => {
12+
const lastNameA = a.name.split(' ').pop().toLowerCase();
13+
const lastNameB = b.name.split(' ').pop().toLowerCase();
14+
return lastNameA.localeCompare(lastNameB);
15+
});
16+
17+
// Recombine the arrays: unsorted first m members + sorted remaining members
18+
item.members = firstMembers.concat(remainingMembers);
19+
} else {
20+
// Sort all members by last name if title is not "Team Members"
21+
item.members.sort((a, b) => {
22+
const lastNameA = a.name.split(' ').pop().toLowerCase();
23+
const lastNameB = b.name.split(' ').pop().toLowerCase();
24+
return lastNameA.localeCompare(lastNameB);
25+
});
26+
}
27+
}); %>
28+
129
<!-- ::: {.panel-tabset} -->
230
<% for (const item of items) { %>
331

0 commit comments

Comments
 (0)