/
superwizard
/
jjoy-site
Обзор
Документация
Войти
/
superwizard
/
jjoy-site
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/content.config.ts
71 строка
2 KB
Denis Burlaka
Фикс
13 окт 2025, 00:24
13 окт 2025, 00:24
3797d37
Код
Авторство
О чём код?
import { glob } from 'astro/loaders'; import { defineCollection, z } from 'astro:content'; const meetups = defineCollection({ loader: glob({ base: './src/content/meetups', pattern: '**/*.{md,mdx}' }), schema: z.object({ title: z.string(), description: z.string(), authors: z.array(z.string()), // Transform string to Date object pubDate: z.coerce.date(), updatedDate: z.coerce.date().optional(), heroImage: z.string().optional(), place: z.string().optional() }) }); const partners = defineCollection({ loader: glob({ base: './src/content/partners', pattern: '**/*.{md,mdx}' }), schema: z.object({ name: z.string(), year: z.number(), photo: z.string().optional(), site: z.string().optional() }) }); const reports = defineCollection({ loader: glob({ base: './src/content/reports', pattern: '**/*.{md,mdx}' }), schema: z.object({ event: z.string(), title: z.string(), description: z.string(), place: z.string().optional(), // Transform string to Date object pubDate: z.coerce.date(), updatedDate: z.coerce.date().optional(), heroImage: z.string().optional(), presentation: z.string().optional(), tags: z.array(z.string()) }) }); const speakers = defineCollection({ loader: glob({ base: './src/content/speakers', pattern: '**/*.{md,mdx}' }), schema: z.object({ name: z.string(), company: z.string(), position: z.string().optional(), photo: z.string().optional() }), }); const organizators = defineCollection({ loader: glob({ base: './src/content/organizators', pattern: '**/*.{md,mdx}' }), schema: z.object({ name: z.string(), company: z.string().optional(), position: z.string().optional(), description: z.string().optional(), photo: z.string().optional() }) }); export const collections = { meetups, partners, reports, speakers, organizators };