Home / File/ content.config.ts — astro Source File

content.config.ts — astro Source File

Architecture documentation for content.config.ts, a typescript file in the astro codebase. 3 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  34673a6c_f432_5920_30e2_e95c0926dc36["content.config.ts"]
  48f80d01_e646_3924_78f6_a9d836644746["astro:content"]
  34673a6c_f432_5920_30e2_e95c0926dc36 --> 48f80d01_e646_3924_78f6_a9d836644746
  0f49b6f2_8b44_baf8_7812_a8fa2dd0ca84["zod"]
  34673a6c_f432_5920_30e2_e95c0926dc36 --> 0f49b6f2_8b44_baf8_7812_a8fa2dd0ca84
  d47373dc_6761_5858_3027_a4a6472dd795["loaders"]
  34673a6c_f432_5920_30e2_e95c0926dc36 --> d47373dc_6761_5858_3027_a4a6472dd795
  style 34673a6c_f432_5920_30e2_e95c0926dc36 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { defineCollection, reference } from 'astro:content';
import { z } from 'astro/zod';
import { glob } from 'astro/loaders';

const banners = defineCollection({
	loader: glob({ pattern: '**/*.{json,yaml,yml}', base: './src/content/banners' }),
	schema: ({ image }) =>
		z.object({
			alt: z.string(),
			src: image(),
		}),
});

const authors = defineCollection({
	loader: glob({ pattern: '**/*.{json,yaml,yml}', base: './src/content/authors' }),
	schema: z.object({
		name: z.string(),
		twitter: z.string().url(),
	}),
});

const blog = defineCollection({
	loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/blog' }),
	schema: z.object({
		title: z.string(),
		banner: reference('banners'),
		author: reference('authors'),
		relatedPosts: z.array(reference('blog')).optional(),
	}),
});

export const collections = { blog, authors, banners };

Subdomains

Functions

Dependencies

  • astro:content
  • loaders
  • zod

Frequently Asked Questions

What does content.config.ts do?
content.config.ts is a source file in the astro codebase, written in typescript. It belongs to the IntegrationAdapters domain, SsrAdapters subdomain.
What functions are defined in content.config.ts?
content.config.ts defines 1 function(s): banners.schema.
What does content.config.ts depend on?
content.config.ts imports 3 module(s): astro:content, loaders, zod.
Where is content.config.ts in the architecture?
content.config.ts is located at packages/astro/test/fixtures/content-collection-references/src/content.config.ts (domain: IntegrationAdapters, subdomain: SsrAdapters, directory: packages/astro/test/fixtures/content-collection-references/src).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free