Adding Projects
The Data Model
All project metadata lives in apps/playground/src/data/projects.ts.
export const projects: Record<string, Project> = {
myproject: {
slug: "myproject",
name: "My Project",
description: "What it does.",
category: "generative", // generative | color | image | data-viz
tags: ["Canvas"],
icon: Sparkles, // Lucide icon
},
};
Add a Project
Step 1: Edit projects.ts — add your project entry.
Step 2: Create the page at apps/playground/src/pages/projects/<category>/<slug>/index.astro:
---
import BaseLayout from "../../../../layouts/base-layout.astro";
import { projects } from "../../../../data/projects";
const { slug } = Astro.params;
const project = projects[slug!];
---
<BaseLayout title={project.name}>
<h1>{project.name}</h1>
<p>{project.description}</p>
</BaseLayout>
That’s It
The project automatically appears in:
- Projects landing page
- Category page
- Navigation