From 3a697c09c09883e6f3eda57dc4f7ec7413415887 Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Mon, 16 Aug 2021 22:43:31 -0500 Subject: [PATCH 1/3] Add sorting --- lib/events.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/events.ts b/lib/events.ts index c73a4522..bf61fe8f 100644 --- a/lib/events.ts +++ b/lib/events.ts @@ -6,15 +6,19 @@ import { MDXRemoteSerializeResult } from "next-mdx-remote"; import { serialize } from "next-mdx-remote/serialize"; const EVENTS_PATH = path.join("content", "events"); +const TERMS = ["winter", "spring", "fall"]; export async function getYears(): Promise { return (await fs.readdir(EVENTS_PATH, { withFileTypes: true })) .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name); + .map((dirent) => dirent.name) + .sort(); } export async function getTermsByYear(year: string): Promise { - return await fs.readdir(path.join(EVENTS_PATH, year)); + return (await fs.readdir(path.join(EVENTS_PATH, year))).sort( + (a, b) => TERMS.indexOf(a) - TERMS.indexOf(b) + ); } interface Metadata { From 0792eb18b29fece54ea71d400372545bce844986 Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Mon, 16 Aug 2021 22:43:31 -0500 Subject: [PATCH 2/3] Add sorting --- lib/events.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/events.ts b/lib/events.ts index c73a4522..9acc15e7 100644 --- a/lib/events.ts +++ b/lib/events.ts @@ -6,15 +6,22 @@ import { MDXRemoteSerializeResult } from "next-mdx-remote"; import { serialize } from "next-mdx-remote/serialize"; const EVENTS_PATH = path.join("content", "events"); +const TERMS = ["winter", "spring", "fall"]; export async function getYears(): Promise { return (await fs.readdir(EVENTS_PATH, { withFileTypes: true })) .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name); + .map((dirent) => dirent.name) + .sort(); } export async function getTermsByYear(year: string): Promise { - return await fs.readdir(path.join(EVENTS_PATH, year)); + return ( + await fs.readdir(path.join(EVENTS_PATH, year), { withFileTypes: true }) + ) + .filter((dirent) => dirent.isDirectory() && TERMS.includes(dirent.name)) + .map((dirent) => dirent.name) + .sort((a, b) => TERMS.indexOf(a) - TERMS.indexOf(b)); } interface Metadata { From b32fd53d95b92a7dc2298151766e9f65bf927248 Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Mon, 16 Aug 2021 22:56:14 -0500 Subject: [PATCH 3/3] Remove unneeded dirent conversion --- lib/events.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/events.ts b/lib/events.ts index 9acc15e7..612e1608 100644 --- a/lib/events.ts +++ b/lib/events.ts @@ -58,12 +58,7 @@ export async function getEventsByTerm( year: string, term: string ): Promise { - return ( - await fs.readdir(path.join(EVENTS_PATH, year, term), { - withFileTypes: true, - }) - ) - .map((dirent) => dirent.name) + return (await fs.readdir(path.join(EVENTS_PATH, year, term))) .filter((name) => name.endsWith(".md")) .map((name) => name.slice(0, -".md".length)); }