← 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

FieldTypeDescription
titlestringEvent title
descriptionstringShort summary
datedateEvent date (YYYY-MM-DD)
categoryEventenumOne of: trade-fairs-and-conventions, competitions-and-workshops, kick-off-events, other
coverImagestringPath to cover image under src/assets/events/<slug>/, written as /<slug>/<filename>

Optional Fields

FieldTypeDescription
isDraftbooleanSet to true to hide in production (default: false)
coverImageDescriptionstringCaption 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.