feat(members): add members listing page

This commit introduces a new `/members` page to display a directory of alumni association members.

- Member data is sourced from a CSV file (`content/members/members.csv`) and managed via Nuxt Content.
- The page presents member information in a table, including calculated graduation class (`届别`).
- A link to the new page has been added to the main navigation.
- Minor UI tweaks and data corrections in other sections are also included.
This commit is contained in:
xiaomai
2025-11-02 21:53:33 +08:00
parent f5d9963f3c
commit 3da20d0097
11 changed files with 158 additions and 14 deletions

View File

@@ -36,7 +36,7 @@ export default defineContentConfig({
// 名人堂
hallOfFames: defineCollection({
type: "page",
source: "hall-of-fames/*md",
source: "hall-of-fames/*.md",
schema: z.object({
name: z.string(),
photo: z.string().url(),
@@ -45,5 +45,27 @@ export default defineContentConfig({
gallery: z.array(z.string()),
}),
}),
// 会员名册
members: defineCollection({
type: "data",
source: "members/members.csv",
schema: z.object({
// chinese_name: z.string(),
// english_name: z.string(),
// ic: z.string(),
// mobile: z.string(),
// home: z.string(),
// email: z.string(),
// graduate_level: z.string(),
// graduate_year: z.string(),
// marriage_status: z.string(),
// living_country: z.string(),
// address_line_1: z.string(),
// address_line_2: z.string(),
// address_line_3: z.string(),
// joined_year: z.string(),
// receipt_number: z.string(),
}),
}),
},
});