src/content/projects/ with frontmatter that conforms to the project schema.
Schema Definition
The project schema is defined insrc/content/config.ts using Zod validation.
Fields
The title of your project. This will be displayed as the main heading on project cards and detail pages.
The start date of the project in
YYYY-MM-DD format. Used for sorting and displaying project timeline.Example: 2025-03-16A brief description of the project. This appears on project cards and is used for SEO metadata.
Optional array of tags or technologies used in the project. Useful for filtering and categorization.Example:
["Astro", "Shadcn UI", "Tailwind CSS"]Example Project File
Here’s a complete example of a project MDX file:src/content/projects/portfolio.mdx
Field Requirements
| Field | Type | Required | Default |
|---|---|---|---|
title | string | Yes | - |
startDate | date | Yes | - |
description | string | Yes | - |
image | object | No | undefined |
image.url | string | Yes (if image provided) | - |
image.alt | string | Yes (if image provided) | - |
tags | string[] | No | undefined |
Usage Notes
- The
slugfield in frontmatter is used for routing but is not part of the schema validation - Dates must be in ISO format (
YYYY-MM-DD) - Images should be placed in the
public/directory and referenced with a leading slash - Tags are case-sensitive and will be displayed exactly as entered
- The MDX body content after frontmatter can include any valid MDX, including components and markdown