← Back to site

Managing Events

Events are stored in src/content/events/ as Markdown or MDX files, organized by locale.

Folder Structure

src/content/events/
├── en/                              ← English (default)
│   ├── hackathon-2026.mdx
│   └── ...
└── de/                              ← German translations
    ├── hackathon-2026.mdx
    └── ...

Both folders use identical filenames. If a German translation is missing, the English version is displayed on the /de/ pages.

Creating an Event

Create a new file in src/content/events/en/ (or de/ for German). The filename becomes the slug — use a short, URL-safe title (e.g. hackathon-2026.mdx). Sort order on the events page is driven by the date frontmatter field, not the filename.

---
title: "BEARS 24-Hour Hackathon 2026"
description: "Test your skills in our annual hackathon focused on autonomous systems and sustainable engineering."
date: 2026-03-15
categoryEvent: "competitions-and-workshops"
coverImage: /hackathon-2026/cover.jpg
isDraft: false   # Optional — defaults to false, set true to hide from production
---

import { Accordion, Button, Callout, Carousel, Center, ImageGrid, Img, Instagram, Marquee, YouTube, SideBySide, Left, Right } from '@mdx';

## About the Hackathon

<Callout title="Registration Open">
  Sign up before March 1st to secure your spot!
</Callout>

Get ready for the most exciting event of the semester! Our annual hackathon
challenges teams to design, build, and program innovative solutions within
24 hours. Whether it's waste-sorting robots, energy-efficient drones, or
smart agricultural systems, we want to see your creative solutions.

Required Fields

Field Type Description
title string Event title
description string Short summary
date date Event date (YYYY-MM-DD)
categoryEvent enum One of: trade-fairs-and-conventions, competitions-and-workshops, kick-off-events, other
coverImage string Path to cover image under src/assets/events/<slug>/, written as /<slug>/<filename>

Optional Fields

Field Type Description
isDraft boolean Set to true to hide in production (default: false)
coverImageDescription string Caption shown over the cover image on /media. Use it for any combination of caption and photographer credit (e.g. "Group photo after the launch — © 2025 Jane Doe"). Leave blank to show no caption. Inline <Img /> blocks in the event body are also pulled into the Events accordion on /media — each block has its own displayInMedia toggle (default on, flip off to keep that image post-only).

Cover Images

Each event has its own asset subfolder under src/assets/events/<slug>/, where <slug> matches the filename (without extension). Place the cover image and any inline MDX images there. The coverImage frontmatter is written as /<slug>/<filename> (e.g. /hackathon-2026/cover.jpg). Valid formats: .jpg, .jpeg, .png, .webp, .svg.