Welcome to the repository for the EuroPython website! We use Astro in combination with pnpm to manage dependencies.
To get started, clone the repository and run pnpm install
to fetch all the
dependencies. Then, use pnpm run dev
to start the development server.
The website will be available at http://localhost:4321
.
To ensure code quality and consistency, we use pre-commit
hooks. Follow these
steps to set up pre-commit
on your local environment:
- Install
pre-commit
. You can follow the instructions from pre-commit.com. - Run
pre-commit install
in the root of your local repository. - Now,
pre-commit
will run automatically ongit commit
. You can also run it manually on all files usingpre-commit run --all-files
.
This will help maintain a consistent coding style and catch common issues before submission.
If you want to run this in docker, run:
$ docker compose build
$ docker compose up
The website will be available at http://localhost:4321
.
The content of the site is store in this repository. We are using Astro's
content collections to manage the content. The collections are configure inside
src/content/config.ts
.
Pages are stored in the src/content/pages
directory. Each page is a mdx file
with frontmatter.
Meanwhile, our important deadlines ⏰ are located inside the
src/content/deadlines
directory.
When adding images to the website, please make sure to use astro Image component and to specify the width of the image. This will make sure we are optimizing the images and not serving large images to the users.
Here is an example:
import { Image } from "astro:assset";
import image from "./image.jpg";
<Image src={image} width={500} />;