Skip to content

Commit 3443323

Browse files
authored
Merge branch 'ep2025' into ep2025-sponsor-logo-python-institute
2 parents 648549b + bdaf876 commit 3443323

File tree

21 files changed

+315
-21
lines changed

21 files changed

+315
-21
lines changed

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/guidelines.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,7 @@ that attendees can follow along, or replicate it in a later exercise.
215215

216216
If attendees need to download materials for your tutorial and/or need to set up a special environment
217217
on their computer: Ask the participants to prepare the setup for your tutorial in advance.
218-
Ensure that your tutorial description on the europython web site includes setup up instructions.
219-
(Contact the Programme Committee if you need help with that.) Bandwidth at the tutorials will be limited.
218+
Ensure that your tutorial description on the EuroPython web site includes setup up instructions. You can add this directly to your talk abstract on Pretalx. (Contact the Programme Committee if you need help with that.) We'd also encourage you to make a post for your tutorial on the EuroPython Discord and share the instructions there as well. Bandwidth at the tutorials will be limited.
220219
It can cause long delays if all tutorial participants have to download files at the same time at the beginning
221220
of the tutorial.
222221

332 KB
Loading
2.09 MB
Loading

src/content/pages/remote.mdx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: EuroPython 2025 Remote
3+
subtitle: Join EuroPython 2025 remotely!
4+
toc: true
5+
---
6+
7+
import { Image } from "astro:assets";
8+
import discord from "./images/discord.png";
9+
import remote from "./images/remote.png";
10+
11+
# EuroPython 2025 Remote
12+
13+
As happy as we are about finally being able to see many friends in [Prague](/prague)
14+
this year, we are also aware that many of you will not be able to make it in-person.
15+
Again, we present you EuroPython 2025 remote:
16+
Wherever you are based, let's celebrate Python and our community, rejoice at our diversity,
17+
learn and have fun in Prague and beyond! In this spirit, we strive to make the remote participation
18+
as interactive as possible.
19+
<Image src={remote} width="1200" alt="" />
20+
21+
## What is included in the remote ticket?
22+
Remote participation between 16-18 July (Wednesday - Friday):
23+
- Livestreams of Keynotes, panel discussions, all 6 tracks of talks.
24+
- Live participation (text-based) on Q&A session post-talks.
25+
- Text-based discussions with available speakers.
26+
- Online job board and chat with sponsors at the remote booths.
27+
- On-demand viewing, which will be available hours after the live stream.
28+
29+
<Note type="warning">Tutorials and Workshops on 14 and 15 July will not be streamed.</Note>
30+
31+
## What changes ###
32+
This year, we will **NOT** provide open and free access to the livestreams of our conference talks (16-18 July).
33+
If you would like to watch EuroPython remotely, please consider purchasing a remote ticket.
34+
Purchasing a remote ticket not only gives you access to the conference but also helps support the community!

src/content/pages/sponsorship/information.mdx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,7 @@ We strongly encourage you to choose gifts made from environmentally friendly mat
199199
### Shipping & Logistics
200200
Shipping to the venue is **exclusively handled by [DB Schenker](https://www.dbschenker.com/cz-en)**. Please contact their team directly to discuss costs and shipping arrangements.
201201

202-
**📞 Your DB Schenker contacts:**
203-
- **Robin Veselý**
204-
- Tel: +420 733 144 905
205-
202+
**📞 Your DB Schenker contact:**
206203
- **Martin ULIČNÝ**
207204
- Tel: +420 242 405 160
208205

0 commit comments

Comments
 (0)