Skip to content

Commit 65ec0a6

Browse files
committed
Merge ep2025 onto feature branch
2 parents 0fc728f + e6219c6 commit 65ec0a6

File tree

18 files changed

+123
-95
lines changed

18 files changed

+123
-95
lines changed

astro.config.mjs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ export default defineConfig({
3535
],
3636
},
3737
site: "https://ep2025.europython.eu",
38+
redirects: {
39+
"/c-api-summit/": "/programme/c-api-summit/",
40+
"/programme/cfp/": "/programme/cfp/",
41+
"/planning/": "https://forms.gle/riw6CvML8ck94A4V9",
42+
"/reviewers/": "https://forms.gle/4GTJjwZ1nHBGetM18",
43+
"/rust-summit/": "/programme/rust-summit/",
44+
"/sponsor/": "/sponsorship/sponsor/",
45+
"/voting/": "/programme/voting/",
46+
"/wasm-summit/": "/programme/wasm-summit/",
47+
},
3848
integrations: [
3949
mdx(),
4050
sitemap(),

src/components/BaseHead.astro

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ const { title, description, image = "/social-card.png" } = Astro.props;
1919
<meta charset="utf-8" />
2020
<meta name="viewport" content="width=device-width,initial-scale=1" />
2121
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
22-
<meta name="generator" content={Astro.generator} />
22+
<meta name="generator" content="Astro" />
2323
<link rel="sitemap" href="/sitemap-index.xml" />
2424

25+
<meta name="referrer" content="no-referrer-when-downgrade" />
26+
2527
<!-- Canonical URL -->
2628
<link rel="canonical" href={canonicalURL} />
2729

@@ -32,19 +34,20 @@ const { title, description, image = "/social-card.png" } = Astro.props;
3234

3335
<!-- Open Graph / Facebook -->
3436
<meta property="og:type" content="website" />
37+
<meta property="og:site_name" content="EuroPython 2025" />
3538
<meta property="og:url" content={Astro.url} />
3639
<meta property="og:title" content={title} />
3740
<meta property="og:description" content={description} />
3841
<meta property="og:image" content={new URL(image, Astro.url)} />
3942

4043
<!-- Twitter -->
41-
<meta property="twitter:card" content="summary_large_image" />
42-
<meta property="twitter:url" content={Astro.url} />
43-
<meta property="twitter:title" content={title} />
44-
<meta property="twitter:description" content={description} />
45-
<meta property="twitter:image" content={new URL(image, Astro.url)} />
44+
<meta name="twitter:card" content="summary_large_image" />
45+
<meta name="twitter:url" content={Astro.url} />
46+
<meta name="twitter:title" content={title} />
47+
<meta name="twitter:description" content={description} />
48+
<meta name="twitter:image" content={new URL(image, Astro.url)} />
49+
<meta name="twitter:site" content="@europython" />
4650

47-
<!-- In remembrance -->
4851
<meta http-equiv="X-Clacks-Overhead" content="GNU John Pinner" />
4952
<meta http-equiv="X-Clacks-Overhead" content="GNU Rob Collins" />
5053
<meta http-equiv="X-Clacks-Overhead" content="GNU Oier Etxaniz" />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export const CardContainer = ({ children }: { children: React.ReactNode }) => (
2-
<section className="justify-around gap-12 flex flex-wrap px-6">
2+
<section className="justify-center gap-6 flex flex-wrap px-6">
33
{children}
44
</section>
55
);

src/components/card/card.astro

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,29 @@ export interface Props {
1313
const { title, subtitle, url, image } = Astro.props;
1414
---
1515

16-
<div class="block min-w-[250px] w-full md:w-[40%] lg:w-[30%] text-center">
16+
<div class="block min-w-[250px] w-full md:w-[40%] lg:w-[30%] p-4 bg-[#D5D6E6] rounded-2xl text-center flex flex-col">
1717
<a href={url} class="block">
1818
<div class="relative w-full mb-4">
1919
<Image
2020
src={image}
2121
width={600}
2222
height={375}
2323
alt=""
24-
class="rounded-2xl aspect-[3/2] w-full"
24+
class="rounded-xl aspect-[3/2] w-full"
2525
loading="lazy"
2626
/>
2727
</div>
28-
<h3 class="text-3xl font-bold mt-2 mb-4 text-primary">{title}</h3>
2928
</a>
30-
<ButtonLink
31-
url={url}
32-
className="mb-4"
33-
isExternal={false}
34-
>
35-
{subtitle}
36-
</ButtonLink>
37-
<p class="text-lg">
29+
<div class="flex items-center flex-col flex-grow mb-2">
30+
<a href={url} class="block hover:underline">
31+
<h3 class="text-2xl text-primary">{title}</h3>
32+
</a>
3833
<slot />
39-
</p>
34+
</div>
35+
<a class="text-xs px-2 py-1 mt-4 bg-[#141F36] text-white rounded-[10px] inline-block w-fit mx-auto leading-4 hover:bg-button-hover not-prose mt-auto" href="{url}">
36+
{subtitle}
37+
<span class="inline-block ml-1 font-system text-lg leading-4">
38+
39+
</span>
40+
</a>
4041
</div>

src/components/footer.astro

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const gitVersion = import.meta.env.GIT_VERSION;
1717
<h6 class="font-bold text-xs uppercase tracking-widest mb-4 text-gray-300">
1818
Quicklinks
1919
</h6>
20-
20+
<ul>
2121
{
2222
links.footer.map((item) => (
2323
<li class="list-none">
@@ -31,24 +31,25 @@ const gitVersion = import.meta.env.GIT_VERSION;
3131
</li>
3232
))
3333
}
34+
</ul>
3435
</nav>
3536
</div>
3637

37-
<article
38-
class="flex flex-col items-center text-center lg:flex-row lg:items-start lg:text-left gap-6 justify-end"
39-
>
40-
<div>
41-
<EPSLogo className="max-w-[160px] h-auto w-full mx-auto lg:mx-0" />
42-
</div>
43-
<div>
44-
<address class="not-italic mb-2 leading-relaxed text-xs">
45-
EuroPython Society (EPS)
46-
<br />Ramnebacken 45
47-
<br />
48-
424 38 Agnesberg
49-
<br />
50-
Sweden
51-
</address>
38+
<article
39+
class="flex flex-col lg:flex-row self-center gap-8 lg:gap-12 justify-end"
40+
>
41+
<div>
42+
<EPSLogo className="max-w-[100px] lg:max-w-[200px] h-auto w-full" />
43+
</div>
44+
<div>
45+
<address class="not-italic mb-4">
46+
EuroPython Society (EPS)
47+
<br />Ramnebacken 45
48+
<br />
49+
424 38 Agnesberg
50+
<br />
51+
Sweden
52+
</address>
5253

5354
<p class="mb-2 text-xs">
5455
<a

src/components/header/header-button.astro

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ const { href, variant = "standard" } = Astro.props;
1818
"bg-red": variant === "live",
1919
},
2020
]}
21-
href={href}
21+
22+
role="button"
23+
href={href || "#"}
2224
>
2325
<slot />
2426
</a>

src/components/nav-items/nav-items.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ export const NavItems = ({ items, inverted = false }: Props) => {
2727
)}
2828
>
2929
<a
30-
href={item.path}
30+
href={item.path || "#"}
31+
aria-haspopup="true"
32+
role="button"
33+
rel="nofollow"
3134
className={clsx(
3235
"font-bold inline-block w-full text-3xl xl:text-base p-5 text-center",
3336
"xl:text-left xl:p-2 xl:px-5",
@@ -59,6 +62,7 @@ export const NavItems = ({ items, inverted = false }: Props) => {
5962
>
6063
<a
6164
href={subItem.path || "#"}
65+
role="button"
6266
className={clsx(
6367
"block w-full font-bold text-center",
6468
"xl:text-left mb-[2px] p-2 xl:px-5"

src/content/pages/faq.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Share your ideas with the programme team at [[email protected]](mailto:pro
6363

6464
A. Sadly, at this point you cannot. The [Call for Proposals (CfP)](/programme/cfp) was open from **the 10th of January to the 3rd of February 2025** (including an extension of the original deadline).
6565

66-
Need support with your submission? Explore our [Speaker Mentorship Programme](programme/mentorship/) for guidance.
66+
Need support with your submission? Explore our [Speaker Mentorship Programme](/programme/mentorship/) for guidance.
6767

6868
## **Q. How are talks reviewed and selected?**
6969

src/layouts/HomePageLayout.astro

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
import "../styles/global.css";
3+
import Header from "../components/header/header.astro";
4+
import Footer from "../components/footer.astro";
5+
import BaseHead from "../components/BaseHead.astro";
6+
7+
export interface Props {
8+
title: string;
9+
description: string;
10+
}
11+
12+
const { title, description } = Astro.props;
13+
const jsonLd = JSON.stringify({
14+
"@context": "https://schema.org",
15+
"@type": "WebSite",
16+
"publisher": {
17+
"@type": "Organization",
18+
"name": "EuroPython 2025",
19+
"url": "https://ep2025.europython.eu/",
20+
"logo": {
21+
"@type": "ImageObject",
22+
"url": "https://ep2025.europython.eu/_astro/hero.BAlu7uXS_rd8vG.svg",
23+
"width": 1686,
24+
"height": 888
25+
}
26+
},
27+
"url": "https://ep2025.europython.eu/",
28+
"image": {
29+
"@type": "ImageObject",
30+
"url": "https://ep2025.europython.eu/_astro/hero.BAlu7uXS_rd8vG.svg",
31+
"width": 1686,
32+
"height": 888
33+
},
34+
"mainEntityOfPage": {
35+
"@type": "WebPage",
36+
"@id": "https://ep2025.europython.eu/"
37+
},
38+
"description": description
39+
});
40+
---
41+
42+
<!doctype html>
43+
<html lang="en">
44+
<head>
45+
<BaseHead title={title} description={description} />
46+
<script type="application/ld+json" is:inline set:html={jsonLd}></script>
47+
</head>
48+
49+
<div class="flex flex-col items-stretch min-h-screen">
50+
<a href="#main-content" class="sr-only"> Skip to main content</a>
51+
52+
<Header />
53+
54+
<main id="main-content" class="layout-wrapper overflow-x-clip">
55+
<slot />
56+
</main>
57+
58+
<div class="mt-auto">
59+
<Footer />
60+
</div>
61+
</div>
62+
</html>

src/pages/c-api-summit.astro

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)