|
|
|
@ -6,6 +6,7 @@ import { MDXRemoteSerializeResult } from "next-mdx-remote"; |
|
|
|
|
import { serialize } from "next-mdx-remote/serialize"; |
|
|
|
|
|
|
|
|
|
const NEWS_PATH = path.join("content", "news"); |
|
|
|
|
const TERMS = ["winter", "spring", "fall"]; |
|
|
|
|
|
|
|
|
|
interface Metadata { |
|
|
|
|
author: string; |
|
|
|
@ -20,7 +21,8 @@ export interface News { |
|
|
|
|
export async function getNewsYears(): Promise<string[]> { |
|
|
|
|
return (await fs.readdir(NEWS_PATH, { withFileTypes: true })) |
|
|
|
|
.filter((dirent) => dirent.isDirectory()) |
|
|
|
|
.map((dirent) => dirent.name); |
|
|
|
|
.map((dirent) => dirent.name) |
|
|
|
|
.sort(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export async function getNewsTermsByYear(year: string): Promise<string[]> { |
|
|
|
@ -29,8 +31,9 @@ export async function getNewsTermsByYear(year: string): Promise<string[]> { |
|
|
|
|
withFileTypes: true, |
|
|
|
|
}) |
|
|
|
|
) |
|
|
|
|
.filter((dirent) => dirent.isDirectory()) |
|
|
|
|
.map((dirent) => dirent.name); |
|
|
|
|
.filter((dirent) => dirent.isDirectory() && TERMS.includes(dirent.name)) |
|
|
|
|
.map((dirent) => dirent.name) |
|
|
|
|
.sort((a, b) => TERMS.indexOf(a) - TERMS.indexOf(b)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export async function getNewsByTerm( |
|
|
|
|