Skip to content

Commit 537c0d3

Browse files
authored
Merge branch 'ep2025' into cpython-sprint
2 parents 1b892d6 + 18bd1a8 commit 537c0d3

File tree

20 files changed

+1218
-1352
lines changed

20 files changed

+1218
-1352
lines changed

astro.config.mjs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,27 @@ export default defineConfig({
153153
mdx(),
154154
svelte(),
155155
serviceWorker({
156-
workbox: { inlineWorkboxRuntime: true },
156+
workbox: {
157+
inlineWorkboxRuntime: true,
158+
runtimeCaching: [
159+
{
160+
urlPattern:
161+
/\.(?:js|css|json|png|jpg|jpeg|svg|woff2?|ttf|eot|gif)$/,
162+
handler: "CacheFirst",
163+
options: {
164+
cacheName: "assets-cache",
165+
expiration: {
166+
maxEntries: 100,
167+
maxAgeSeconds: 60 * 60 * 1, // 1h
168+
},
169+
},
170+
},
171+
{
172+
urlPattern: /\.html$/,
173+
handler: "NetworkOnly", // ⛔ Don't cache HTML
174+
},
175+
],
176+
},
157177
}),
158178
...(fastBuild
159179
? []
@@ -178,7 +198,6 @@ export default defineConfig({
178198
domains: ["programme.europython.eu", "placehold.co"],
179199
},
180200
prefetch: {
181-
prefetchAll: true,
182-
defaultStrategy: "load",
201+
prefetchAll: false,
183202
},
184203
});

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
"@astrojs/check": "^0.9.4",
1616
"@astrojs/mdx": "^4.3.0",
1717
"@astrojs/sitemap": "^3.4.1",
18-
"@astrojs/svelte": "^7.0.13",
18+
"@astrojs/svelte": "^7.1.0",
1919
"@astrojs/ts-plugin": "^1.10.4",
2020
"@fortawesome/fontawesome-free": "^6.7.2",
21-
"@nanostores/persistent": "^1.0.0",
21+
"@nanostores/persistent": "^1.1.0",
2222
"@tailwindcss/typography": "^0.5.16",
2323
"@tailwindcss/vite": "^4.1.11",
24-
"astro": "^5.8.0",
24+
"astro": "^5.11.0",
2525
"astro-compress": "^2.3.8",
2626
"astro-delete-unused-images": "^1.0.3",
2727
"astro-meta-tags": "^0.3.2",
@@ -41,16 +41,16 @@
4141
"rehype-slug": "^6.0.0",
4242
"remark-toc": "^9.0.0",
4343
"sharp": "^0.34.2",
44-
"svelte": "^5.34.9",
45-
"tailwindcss": "^4.1.8",
44+
"svelte": "^5.35.4",
45+
"tailwindcss": "^4.1.11",
4646
"typescript": "^5.8.3",
4747
"vite": "^6.3.5"
4848
},
4949
"devDependencies": {
5050
"@types/js-yaml": "^4.0.9",
51-
"prettier": "^3.5.3",
51+
"prettier": "^3.6.2",
5252
"prettier-plugin-astro": "^0.14.1",
53-
"puppeteer": "^24.9.0",
53+
"puppeteer": "^24.12.0",
5454
"tsx": "^4.20.3",
5555
"typescript": "^5.8.3"
5656
},

pnpm-lock.yaml

Lines changed: 1064 additions & 1320 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/GoogleCalendar.astro

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ const mobileEmbedUrl = `https://calendar.google.com/calendar/embed?src=${encodeU
4343
src={embedUrl}
4444
class="hidden md:block w-full max-w-4xl rounded-lg shadow-lg border-0"
4545
style={`border: 0; width: ${width}px; height: ${height}px;`}
46-
frameborder="0"
47-
scrolling="no"
4846
title={title}
4947
loading="lazy"
5048
></iframe>
@@ -54,8 +52,6 @@ const mobileEmbedUrl = `https://calendar.google.com/calendar/embed?src=${encodeU
5452
src={mobileEmbedUrl}
5553
class="block md:hidden w-full rounded-lg shadow-lg border-0"
5654
style="height: 400px;"
57-
frameborder="0"
58-
scrolling="no"
5955
title={`${title} - Mobile View`}
6056
loading="lazy"
6157
></iframe>

src/components/Header.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ 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>
14+
<a href="/remote" class="bg-top-notification text-white hover:text-white hover:underline text-center px-2 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>
1515
<div
1616
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"
1717
>

src/components/InstallPWA.astro

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
---
2-
32
---
43
<div id="install-pwa" class="hidden">
5-
<p>Add website to home screen and get easy access to the schedule!</p>
6-
<button id="install-btn" class="button-link font-bold text-lg px-4 py-4 rounded-lg inline-flex items-center justify-center leading-4 transition-colors duration-200 not-prose border text-white
7-
bg-primary hover:bg-primary-hover border-transparent">Add to home screen</button>
4+
<div class="flex flex-row items-center justify-between gap-4">
5+
<div class="grid w-full">
6+
<p>Add website to home screen and get easy access to the schedule!</p>
7+
<button id="install-btn" class="button-link font-bold text-lg px-4 py-4 rounded-lg inline-flex items-center justify-center leading-4 transition-colors duration-200 not-prose border text-white m-5
8+
bg-primary hover:bg-primary-hover border-transparent">Add to home screen</button>
9+
</div>
10+
<button id="close-btn" class="text-white hover:text-gray-300 transition-colors duration-200 p-2" aria-label="Close">
11+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
12+
<line x1="18" y1="6" x2="6" y2="18"></line>
13+
<line x1="6" y1="6" x2="18" y2="18"></line>
14+
</svg>
15+
</button>
16+
</div>
817
</div>
9-
1018
<style>
1119
#install-pwa {
1220
position: fixed;
@@ -20,36 +28,44 @@
2028
transition: all 0.3s ease;
2129
z-index: 200;
2230
}
23-
2431
#install-pwa.hidden {
2532
transform: translateY(100%);
2633
opacity: 0;
2734
}
2835
</style>
29-
3036
<script>
3137
function showInstallPrompt() {
3238
const installBanner = document.getElementById('install-pwa') as HTMLElement;
3339
installBanner.classList.remove('hidden');
3440
}
3541

36-
const installBtn = document.getElementById('install-btn') as HTMLElement;
37-
installBtn.addEventListener('click', () => {
42+
function hideInstallPrompt() {
43+
const installBanner = document.getElementById('install-pwa') as HTMLElement;
44+
installBanner.classList.add('hidden');
45+
}
46+
47+
const installBtn = document.getElementById('install-btn') as HTMLElement;
48+
const closeBtn = document.getElementById('close-btn') as HTMLElement;
49+
50+
installBtn.addEventListener('click', () => {
3851
if (deferredPrompt) {
3952
deferredPrompt.prompt();
4053
deferredPrompt.userChoice.then((choiceResult: any) => {
4154
console.log(choiceResult.outcome);
4255
deferredPrompt = null;
56+
hideInstallPrompt();
4357
});
4458
}
4559
});
4660

47-
let deferredPrompt: any;
61+
closeBtn.addEventListener('click', () => {
62+
hideInstallPrompt();
63+
});
4864

65+
let deferredPrompt: any;
4966
window.addEventListener('beforeinstallprompt', (e) => {
5067
e.preventDefault();
5168
deferredPrompt = e;
52-
5369
showInstallPrompt();
5470
});
5571
</script>

src/components/SprintCard.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const { data, body } = sprint;
1616
// <a href={`/sprints/${slug}`} id={slug} class="text-blue-600 hover:text-blue-800 hover:underline"></a>
1717
---
1818

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}>
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} >
2020
<header class="mb-4">
2121
<h3 class="text-2xl font-semibold mb-2">
2222
{data.title}

src/components/sections/hero/hero.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ const action2 = "/sponsorship/sponsor/";
136136
alt="EuroPython 2025 Conference"
137137
layout='full-width'
138138
formats={['avif', 'webp', 'jpeg']}
139-
class="w-full max-w-5xl lg:max-w-full h-auto lg:h-full rounded-2xl shadow-xl"
139+
class="max-w-5xl lg:max-w-full h-auto lg:h-full rounded-2xl shadow-xl"
140140
loading="eager"
141141
priority={true}
142142
/>
425 KB
Loading

src/content/pages/pyvo.mdx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: Wednesday Local Community Drinks
3+
subtitle: Wednesday Local Community Drinks
4+
---
5+
6+
## About Pyvo
7+
“Pivo” means beer in Czech—and Pyvo is a casual meetup for Python enthusiasts and fans of related technologies that happen in cities across the country. In Prague, Pyvo usually takes place every third Wednesday of the month. And this July, it’s happening during EuroPython!
8+
9+
10+
## Pyvo @ EuroPython
11+
Come join us for a special summer edition of Pyvo in Prague! We’re hosting a relaxed **grill & chill** where you can meet the local Python community and enjoy the summer vibes!
12+
13+
## Where and When?
14+
15+
* 🗓️ Date: 19 July 2023, starting at 18:30
16+
* 📍 Location: [beer garden Na Hradbách](https://www.google.com/maps/place/Na+Hradb%C3%A1ch/@50.0636012,14.4194329,488m/data=!3m2!1e3!4b1!4m6!3m5!1s0x470b950f8b5821c1:0xedde8ade9cc53dcc!8m2!3d50.0636012!4d14.4220078!16s%2Fg%2F11kjyc47st?hl=en&entry=ttu&g_ep=EgoyMDI1MDcwOS4wIKXMDSoASAFQAw%3D%3D) — just a 10-minute walk from the Prague Congress Centre
17+
* 💸 Price: free to attend
18+
* 🍴 Food will be provided, including vegan, vegetarian, and gluten-free options — and you’re welcome to order more from the grill if you'd like
19+
20+
Address: [V Pevnosti, 128 00 Praha 2-Vyšehrad, Czechia](https://www.google.com/maps/place/Na+Hradb%C3%A1ch/@50.0636012,14.4194329,488m/data=!3m2!1e3!4b1!4m6!3m5!1s0x470b950f8b5821c1:0xedde8ade9cc53dcc!8m2!3d50.0636012!4d14.4220078!16s%2Fg%2F11kjyc47st?hl=en&entry=ttu&g_ep=EgoyMDI1MDcwOS4wIKXMDSoASAFQAw%3D%3D)
21+
22+
## Special Guests
23+
### PyLadies
24+
PyLadies is a global mentorship group supporting women in becoming active contributors and leaders in the Python open-source world. This is a great chance to connect with fellow women in tech, grow your network, and share your stories.
25+
26+
### Django Software Foundation
27+
Did you know Django turns 20 this year? Come celebrate with us—there’ll be drinks, good vibes, and a cake!
28+
29+
![Pyvo social event venue](./images/pyvo-social.jpg)

0 commit comments

Comments
 (0)