diff --git a/.astro/types.d.ts b/.astro/types.d.ts index 6893d47..9f260c8 100644 --- a/.astro/types.d.ts +++ b/.astro/types.d.ts @@ -1,7 +1,44 @@ +declare module 'astro:content' { + interface Render { + '.mdx': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + }>; + } +} +declare module 'astro:content' { + interface Render { + '.md': Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + }>; + } +} + declare module 'astro:content' { export { z } from 'astro/zod'; export type CollectionEntry = - (typeof entryMap)[C][keyof (typeof entryMap)[C]] & Render; + (typeof entryMap)[C][keyof (typeof entryMap)[C]]; + + // This needs to be in sync with ImageMetadata + export const image: () => import('astro/zod').ZodObject<{ + src: import('astro/zod').ZodString; + width: import('astro/zod').ZodNumber; + height: import('astro/zod').ZodNumber; + format: import('astro/zod').ZodUnion< + [ + import('astro/zod').ZodLiteral<'png'>, + import('astro/zod').ZodLiteral<'jpg'>, + import('astro/zod').ZodLiteral<'jpeg'>, + import('astro/zod').ZodLiteral<'tiff'>, + import('astro/zod').ZodLiteral<'webp'>, + import('astro/zod').ZodLiteral<'gif'>, + import('astro/zod').ZodLiteral<'svg'> + ] + >; + }>; type BaseSchemaWithoutEffects = | import('astro/zod').AnyZodObject @@ -57,14 +94,6 @@ declare module 'astro:content' { Required['schema'] >; - type Render = { - render(): Promise<{ - Content: import('astro').MarkdownInstance<{}>['Content']; - headings: import('astro').MarkdownHeading[]; - remarkPluginFrontmatter: Record; - }>; - }; - const entryMap: { "blog": { "an-update-on-my-ai-dating-profile.md": { @@ -73,126 +102,133 @@ declare module 'astro:content' { body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "ask-the-darn-question.md": { id: "ask-the-darn-question.md", slug: "ask-the-darn-question", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "building-ghalldev-30.md": { id: "building-ghalldev-30.md", slug: "building-ghalldev-30", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "coding-with-depression.md": { id: "coding-with-depression.md", slug: "coding-with-depression", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "creating-a-dating-profile-with-ai.md": { id: "creating-a-dating-profile-with-ai.md", slug: "creating-a-dating-profile-with-ai", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "getting-out-of-your-comfort-zone.md": { id: "getting-out-of-your-comfort-zone.md", slug: "getting-out-of-your-comfort-zone", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "handheld-gaming.md": { id: "handheld-gaming.md", slug: "handheld-gaming", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "ileopard-a-retrospective.md": { id: "ileopard-a-retrospective.md", slug: "ileopard-a-retrospective", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "my-favorite-little-apps-part-2.md": { id: "my-favorite-little-apps-part-2.md", slug: "my-favorite-little-apps-part-2", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "my-favorite-little-apps.md": { id: "my-favorite-little-apps.md", slug: "my-favorite-little-apps", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "my-gunpla-adventure.md": { id: "my-gunpla-adventure.md", slug: "my-gunpla-adventure", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "my-macos-home-directory-overview.md": { id: "my-macos-home-directory-overview.md", slug: "my-macos-home-directory-overview", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "my-top-3-games-of-2022.md": { id: "my-top-3-games-of-2022.md", slug: "my-top-3-games-of-2022", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "nextjs-13-and-exploring-new-technologies.md": { id: "nextjs-13-and-exploring-new-technologies.md", slug: "nextjs-13-and-exploring-new-technologies", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "nostalgia.md": { id: "nostalgia.md", slug: "nostalgia", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "on-text-editors.md": { id: "on-text-editors.md", slug: "on-text-editors", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, "reflecting-on-building-my-first-app.md": { id: "reflecting-on-building-my-first-app.md", slug: "reflecting-on-building-my-first-app", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, +"using-json-for-data-storage.md": { + id: "using-json-for-data-storage.md", + slug: "using-json-for-data-storage", + body: string, + collection: "blog", + data: InferEntrySchema<"blog"> +} & { render(): Render[".md"] }, "using-tailwind-with-mui-base.md": { id: "using-tailwind-with-mui-base.md", slug: "using-tailwind-with-mui-base", body: string, collection: "blog", data: InferEntrySchema<"blog"> -}, +} & { render(): Render[".md"] }, }, }; diff --git a/src/content/blog/nostalgia.md b/src/content/blog/nostalgia.md index 2d0fd96..722fd26 100644 --- a/src/content/blog/nostalgia.md +++ b/src/content/blog/nostalgia.md @@ -1,7 +1,7 @@ --- title: 'Nostalgia' pubDate: '2023-03-04' -tags: ['Life', 'Gaming', 'Movies'] +tags: ['Life', 'Gaming', 'Movies & TV'] --- I've recently been playing 2 games that would be considered "retro", but referring to them as such would make me feel old, so we'll call them "classics". These classics are Metroid Prime, via the recent remaster on Switch, and The Legend of Zelda: The Minish Cap, via the Switch Online GameBoy Advance collection. It got me thinking about how nostalgia can color our opinions of certain pieces of media, primarily when comparing media of a similar vintage. diff --git a/src/content/blog/using-json-for-data-storage.md b/src/content/blog/using-json-for-data-storage.md new file mode 100644 index 0000000..b0ef5f0 --- /dev/null +++ b/src/content/blog/using-json-for-data-storage.md @@ -0,0 +1,5 @@ +--- +title: 'More Swift Learnings: Using JSON For Data Storage' +pubDate: '4/9/23' +tags: ['MacOS', 'Learning', 'Programming'] +--- diff --git a/src/content/config.ts b/src/content/config.ts index 4f02e4a..86274fc 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -4,7 +4,23 @@ const blogCollection = defineCollection({ schema: z.object({ title: z.string(), pubDate: z.string().transform((str) => new Date(str)), - tags: z.array(z.string()), + tags: z.array( + z.union([ + z.literal('Apps'), + z.literal('Gaming'), + z.literal('Learning'), + z.literal('Life'), + z.literal('MacOS'), + z.literal('Music'), + z.literal('Making Stuff'), + z.literal('Mental Health'), + z.literal('Movies & TV'), + z.literal('Programming'), + z.literal('Tech'), + z.literal('Tutorial'), + z.literal('Web Dev'), + ]) + ), }), })