Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,8 @@ export default defineConfig({
},
site: process.env.SITE_URL || "https://ep2025.europython.eu",
redirects: {
"/c-api-summit/": "/programme/c-api-summit/",
"/cfp/": "/programme/cfp/",
"/planning/": "https://forms.gle/riw6CvML8ck94A4V9",
"/reviewers/": "https://forms.gle/4GTJjwZ1nHBGetM18",
"/rust-summit/": "/programme/rust-summit/",
"/sponsor/": "/sponsorship/sponsor/",
"/voting/": "/programme/voting/",
"/wasm-summit/": "/programme/wasm-summit/",
"/programme/sessions/": "/sessions/",
},
integrations: [
preload(),
Expand Down
2 changes: 1 addition & 1 deletion src/content/deadlines/00_cfp.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Call for Proposals
subtitle: Extended until February 3rd
url: /programme/cfp
url: /cfp
image: "./cfp.jpg"
---

Expand Down
2 changes: 1 addition & 1 deletion src/content/deadlines/00_mentorship.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Speaker Mentorship
subtitle: Open until 21st January
url: /programme/mentorship
url: /mentorship
image: mentorship1.jpg
---

Expand Down
2 changes: 1 addition & 1 deletion src/content/deadlines/00_voting.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Community Voting
subtitle: Closed on February 17th
url: /programme/voting/
url: /voting/
image: voting.jpg
---

Expand Down
16 changes: 8 additions & 8 deletions src/content/pages/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ subtitle: Frequently Asked Questions about EuroPython

<ul className="milestone-done">
<li>**12 December 2024** Call for Teams starts</li>
<li>**10 January 2025** [Call for Proposals (CfP)](/programme/cfp/) opens</li>
<li>**11 January 2025** [Speaker Mentorship Programme](/programme/mentorship/) sign-up opens</li>
<li>**10 January 2025** [Call for Proposals (CfP)](/cfp) opens</li>
<li>**11 January 2025** [Speaker Mentorship Programme](/mentorship) sign-up opens</li>
<li>**21 January 2025:** Speaker Mentorship signup closes</li>
<li>**30 January 2025:** [Call for Reviewers](https://forms.gle/4GTJjwZ1nHBGetM18) & review process begin</li>
<li>**3 February 2025:** Extended Call for Proposals (CfP) closes</li>
<li>**5 February 2025:** Proposal Review process starts</li>
<li>**6 February 2025:** [Community Voting](/programme/voting/) starts</li>
<li>**6 February 2025:** [Community Voting](/voting) starts</li>
<li>**17 February 2025:** Community Voting and Review ends</li>
<li>**8 March 2025** [Financial Aid](/finaid/) Programme starts</li>
<li>**8 March 2025** [Financial Aid](/finaid) Programme starts</li>
<li>**11 March 2025:** [Sponsorship](/sponsor) Sign-up Starts</li>
<li>**27 March 2025:** [Ticket sales](/tickets) open!</li>
<li>**February/March 2025** Programme selection process</li>
Expand Down Expand Up @@ -157,9 +157,9 @@ Share your ideas with the programme team at [[email protected]](mailto:pro

<Accordion title="When can I submit a talk proposal?" id="submit">

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).
Sadly, at this point you cannot. The [Call for Proposals (CfP)](/cfp) was open from **the 10th of January to the 3rd of February 2025** (including an extension of the original deadline).

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

</Accordion>

Expand All @@ -169,7 +169,7 @@ Need support with your submission? Explore our [Speaker Mentorship Programme](/p

Once the CfP closes, all proposals go through **community voting and two rounds of review and refinement** to finalise the programme.

Learn more about our selection process [here](/programme/selection/).
Learn more about our selection process [here](/selection).


</Accordion>
Expand All @@ -181,7 +181,7 @@ Learn more about our selection process [here](/programme/selection/).

Speakers needing travel support are encouraged to apply for [Financial Aid](/finaid).

We actively support first-time speakers and welcome participation from under-represented groups in tech. Learn more through our [Speaker Mentorship Programme](/programme/mentorship).
We actively support first-time speakers and welcome participation from under-represented groups in tech. Learn more through our [Speaker Mentorship Programme](/mentorship).

Got any questions? Reach out to us at [[email protected]](mailto:[email protected]).

Expand Down
4 changes: 2 additions & 2 deletions src/content/pages/programme/cfp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ If you’re thinking, “but they don’t mean me”, then we especially mean **
* If you think you’re an imposter, join us — many of the EuroPython organisers feel this way.
* This is a volunteer-led community, so join us — you will be welcomed with friendship, support and compassion.

To get some inspiration for talk ideas, check out the [tracks](https://ep2025.europython.eu/programme/tracks/) we're running this year. We also run a [mentorship program](https://ep2025.europython.eu/programme/mentorship/) to help people with their proposals: we'd love to hear from you if you want to sign up as a mentor or mentee.
To get some inspiration for talk ideas, check out the [tracks](/tracks) we're running this year. We also run a [mentorship program](/mentorship) to help people with their proposals: we'd love to hear from you if you want to sign up as a mentor or mentee.

Finally, you can find out more about the [selection process](https://ep2025.europython.eu/programme/selection/) all talks go through after submission.
Finally, you can find out more about the [selection process](/selection) all talks go through after submission.

## How to write a proposal

Expand Down
2 changes: 1 addition & 1 deletion src/content/pages/programme/voting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ one that has been used for any of the following:

- Go to the [Community Voting page](https://voting.europython.eu).
- Enter an eligible email address (see [Who can
participate](/programme/voting/#who-can-participate) above).
participate](/voting/#who-can-participate) above).
- If the email is known to us, you will receive an email with a confirmation
link.
- Check your inbox (and spam) for the email with the confirmation link - click
Expand Down
14 changes: 7 additions & 7 deletions src/data/links.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,31 @@
},
{
"name": "Tracks",
"path": "/programme/tracks"
"path": "/tracks"
},
{
"name": "Selection Process",
"path": "/programme/selection"
"path": "/selection"
},
{
"name": "Community Voting",
"path": "/programme/voting"
"path": "/voting"
},
{
"name": "Speaker Mentorship",
"path": "/programme/mentorship"
"path": "/mentorship"
},
{
"name": "C API Summit",
"path": "/programme/c-api-summit"
"path": "/c-api-summit"
},
{
"name": "WebAssembly Summit",
"path": "/programme/wasm-summit"
"path": "/wasm-summit"
},
{
"name": "Rust Summit",
"path": "/programme/rust-summit"
"path": "/rust-summit"
}
]
},
Expand Down
23 changes: 18 additions & 5 deletions src/pages/[...slug].astro
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,25 @@ import SponsorTiers from "../components/sponsor-tiers/sponsor-tiers.astro";
import Accordion from "../components/accordion/accordion.astro";

export async function getStaticPaths() {
const posts = await getCollection("pages");
return posts.map((post) => ({
params: { slug: post.slug },
props: post,
}));
const pages = await getCollection("pages");

return pages.flatMap((page) => {
const slugParts = page.slug.split("/");
const shortSlug = slugParts[slugParts.length - 1];

const paths = [
{ params: { slug: page.slug }, props: page }, // long slug
];

// only add short slug if it's not the same
if (page.slug !== shortSlug) {
paths.push({ params: { slug: shortSlug }, props: page }); // short slug
}

return paths;
});
}

type Props = CollectionEntry<"pages">;

const post = Astro.props;
Expand Down