diff --git a/.astro/types.d.ts b/.astro/types.d.ts index 7c11548..33c8425 100644 --- a/.astro/types.d.ts +++ b/.astro/types.d.ts @@ -1,512 +1,405 @@ -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'; - - type Flatten = T extends { [K: string]: infer U } ? U : never; - - export type CollectionKey = keyof AnyEntryMap; - export type CollectionEntry = Flatten; - - export type ContentCollectionKey = keyof ContentEntryMap; - export type DataCollectionKey = keyof DataEntryMap; - - // This needs to be in sync with ImageMetadata - export type ImageFunction = () => 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'> - ] - >; - }>; + export type CollectionEntry = + (typeof entryMap)[C][keyof (typeof entryMap)[C]] & Render; type BaseSchemaWithoutEffects = | import('astro/zod').AnyZodObject - | import('astro/zod').ZodUnion<[BaseSchemaWithoutEffects, ...BaseSchemaWithoutEffects[]]> + | import('astro/zod').ZodUnion | import('astro/zod').ZodDiscriminatedUnion - | import('astro/zod').ZodIntersection; - - type BaseSchema = BaseSchemaWithoutEffects | import('astro/zod').ZodEffects; - - export type SchemaContext = { image: ImageFunction }; + | import('astro/zod').ZodIntersection< + import('astro/zod').AnyZodObject, + import('astro/zod').AnyZodObject + >; - type DataCollectionConfig = { - type: 'data'; - schema?: S | ((context: SchemaContext) => S); - }; + type BaseSchema = + | BaseSchemaWithoutEffects + | import('astro/zod').ZodEffects; - type ContentCollectionConfig = { - type?: 'content'; - schema?: S | ((context: SchemaContext) => S); + type BaseCollectionConfig = { + schema?: S; + slug?: (entry: { + id: CollectionEntry['id']; + defaultSlug: string; + collection: string; + body: string; + data: import('astro/zod').infer; + }) => string | Promise; }; + export function defineCollection( + input: BaseCollectionConfig + ): BaseCollectionConfig; - type CollectionConfig = ContentCollectionConfig | DataCollectionConfig; - - export function defineCollection(input: CollectionConfig): CollectionConfig; - + type EntryMapKeys = keyof typeof entryMap; type AllValuesOf = T extends any ? T[keyof T] : never; - type ValidContentEntrySlug = AllValuesOf['slug']; + type ValidEntrySlug = AllValuesOf<(typeof entryMap)[C]>['slug']; - export function getEntryBySlug | (string & {})>( + export function getEntryBySlug< + C extends keyof typeof entryMap, + E extends ValidEntrySlug | (string & {}) + >( collection: C, // Note that this has to accept a regular string too, for SSR entrySlug: E - ): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; - - export function getDataEntryById( - collection: C, - entryId: E - ): Promise>; - - export function getCollection>( + ): E extends ValidEntrySlug + ? Promise> + : Promise | undefined>; + export function getCollection>( collection: C, filter?: (entry: CollectionEntry) => entry is E ): Promise; - export function getCollection( + export function getCollection( collection: C, filter?: (entry: CollectionEntry) => unknown ): Promise[]>; - export function getEntry | (string & {})>(entry: { - collection: C; - slug: E; - }): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; - export function getEntry(entry: { - collection: C; - id: E; - }): E extends keyof DataEntryMap[C] ? Promise : Promise | undefined>; - export function getEntry | (string & {})>( - collection: C, - slug: E - ): E extends ValidContentEntrySlug ? Promise> : Promise | undefined>; - export function getEntry( - collection: C, - id: E - ): E extends keyof DataEntryMap[C] ? Promise : Promise | undefined>; - - /** Resolve an array of entry references from the same collection */ - export function getEntries( - entries: { - collection: C; - slug: ValidContentEntrySlug; - }[] - ): Promise[]>; - export function getEntries( - entries: { - collection: C; - id: keyof DataEntryMap[C]; - }[] - ): Promise[]>; - - export function reference( - collection: C - ): import('astro/zod').ZodEffects< - import('astro/zod').ZodString, - C extends keyof ContentEntryMap - ? { - collection: C; - slug: ValidContentEntrySlug; - } - : { - collection: C; - id: keyof DataEntryMap[C]; - } + type InferEntrySchema = import('astro/zod').infer< + Required['schema'] >; - // Allow generic `string` to avoid excessive type errors in the config - // if `dev` is not running to update as you edit. - // Invalid collection names will be caught at build time. - export function reference( - collection: C - ): import('astro/zod').ZodEffects; - type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; - type InferEntrySchema = import('astro/zod').infer< - ReturnTypeOrOriginal['schema']> - >; - - type ContentEntryMap = { - awards: { - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'awards'; - data: any; - } & { render(): Render['.md'] }; - }; - contact: { - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'contact'; - data: any; - } & { render(): Render['.md'] }; - }; - heritage: { - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'heritage'; - data: any; - } & { render(): Render['.md'] }; - }; - hero: { - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'hero'; - data: any; - } & { render(): Render['.md'] }; - }; - pillars: { - 'interdisciplinary.md': { - id: 'interdisciplinary.md'; - slug: 'interdisciplinary'; - body: string; - collection: 'pillars'; - data: any; - } & { render(): Render['.md'] }; - 'opensource.md': { - id: 'opensource.md'; - slug: 'opensource'; - body: string; - collection: 'pillars'; - data: any; - } & { render(): Render['.md'] }; - 'sustainable.md': { - id: 'sustainable.md'; - slug: 'sustainable'; - body: string; - collection: 'pillars'; - data: any; - } & { render(): Render['.md'] }; - }; - projects: { - '01_zenroom.md': { - id: '01_zenroom.md'; - slug: '01_zenroom'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '02_devuan.md': { - id: '02_devuan.md'; - slug: '02_devuan'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '03_interfacer.md': { - id: '03_interfacer.md'; - slug: '03_interfacer'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '04_reflow.md': { - id: '04_reflow.md'; - slug: '04_reflow'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '05_dowse.md': { - id: '05_dowse.md'; - slug: '05_dowse'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '06_gitzone.md': { - id: '06_gitzone.md'; - slug: '06_gitzone'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '07_fei0r.md': { - id: '07_fei0r.md'; - slug: '07_fei0r'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '08_dynebolic.md': { - id: '08_dynebolic.md'; - slug: '08_dynebolic'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - '09_tomb.md': { - id: '09_tomb.md'; - slug: '09_tomb'; - body: string; - collection: 'projects'; - data: any; - } & { render(): Render['.md'] }; - }; - supports: { - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'supports'; - data: any; - } & { render(): Render['.md'] }; - }; - testimonial: { - '01_tbazz.md': { - id: '01_tbazz.md'; - slug: '01_tbazz'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '02_avilarenata.md': { - id: '02_avilarenata.md'; - slug: '02_avilarenata'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '03_amir.md': { - id: '03_amir.md'; - slug: '03_amir'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '04_fn.md': { - id: '04_fn.md'; - slug: '04_fn'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '050_ola.md': { - id: '050_ola.md'; - slug: '050_ola'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '055_geert.md': { - id: '055_geert.md'; - slug: '055_geert'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '06_thgrugq.md': { - id: '06_thgrugq.md'; - slug: '06_thgrugq'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '07_bria.md': { - id: '07_bria.md'; - slug: '07_bria'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - '08_bruce.md': { - id: '08_bruce.md'; - slug: '08_bruce'; - body: string; - collection: 'testimonial'; - data: any; - } & { render(): Render['.md'] }; - }; - timeline: { - '10.md': { - id: '10.md'; - slug: '10'; - body: string; - collection: 'timeline'; - data: any; - } & { render(): Render['.md'] }; - '20.md': { - id: '20.md'; - slug: '20'; - body: string; - collection: 'timeline'; - data: any; - } & { render(): Render['.md'] }; - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'timeline'; - data: any; - } & { render(): Render['.md'] }; - }; - 'what-we-did': { - '10.md': { - id: '10.md'; - slug: '10'; - body: string; - collection: 'what-we-did'; - data: any; - } & { render(): Render['.md'] }; - '20.md': { - id: '20.md'; - slug: '20'; - body: string; - collection: 'what-we-did'; - data: any; - } & { render(): Render['.md'] }; - 'index.md': { - id: 'index.md'; - slug: 'index'; - body: string; - collection: 'what-we-did'; - data: any; - } & { render(): Render['.md'] }; - }; - 'what-we-do': { - '01_zenroom.md': { - id: '01_zenroom.md'; - slug: '01_zenroom'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '02_devuan.md': { - id: '02_devuan.md'; - slug: '02_devuan'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '03_interfacer.md': { - id: '03_interfacer.md'; - slug: '03_interfacer'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '04_reflow.md': { - id: '04_reflow.md'; - slug: '04_reflow'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '05_dowse.md': { - id: '05_dowse.md'; - slug: '05_dowse'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '06_gitzone.md': { - id: '06_gitzone.md'; - slug: '06_gitzone'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '07_fei0r.md': { - id: '07_fei0r.md'; - slug: '07_fei0r'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '08_dynebolic.md': { - id: '08_dynebolic.md'; - slug: '08_dynebolic'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - '09_tomb.md': { - id: '09_tomb.md'; - slug: '09_tomb'; - body: string; - collection: 'what-we-do'; - data: any; - } & { render(): Render['.md'] }; - }; - 'who-we-are': { - 'interdisciplinary.md': { - id: 'interdisciplinary.md'; - slug: 'interdisciplinary'; - body: string; - collection: 'who-we-are'; - data: any; - } & { render(): Render['.md'] }; - 'opensource.md': { - id: 'opensource.md'; - slug: 'opensource'; - body: string; - collection: 'who-we-are'; - data: any; - } & { render(): Render['.md'] }; - 'sustainable.md': { - id: 'sustainable.md'; - slug: 'sustainable'; - body: string; - collection: 'who-we-are'; - data: any; - } & { render(): Render['.md'] }; - }; + type Render = { + render(): Promise<{ + Content: import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + }>; }; - type DataEntryMap = { - books: { - books: { - id: 'books'; - collection: 'books'; - data: any; - }; - }; - menu: { - menu: { - id: 'menu'; - collection: 'menu'; - data: any; - }; - }; - social: { - index: { - id: 'index'; - collection: 'social'; - data: any; - }; - linktree: { - id: 'linktree'; - collection: 'social'; - data: any; - }; - }; - stats: {}; - }; + const entryMap: { + "awards": { +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "awards", + data: any +}, +}, +"contact": { +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "contact", + data: any +}, +}, +"heritage": { +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "heritage", + data: any +}, +}, +"hero": { +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "hero", + data: any +}, +}, +"pillars": { +"interdisciplinary.md": { + id: "interdisciplinary.md", + slug: "interdisciplinary", + body: string, + collection: "pillars", + data: any +}, +"opensource.md": { + id: "opensource.md", + slug: "opensource", + body: string, + collection: "pillars", + data: any +}, +"sustainable.md": { + id: "sustainable.md", + slug: "sustainable", + body: string, + collection: "pillars", + data: any +}, +}, +"projects": { +"01_zenroom.md": { + id: "01_zenroom.md", + slug: "01_zenroom", + body: string, + collection: "projects", + data: any +}, +"02_devuan.md": { + id: "02_devuan.md", + slug: "02_devuan", + body: string, + collection: "projects", + data: any +}, +"03_interfacer.md": { + id: "03_interfacer.md", + slug: "03_interfacer", + body: string, + collection: "projects", + data: any +}, +"04_reflow.md": { + id: "04_reflow.md", + slug: "04_reflow", + body: string, + collection: "projects", + data: any +}, +"05_dowse.md": { + id: "05_dowse.md", + slug: "05_dowse", + body: string, + collection: "projects", + data: any +}, +"06_gitzone.md": { + id: "06_gitzone.md", + slug: "06_gitzone", + body: string, + collection: "projects", + data: any +}, +"07_fei0r.md": { + id: "07_fei0r.md", + slug: "07_fei0r", + body: string, + collection: "projects", + data: any +}, +"08_dynebolic.md": { + id: "08_dynebolic.md", + slug: "08_dynebolic", + body: string, + collection: "projects", + data: any +}, +"09_tomb.md": { + id: "09_tomb.md", + slug: "09_tomb", + body: string, + collection: "projects", + data: any +}, +}, +"supports": { +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "supports", + data: any +}, +}, +"testimonial": { +"01_tbazz.md": { + id: "01_tbazz.md", + slug: "01_tbazz", + body: string, + collection: "testimonial", + data: any +}, +"02_avilarenata.md": { + id: "02_avilarenata.md", + slug: "02_avilarenata", + body: string, + collection: "testimonial", + data: any +}, +"03_amir.md": { + id: "03_amir.md", + slug: "03_amir", + body: string, + collection: "testimonial", + data: any +}, +"04_fn.md": { + id: "04_fn.md", + slug: "04_fn", + body: string, + collection: "testimonial", + data: any +}, +"050_ola.md": { + id: "050_ola.md", + slug: "050_ola", + body: string, + collection: "testimonial", + data: any +}, +"055_geert.md": { + id: "055_geert.md", + slug: "055_geert", + body: string, + collection: "testimonial", + data: any +}, +"06_thgrugq.md": { + id: "06_thgrugq.md", + slug: "06_thgrugq", + body: string, + collection: "testimonial", + data: any +}, +"07_bria.md": { + id: "07_bria.md", + slug: "07_bria", + body: string, + collection: "testimonial", + data: any +}, +"08_bruce.md": { + id: "08_bruce.md", + slug: "08_bruce", + body: string, + collection: "testimonial", + data: any +}, +}, +"timeline": { +"10.md": { + id: "10.md", + slug: "10", + body: string, + collection: "timeline", + data: any +}, +"20.md": { + id: "20.md", + slug: "20", + body: string, + collection: "timeline", + data: any +}, +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "timeline", + data: any +}, +}, +"what-we-did": { +"10.md": { + id: "10.md", + slug: "10", + body: string, + collection: "what-we-did", + data: any +}, +"20.md": { + id: "20.md", + slug: "20", + body: string, + collection: "what-we-did", + data: any +}, +"index.md": { + id: "index.md", + slug: "index", + body: string, + collection: "what-we-did", + data: any +}, +}, +"what-we-do": { +"01_zenroom.md": { + id: "01_zenroom.md", + slug: "01_zenroom", + body: string, + collection: "what-we-do", + data: any +}, +"02_devuan.md": { + id: "02_devuan.md", + slug: "02_devuan", + body: string, + collection: "what-we-do", + data: any +}, +"03_interfacer.md": { + id: "03_interfacer.md", + slug: "03_interfacer", + body: string, + collection: "what-we-do", + data: any +}, +"04_reflow.md": { + id: "04_reflow.md", + slug: "04_reflow", + body: string, + collection: "what-we-do", + data: any +}, +"05_dowse.md": { + id: "05_dowse.md", + slug: "05_dowse", + body: string, + collection: "what-we-do", + data: any +}, +"06_gitzone.md": { + id: "06_gitzone.md", + slug: "06_gitzone", + body: string, + collection: "what-we-do", + data: any +}, +"07_fei0r.md": { + id: "07_fei0r.md", + slug: "07_fei0r", + body: string, + collection: "what-we-do", + data: any +}, +"08_dynebolic.md": { + id: "08_dynebolic.md", + slug: "08_dynebolic", + body: string, + collection: "what-we-do", + data: any +}, +"09_tomb.md": { + id: "09_tomb.md", + slug: "09_tomb", + body: string, + collection: "what-we-do", + data: any +}, +}, +"who-we-are": { +"interdisciplinary.md": { + id: "interdisciplinary.md", + slug: "interdisciplinary", + body: string, + collection: "who-we-are", + data: any +}, +"opensource.md": { + id: "opensource.md", + slug: "opensource", + body: string, + collection: "who-we-are", + data: any +}, +"sustainable.md": { + id: "sustainable.md", + slug: "sustainable", + body: string, + collection: "who-we-are", + data: any +}, +}, - type AnyEntryMap = ContentEntryMap & DataEntryMap; + }; type ContentConfig = never; } diff --git a/public/.well-known/nostr.json b/public/.well-known/nostr.json new file mode 100644 index 0000000..e24d228 --- /dev/null +++ b/public/.well-known/nostr.json @@ -0,0 +1,7 @@ +{ + "names": { + "setto": "3f11abb2e235da2d4dda5d6deb2f123173476a745a3ca56895a1d0f632a42f40", + "jaromil": "whateverpublickeyheuses" + } +} +