+11
-10
src/content/config.ts
+11
-10
src/content/config.ts
···
28
28
}),
29
29
});
30
30
31
-
const baseNav = z.object({
32
-
slug: z.string().or(z.literal(false)),
33
-
name: z.string(),
34
-
});
35
-
36
-
export type nav = z.infer<typeof baseNav> & {
31
+
export type nav = {
32
+
name: string;
33
+
url: string | false;
37
34
children?: nav[];
38
35
};
39
36
40
-
const navSchema: z.ZodType<nav> = baseNav.extend({
41
-
children: z.lazy(() => navSchema.array()),
42
-
});
37
+
const navSchema: z.ZodType<nav> = z.lazy(() =>
38
+
z.object({
39
+
name: z.string(),
40
+
url: z.string().or(z.literal(false)),
41
+
children: z.optional(z.array(navSchema)),
42
+
}),
43
+
);
43
44
44
45
const nav = defineCollection({
45
46
loader: file("src/content/navList.json"),
46
-
schema: navSchema,
47
+
schema: z.array(navSchema),
47
48
});
48
49
49
50
export const collections = { blog, blogMdx, nav };