Skip to content

Commit 6b46a01

Browse files
authored
Merge branch 'ep2025' into ep2025-upgrade
2 parents ed9d276 + 7162c2a commit 6b46a01

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+688
-60
lines changed

astro.config.mjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,32 @@ export default defineConfig({
122122
"/programme/c-api-summit": "/session/c-api-summit",
123123
"/programme/wasm-summit": "/session/webassembly-summit",
124124
"/discord": "https://discord.gg/BhTN2zJPMh",
125+
// For AV team internal use: break screens
126+
"/break/forum-hall":
127+
"https://overlays.gbdl.in/ep-forum-hall/scene-schedule.html",
128+
"/break/north-hall":
129+
"https://overlays.gbdl.in/ep-north-hall/scene-schedule.html",
130+
"/break/south-hall-2a":
131+
"https://overlays.gbdl.in/ep-south-hall-2a/scene-schedule.html",
132+
"/break/south-hall-2b":
133+
"https://overlays.gbdl.in/ep-south-hall-2b/scene-schedule.html",
134+
"/break/terrace-2a":
135+
"https://overlays.gbdl.in/ep-terrace-2a/scene-schedule.html",
136+
"/break/terrace-2b":
137+
"https://overlays.gbdl.in/ep-terrace-2b/scene-schedule.html",
138+
// For AV team internal use: VDO ninja screen share
139+
"/ninja/forum-hall":
140+
"https://vdo.ninja/?room=EuroPython_2025_Forum_Hall&hash=338a&do",
141+
"/ninja/north-hall":
142+
"https://vdo.ninja/?room=EuroPython_2025_North_Hall&hash=338a&do",
143+
"/ninja/south-hall-2a":
144+
"https://vdo.ninja/?room=EuroPython_2025_Southhall_2A&hash=338a&do",
145+
"/ninja/south-hall-2b":
146+
"https://vdo.ninja/?room=EuroPython_2025_Southhall_2B&hash=338a&do",
147+
"/ninja/terrace-2a":
148+
"https://vdo.ninja/?room=EuroPython_2025_Terrace_2A&hash=338a&do",
149+
"/ninja/terrace-2b":
150+
"https://vdo.ninja/?room=EuroPython_2025_Terrace_2B&hash=338a&do",
125151
},
126152
integrations: [
127153
mdx(),

public/draft2.png

14 KB
Loading

src/components/Header.astro

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import links from "@data/links.json";
1111
<section
1212
id="navbar"
1313
>
14+
<a href="/remote" class="hover:underline hover:text-primary-hover text-center px-2 bg-secondary text-white font-bold fixed top-0 w-full h-[40px] z-50 flex items-center justify-center">Can’t join us in Prague? Attend remotely — online options available!</a>
1415
<div
15-
class="container max-w-[1150px] mx-auto px-6 py-2 mt-1 lg:p-2 lg:mt-6 flex items-center justify-between relative z-40 bg-white/80 rounded-full backdrop-blur-md shadow-lg"
16+
class="container max-w-[1150px] mx-auto px-6 py-2 mt-12 lg:p-2 lg:mt-14 flex items-center justify-between relative z-40 bg-white/80 rounded-full backdrop-blur-md shadow-lg"
1617
>
1718
<input
1819
type="checkbox"

src/components/SprintCard.astro

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
---
2+
import { getEntry } from 'astro:content';
3+
import Markdown from "@ui/Markdown.astro";
4+
5+
const { slug } = Astro.props;
6+
7+
8+
const sprint = await getEntry("sprints", slug);
9+
10+
if (!sprint) {
11+
throw new Error(`Sprint entry "${slug}" not found`);
12+
}
13+
14+
const { data, body } = sprint;
15+
16+
// <a href={`/sprints/${slug}`} id={slug} class="text-blue-600 hover:text-blue-800 hover:underline"></a>
17+
---
18+
19+
<article class=`${data.draft?"draft2":""} sprint-card bg-white border border-gray-200 rounded-lg p-6 mb-8 shadow-sm hover:shadow-md transition-shadow duration-200` data-python-level={data.pythonLevel} data-room={data.room}>
20+
<header class="mb-4">
21+
<h3 class="text-2xl font-semibold mb-2">
22+
{data.title}
23+
</h3>
24+
<div class="flex flex-wrap gap-4 text-lg text-gray-600">
25+
<span class="flex items-center gap-1">
26+
<span>👥</span>
27+
<span>{data.numberOfPeople}</span>
28+
</span>
29+
<span class="flex items-center gap-1">
30+
<span>🐍</span>
31+
<span>{data.pythonLevel}</span>
32+
</span>
33+
</div>
34+
</header>
35+
36+
<div class="space-y-4">
37+
<div class="text-lg">
38+
<span class="text-gray-900">Contact:</span>
39+
<span class="text-gray-700">{data.contactPerson.name}</span>
40+
{data.contactPerson.email && (
41+
<span class="text-gray-600">
42+
{' '}(<a href={`mailto:${data.contactPerson.email}`} class="text-primary hover:text-primary-hover underline">{data.contactPerson.email}</a>)
43+
</span>
44+
)}
45+
{data.contactPerson.github && (
46+
<span class="text-gray-600">
47+
{' '}(<a href={`https://github.com/${data.contactPerson.github}`} target="_blank" rel="noopener" class="text-primary hover:text-primary-hover underline">@{data.contactPerson.github}</a>)
48+
</span>
49+
)}
50+
{data.contactPerson.twitter && (
51+
<span class="text-gray-600">
52+
{' '}(<a href={`https://x.com/${data.contactPerson.twitter}`} target="_blank" rel="noopener" class="text-primary hover:text-primary-hover underline">@{data.contactPerson.twitter}</a>)
53+
</span>
54+
)}
55+
</div>
56+
57+
{(data.links) && (
58+
<div class="text-lg">
59+
<span class="font-medium text-gray-900">Links:</span>
60+
<ul class="mt-2 ml-6 space-y-1 list-disc">
61+
{data.links?.map((link) => (
62+
<li>
63+
<a href={link.url} target="_blank" rel="noopener" class="text-primary hover:text-primary-hover underline ">{link.title}</a>
64+
</li>
65+
))}
66+
</ul>
67+
</div>
68+
)}
69+
70+
71+
{body &&
72+
<Markdown content={body} />
73+
}
74+
75+
</div>
76+
77+
</article>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
import Markdown from "@ui/Markdown.astro";
3+
4+
const content = await Astro.slots.render('default')
5+
6+
---
7+
8+
<Markdown content={content} />

src/content/config.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,13 +256,39 @@ const jobs = defineCollection({
256256
}),
257257
});
258258

259+
const sprints = defineCollection({
260+
type: "content",
261+
schema: z.object({
262+
title: z.string(),
263+
slug: z.string().optional(), // Auto-generated from filename if not provided
264+
numberOfPeople: z.string().or(z.number()),
265+
pythonLevel: z.enum(["Any", "Beginner", "Intermediate", "Advanced"]),
266+
contactPerson: z.object({
267+
name: z.string(),
268+
email: z.string().email().optional().nullable(),
269+
github: z.string().optional().nullable(),
270+
twitter: z.string().optional().nullable(),
271+
}),
272+
links: z
273+
.array(
274+
z.object({
275+
title: z.string(),
276+
url: z.string().url(),
277+
})
278+
)
279+
.optional(),
280+
draft: z.boolean().optional().default(false),
281+
}),
282+
});
283+
259284
export const collections = {
260285
days,
261286
pages,
262287
deadlines,
263288
week,
264289
sessions,
265290
speakers,
291+
sprints,
266292
keynoters,
267293
sponsors,
268294
jobs,

src/content/pages/about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ teams:
7070

7171
### 🏃‍♀️ Sprints Team
7272

73-
- Daria Grudzien Linhart
73+
- Daria Linhart Grudzień
7474
- Honza Javorek
7575
- Rodrigo Girão Serrão
7676

src/content/pages/accessibility.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ You're very welcome to ask about any accessibility needs. These may include, for
2929

3030
**Before the conference**, you can leave us a note when ordering your tickets or contact us via email at [email protected].
3131

32-
**During the conference**, you can visit our Info Desk at registration or speak with our volunteers wearing a yellow conference t-shirt. Registred ticket holders can also reach out via the Discord using the "support" channel – please bear with us if takes a moment to respond.
32+
**During the conference**, you can visit our Info Desk at registration or speak with our volunteers wearing a yellow conference t-shirt. Registered ticket holders can also reach out via the [Discord server](/discord) using the "support" channel – please bear with us if it takes a moment to respond.
3333

3434
If you need help for things like designated seating, maintaining clear pathways, or anything else, feel free to speak to the volunteer coordinating the session in the talk rooms as well.
3535

src/content/pages/beginners-day-unconference.mdx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,21 @@ Want to participate? Just add your name and topic to the sign-up flipchart at th
121121

122122
Whether you want to speak or just listen, this is a fantastic chance to learn, get inspired, and support fellow newcomers in the tech world!
123123

124+
## Schedule
125+
126+
| Time | Session |
127+
|------|----------|
128+
| 8:30 - 9:00 | Open doors |
129+
| **9:00 - 10:00** | **Panel: How To Succeed In A Junior Role** |
130+
| **10:00 - 11:00** | **Panel: Landing A Great Job** |
131+
| 11:00 - 11:30 | Coffee Break |
132+
| **11:30 - 13:15** | **Workshop: How To Succeed As A Junior** |
133+
| 13:15 - 14:00 | Lunch Break |
134+
| **14:00 - 15:00** | **Q&A session: From Junior To Senior** |
135+
| **15:00 - 16:30** | **Lightning talks** |
136+
| 16:30 - 17:00 | Coffee Break |
137+
| **17:00 - 18:00** | **Discussion Circle** |
138+
124139
## Sign up
125140

126141
EuroPython Beginners' Day Unconference is open to everyone, from high school students to late career changers. Entry is free for EuroPython ticket holders (any ticket type), and €5 otherwise.

src/content/pages/beginners-day.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ The Unconference is designed to help you start and grow your tech career. On the
3535

3636
Whether you're considering a career change, looking for your first tech role, or wanting to advance your early career, these collaborative sessions provide insights and advice from people who've been in your shoes.
3737

38+
The Unconference will **start at 9:00 and end at 18:00**, see the [full schedule](https://ep2025.europython.eu/beginners-day-unconference/#schedule).
39+
3840
<Button url="https://ep2025.europython.eu/beginners-day-unconference/">Check The Unconference Programme</Button>
3941

4042
## Django Girls
@@ -51,6 +53,8 @@ This workshop is specifically designed for people with no previous knowledge of
5153

5254
Just bring a laptop, and by the end of the day, you'll have deployed your first web application to the internet!
5355

56+
The Django Girls workshop will **start at 9:00 and end around 17:00**.
57+
5458
We are also looking for **mentors** for Django Girls. Applications for mentors close on **July 4th**.
5559

5660
<Button url="https://docs.google.com/forms/d/e/1FAIpQLScJeKrKmDmS8BNpcwxeEmqkeMbJvtCSyhskxGMZnba5yGYv7Q/viewform?usp=dialog">Become a Django Girls Mentor!</Button>
@@ -67,6 +71,8 @@ This workshop is also designed for people with no previous knowledge of Python o
6771

6872
Just bring a laptop, and you'll leave with practical skills to begin your data science journey.
6973

74+
The Humble Data workshop will **start at 9:30 and end around 17:00**.
75+
7076
## Accessibility
7177

7278
The venue for the Beginners Day is accessible.

0 commit comments

Comments
 (0)