diff --git a/src/content/authors/nobbz.mdx b/src/content/authors/nobbz.mdx index 8595733..1cca7e3 100644 --- a/src/content/authors/nobbz.mdx +++ b/src/content/authors/nobbz.mdx @@ -3,16 +3,19 @@ slug: "nobbz" first_name: "Norbert" last_name: "Melzer" nick_name: "NobbZ" +funding: + amazon: https://www.amazon.de/hz/wishlist/ls/1GZRUIT9EP93R?ref_=wl_share + github: "NobbZ" + kofi: "nobbz" + patreon: "nobbz_dev" + polar: "NobbZ" social: - amazon: "https://www.amazon.de/hz/wishlist/ls/1GZRUIT9EP93R?ref_=wl_share" github: "NobbZ" gitlab: "NobbZ" - ko-fi: "nobbz" linkedin: "norbert-melzer-a175829a" twitter: "NobbZ1981" - web: - url: "https://blog.nobbz.dev/" - name: "NobbZ Blog" +web: + homepage: "https://blog.nobbz.dev/" --- Norbert is a software developer from Germany, whos primary language is [Elixir]. diff --git a/src/content/config.ts b/src/content/config.ts index 86ecd49..ac75575 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,24 +1,34 @@ import { defineCollection, z, reference } from "astro:content"; +const fallback = z.object({ + icon: z.string().url(), + displayText: z.string(), + href: z.string().url(), +}).partial({ icon: true }); + const authors = defineCollection({ type: "content", schema: z.object({ first_name: z.string(), last_name: z.string(), nick_name: z.string(), + funding: z.object({ + amazon: z.string().url(), + github: z.string(), + kofi: z.string(), + patreon: z.string(), + polar: z.string(), + }).catchall(fallback).partial(), social: z.object({ - amazon: z.string(), github: z.string(), gitlab: z.string(), - "ko-fi": z.string(), linkedin: z.string(), twitter: z.string(), - web: z.object({ - url: z.string(), - name: z.string(), - }), - }), - }), + }).catchall(fallback).partial(), + web: z.object({ + homepage: z.string().url(), + }).catchall(fallback).partial(), + }).partial().required({ nick_name: true }), }); const blog = defineCollection({