in _includes/queries.ts [104:135]
export function sortByFrontmatter(
items: EleventyCollectionItem[],
sortByOption?: string
) {
if (!sortByOption) {
return;
}
let sortOrder = 1;
if (sortByOption[0] === "-") {
sortOrder = -1;
sortByOption = sortByOption.substring(1);
}
switch (sortByOption) {
case "title":
items.sort((a, b) => {
const aTitle = a.data.title.toLowerCase();
const bTitle = b.data.title.toLowerCase();
return (aTitle > bTitle ? -1 : bTitle > aTitle ? 1 : 0) * sortOrder;
});
break;
case "date":
items.sort((a, b) => {
let result = a.page.date.getTime() - b.page.date.getTime();
return result * sortOrder;
});
break;
default:
break;
}
}