diff --git a/public/img/eps-logo-white.png b/public/eps-logo-white.png similarity index 100% rename from public/img/eps-logo-white.png rename to public/eps-logo-white.png diff --git a/public/img/eps-logo.png b/public/eps-logo.png similarity index 100% rename from public/img/eps-logo.png rename to public/eps-logo.png diff --git a/public/img/accents/finaid-round1.svg b/public/finaid-round1.svg similarity index 100% rename from public/img/accents/finaid-round1.svg rename to public/finaid-round1.svg diff --git a/public/img/accents/finaid-round2.svg b/public/finaid-round2.svg similarity index 100% rename from public/img/accents/finaid-round2.svg rename to public/finaid-round2.svg diff --git a/public/icons/calendar.svg b/public/icons/calendar.svg deleted file mode 100644 index 717d78d7e..000000000 --- a/public/icons/calendar.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/icons/pin.svg b/public/icons/pin.svg deleted file mode 100644 index 3216d47ea..000000000 --- a/public/icons/pin.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/components/hero2/conference_photo.jpg b/public/images/conference_photo.jpg similarity index 100% rename from src/components/hero2/conference_photo.jpg rename to public/images/conference_photo.jpg diff --git a/public/img/list-item.svg b/public/img/list-item.svg deleted file mode 100644 index e97d8d96d..000000000 --- a/public/img/list-item.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/placeholder.png b/public/placeholder.png deleted file mode 100644 index 25d8b8964..000000000 Binary files a/public/placeholder.png and /dev/null differ diff --git a/src/assets/prague.svg b/public/prague.svg similarity index 100% rename from src/assets/prague.svg rename to public/prague.svg diff --git a/src/assets/prague2.jpg b/public/prague2.jpg similarity index 100% rename from src/assets/prague2.jpg rename to public/prague2.jpg diff --git a/public/sponsor-swag/.gitkeep b/public/sponsor-swag/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/assets/placeholder.png b/src/assets/placeholder.png deleted file mode 100644 index 25d8b8964..000000000 Binary files a/src/assets/placeholder.png and /dev/null differ diff --git a/src/assets/placeholder.svg b/src/assets/placeholder.svg deleted file mode 100644 index 80bd195ca..000000000 --- a/src/assets/placeholder.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/prague.png b/src/assets/prague.png deleted file mode 100644 index c5e3c404a..000000000 Binary files a/src/assets/prague.png and /dev/null differ diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 9a0f7c488..4a8cd8a45 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,7 +1,7 @@ --- import SocialLinks from "@components/SocialLinks.astro"; import links from "@data/links.json"; -import EPSLogo from "../../public/eps-logo.svg"; +import EPSLogo from "/public/eps-logo.svg"; const buildTimestamp = __TIMESTAMP__; const gitVersion = __GIT_VERSION__; diff --git a/src/components/map/map.tsx b/src/components/Map.astro similarity index 70% rename from src/components/map/map.tsx rename to src/components/Map.astro index f41cd6c02..ebe0b858c 100644 --- a/src/components/map/map.tsx +++ b/src/components/Map.astro @@ -1,10 +1,10 @@ -export const Map = () => ( + -); + diff --git a/src/components/accent/accent.astro b/src/components/accent/accent.astro deleted file mode 100644 index 1020b92b6..000000000 --- a/src/components/accent/accent.astro +++ /dev/null @@ -1,12 +0,0 @@ ---- -import { Image } from "astro:assets"; -import clockImage from "./astronomical_clock.svg"; ---- - -
- -
diff --git a/src/components/accent/astronomical_clock.png b/src/components/accent/astronomical_clock.png deleted file mode 100644 index bae601068..000000000 Binary files a/src/components/accent/astronomical_clock.png and /dev/null differ diff --git a/src/components/accent/astronomical_clock.svg b/src/components/accent/astronomical_clock.svg deleted file mode 100644 index 4a4bb0678..000000000 --- a/src/components/accent/astronomical_clock.svg +++ /dev/null @@ -1,9 +0,0 @@ - - astronomical_clock - - - - - - \ No newline at end of file diff --git a/src/components/benefits-list/benefit-item.astro b/src/components/benefits-list/benefit-item.astro deleted file mode 100644 index 44991920e..000000000 --- a/src/components/benefits-list/benefit-item.astro +++ /dev/null @@ -1,34 +0,0 @@ ---- -export interface Props { - title: string; - icon: "award" | "headhunt" | "network" | "rocket" | "target" | "transfer"; -} - -import Award from "../icons/award.astro"; -import Headhunt from "../icons/headhunt.astro"; -import Network from "../icons/network.astro"; -import Rocket from "../icons/rocket.astro"; -import Target from "../icons/target.astro"; -import Transfer from "../icons/transfer.astro"; - -const { icon, title } = Astro.props; - -const Icon = { - award: Award, - headhunt: Headhunt, - network: Network, - rocket: Rocket, - target: Target, - transfer: Transfer, -}[icon]; ---- - -
-
- -
{title}
-
-
- -
-
diff --git a/src/components/benefits-list/benefits-list.astro b/src/components/benefits-list/benefits-list.astro deleted file mode 100644 index b312fe0a7..000000000 --- a/src/components/benefits-list/benefits-list.astro +++ /dev/null @@ -1 +0,0 @@ -
diff --git a/src/components/button-link/button-link.astro b/src/components/button-link/button-link.astro deleted file mode 100644 index 94891a4ca..000000000 --- a/src/components/button-link/button-link.astro +++ /dev/null @@ -1,30 +0,0 @@ ---- -import type React from "react"; - -export interface Props { - url?: string; - children: React.ReactNode; - disabled?: boolean; - className?: string; - secondary?: boolean; - isExternal?: boolean; -} - -const { - url, - className = "", - secondary = false, - disabled = false, -} = Astro.props; ---- - - - - diff --git a/src/components/card/card-container.tsx b/src/components/card/card-container.tsx deleted file mode 100644 index 7ee4f841e..000000000 --- a/src/components/card/card-container.tsx +++ /dev/null @@ -1,5 +0,0 @@ -export const CardContainer = ({ children }: { children: React.ReactNode }) => ( -
- {children} -
-); diff --git a/src/components/hero-section/title-with-cta.astro b/src/components/hero-section/title-with-cta.astro index d2aff0b82..491bb87fc 100644 --- a/src/components/hero-section/title-with-cta.astro +++ b/src/components/hero-section/title-with-cta.astro @@ -1,5 +1,5 @@ --- -import ButtonLink from "../button-link/button-link.astro"; +import Button from "@ui/Button.astro"; import { Title } from "../typography/title"; interface Props { @@ -19,7 +19,7 @@ const { title, subtitle, buttonText, buttonUrl } = Astro.props; { buttonText && buttonUrl && (
- {buttonText} +
) } diff --git a/src/components/hero2/hero.astro b/src/components/hero2/hero.astro deleted file mode 100644 index 2c4e5c76b..000000000 --- a/src/components/hero2/hero.astro +++ /dev/null @@ -1,232 +0,0 @@ ---- -import { Image } from "astro:assets"; -import heroImage from "./conference_photo.jpg"; - -import IconWithLabel from "./icon-label.astro"; -import Button from "@ui/Button.astro"; - -const action1 = "/tickets"; -const action2 = "/sponsorship/sponsor/"; ---- - -
-
-
- - - - - - - - - - - -
-
-
-
- -
-

- EuroPython -

-
-

- Discover the latest Python trends, learn from 180+ expert speakers, - network with fellow developers, enjoy social events, and explore open - spaces to spark new ideas. -

-
- -
-
- -
-
- -
-
- - -
-
- -
-
- -
-
-
- -
-
-
- -
- EuroPython 2025 Hero Image -
-
- -
-
-
- - - -
-
-

7

-

Days

-
-
-
-
- - - -
-
-

1.3k+

-

Attendees

-
-
-
-
- - - - -
-
-

180+

-

Speakers

-
-
-
-
-
- - - diff --git a/src/components/hero2/hero.svg b/src/components/hero2/hero.svg deleted file mode 100644 index 3cae48cfe..000000000 --- a/src/components/hero2/hero.svg +++ /dev/null @@ -1,1988 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/components/hero2/icon-label.astro b/src/components/hero2/icon-label.astro deleted file mode 100644 index c432cd87d..000000000 --- a/src/components/hero2/icon-label.astro +++ /dev/null @@ -1,22 +0,0 @@ ---- -const { icon, label } = Astro.props; - -const iconPath = `/icons/${icon}.svg`; ---- - - -
-
- {label} -
- - {label} -
- - diff --git a/src/components/icons/award.astro b/src/components/icons/award.astro deleted file mode 100644 index 03c0196ef..000000000 --- a/src/components/icons/award.astro +++ /dev/null @@ -1,36 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - - - - - - - - - - - - diff --git a/src/components/icons/headhunt.astro b/src/components/icons/headhunt.astro deleted file mode 100644 index 3c8f857fb..000000000 --- a/src/components/icons/headhunt.astro +++ /dev/null @@ -1,36 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - - - - - - - - - - - - diff --git a/src/components/icons/network.astro b/src/components/icons/network.astro deleted file mode 100644 index adc6fb932..000000000 --- a/src/components/icons/network.astro +++ /dev/null @@ -1,34 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - - - - - - - - - - diff --git a/src/components/icons/rocket.astro b/src/components/icons/rocket.astro deleted file mode 100644 index d36748b9c..000000000 --- a/src/components/icons/rocket.astro +++ /dev/null @@ -1,36 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - - - - - - - - - - - - diff --git a/src/components/icons/target.astro b/src/components/icons/target.astro deleted file mode 100644 index 02779f305..000000000 --- a/src/components/icons/target.astro +++ /dev/null @@ -1,35 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - - - - - - - - - - - - diff --git a/src/components/icons/transfer.astro b/src/components/icons/transfer.astro deleted file mode 100644 index 407b1c02b..000000000 --- a/src/components/icons/transfer.astro +++ /dev/null @@ -1,37 +0,0 @@ ---- -interface Props { - class?: string; -} - -const { class: className } = Astro.props; ---- - - - icon-transfer - - - - - - - - - - - - diff --git a/src/components/layout/fullbleed.tsx b/src/components/layout/fullbleed.tsx deleted file mode 100644 index 70ca89954..000000000 --- a/src/components/layout/fullbleed.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import clsx from "clsx"; - -export const Fullbleed = ({ - children, - className, -}: { - children: any; - className?: string; -}) => { - return
{children}
; -}; diff --git a/src/components/link/link.tsx b/src/components/link/link.tsx deleted file mode 100644 index 3589e7711..000000000 --- a/src/components/link/link.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import clsx from "clsx"; - -export const Link = ({ - href, - children, - className, - node, - ...props -}: { - href: string; - children: React.ReactNode; - className?: string; - node?: any; -}) => { - return ( - - {children} - - ); -}; diff --git a/src/components/map-for-sprints/index.tsx b/src/components/map-for-sprints/index.tsx deleted file mode 100644 index cab98e40e..000000000 --- a/src/components/map-for-sprints/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { MapSprints } from "./map-for-sprints"; diff --git a/src/components/map-for-sprints/map-for-sprints.tsx b/src/components/map-for-sprints/map-for-sprints.tsx deleted file mode 100644 index 3b1026e3a..000000000 --- a/src/components/map-for-sprints/map-for-sprints.tsx +++ /dev/null @@ -1,10 +0,0 @@ -export const MapSprints = () => ( - -); diff --git a/src/components/map/index.tsx b/src/components/map/index.tsx deleted file mode 100644 index fedda8187..000000000 --- a/src/components/map/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { Map } from "./map"; diff --git a/src/components/markdown/Center.astro b/src/components/markdown/Center.astro new file mode 100644 index 000000000..fad103aa1 --- /dev/null +++ b/src/components/markdown/Center.astro @@ -0,0 +1 @@ +
diff --git a/src/components/markdown/EPSLogo.astro b/src/components/markdown/EPSLogo.astro new file mode 100644 index 000000000..f1fef4b5d --- /dev/null +++ b/src/components/markdown/EPSLogo.astro @@ -0,0 +1,5 @@ +
+ + Logo of the EuroPython Society + +
diff --git a/src/components/markdown/IconLabel.astro b/src/components/markdown/IconLabel.astro new file mode 100644 index 000000000..c7595e4f3 --- /dev/null +++ b/src/components/markdown/IconLabel.astro @@ -0,0 +1,16 @@ +--- +import Icon from "@ui/Icon.astro"; + +export interface Props { + title: string; + icon: string; +} + +const { icon, title:label } = Astro.props; + +--- + +
+ + {label} +
diff --git a/src/components/nav-items/index.tsx b/src/components/nav-items/index.tsx deleted file mode 100644 index 92bc37423..000000000 --- a/src/components/nav-items/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { NavItems } from "./nav-items"; diff --git a/src/components/nav-items/nav-items.tsx b/src/components/nav-items/nav-items.tsx deleted file mode 100644 index 3a8078f17..000000000 --- a/src/components/nav-items/nav-items.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import clsx from "clsx"; - -type Item = { - name: string; - path?: string; - items?: Item[]; -}; - -type Props = { - items: Item[]; - inverted?: boolean; -}; - -export const NavItems = ({ items, inverted = false }: Props) => { - return ( - - ); -}; diff --git a/src/components/note/index.tsx b/src/components/note/index.tsx deleted file mode 100644 index a346fb703..000000000 --- a/src/components/note/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { Note } from "./note"; diff --git a/src/components/note/note.tsx b/src/components/note/note.tsx deleted file mode 100644 index e9790626f..000000000 --- a/src/components/note/note.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export const Note = ({ children }: { children: React.ReactNode }) => { - return ( -

- {children} -

- ); -}; diff --git a/src/components/sections/hero/hero.astro b/src/components/sections/hero/hero.astro new file mode 100644 index 000000000..3bc454ee0 --- /dev/null +++ b/src/components/sections/hero/hero.astro @@ -0,0 +1,214 @@ +--- +import { Image } from "astro:assets"; +import heroImage from "/public/images/conference_photo.jpg"; + +import IconWithLabel from "./icon-label.astro"; +import Icon from "@ui/Icon.astro"; +import Button from "@ui/Button.astro"; + +const action1 = "/tickets"; +const action2 = "/sponsorship/sponsor/"; +--- + +
+
+
+ + + + + + + + + + + +
+
+
+
+ +
+

+ EuroPython +

+
+

+ Discover the latest Python trends, learn from 180+ expert speakers, + network with fellow developers, enjoy social events, and explore open + spaces to spark new ideas. +

+
+ +
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+ EuroPython 2025 Hero Image +
+
+ +
+
+
+ +
+
+

7

+

Days

+
+
+
+
+ +
+
+

1.3k+

+

Attendees

+
+
+
+
+ +
+
+

180+

+

Speakers

+
+
+
+
+
+ + +
diff --git a/src/components/sections/hero/icon-label.astro b/src/components/sections/hero/icon-label.astro new file mode 100644 index 000000000..a18411fe5 --- /dev/null +++ b/src/components/sections/hero/icon-label.astro @@ -0,0 +1,14 @@ +--- +const { icon, label } = Astro.props; + +import Icon from "@ui/Icon.astro"; +--- + +
+
+ +
+ {label} +
diff --git a/src/components/sections/prague.astro b/src/components/sections/prague.astro index e58f1f5c7..9ef47db9a 100644 --- a/src/components/sections/prague.astro +++ b/src/components/sections/prague.astro @@ -1,8 +1,8 @@ --- import Button from "@ui/Button.astro"; import { Image } from "astro:assets"; -import pragueImage from "@assets/prague2.jpg"; -import Logo from "@assets/prague.svg"; +import pragueImage from "/public/prague2.jpg"; +import Logo from "/public/prague.svg"; import Headline from "@ui/Headline.astro"; import Section from "@ui/Section.astro" --- @@ -37,7 +37,7 @@ import Section from "@ui/Section.astro" -
+
@@ -51,7 +51,8 @@ import Section from "@ui/Section.astro" .city { position: relative; top: 0; - width: 100vw; + width: 100%; + grid-column: 1 / 4; } .city svg { width: 100vw; @@ -59,4 +60,5 @@ import Section from "@ui/Section.astro" bottom: -4px; z-index: 1; } + diff --git a/src/components/sections/updates.astro b/src/components/sections/updates.astro index 8af09e3dc..123abb9e9 100644 --- a/src/components/sections/updates.astro +++ b/src/components/sections/updates.astro @@ -1,27 +1,19 @@ --- - -import { CardContainer } from "@components/card/card-container"; import DeadlineCard from "@components/deadline-card.astro"; -import Headline from "@ui/Headline.astro" +import Headline from "@ui/Headline.astro"; import { getCollection } from "astro:content"; -import Section from "@ui/Section.astro" +import Section from "@ui/Section.astro"; let deadlines = await getCollection("deadlines"); deadlines = deadlines .sort((a, b) => a.slug.localeCompare(b.slug)) .reverse() .slice(0, 6); - --- -
- - - {deadlines.map((deadline) => )} - -
- +
+ +
+ {deadlines.map((deadline) => )} +
+
diff --git a/src/components/separator/separator.tsx b/src/components/separator/separator.tsx deleted file mode 100644 index 449e452dd..000000000 --- a/src/components/separator/separator.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import clsx from "clsx"; - -export const Separator = ({ light = false }: any) => ( -
-); diff --git a/src/components/sponsor-tiers/sponsor-tiers.astro b/src/components/sponsor-tiers/sponsor-tiers.astro index aa4045258..f78f2b3b4 100644 --- a/src/components/sponsor-tiers/sponsor-tiers.astro +++ b/src/components/sponsor-tiers/sponsor-tiers.astro @@ -1,7 +1,7 @@ --- import { Title } from "../typography/title"; import Ribbon from "./ribbon.astro"; -import ButtonLink from "../button-link/button-link.astro"; +import Button from "@ui/Button.astro"; interface Props { signupLink: string; @@ -233,7 +233,7 @@ const formatPrice = (price: number | string) => { ))}
- Sign Up Now! +
)) @@ -291,7 +291,7 @@ const formatPrice = (price: number | string) => { ))}
- Sign Up Now! +
)) @@ -347,7 +347,7 @@ const formatPrice = (price: number | string) => { ))}
- Sign Up Now! +
)) diff --git a/src/components/sponsors/sponsors.astro b/src/components/sponsors/sponsors.astro index 10a72b0d1..2a51352c9 100644 --- a/src/components/sponsors/sponsors.astro +++ b/src/components/sponsors/sponsors.astro @@ -1,6 +1,6 @@ --- import { getCollection } from "astro:content"; -import { Separator } from "../separator/separator"; +import Separator from "@ui/Separator.astro"; import { Fragment } from "react"; import Headline from "@ui/Headline.astro" import Section from "@ui/Section.astro" diff --git a/src/components/ui/Note.astro b/src/components/ui/Note.astro new file mode 100644 index 000000000..0177cbe2b --- /dev/null +++ b/src/components/ui/Note.astro @@ -0,0 +1,56 @@ +--- + +interface Props { + type: "warning" | "info" | "success" | "error"; + title?: string; + icon?: string; +} + +const { type="info", title, icon } = Astro.props; + +// Define styles for different note types +const styles = { + warning: { + bg: "bg-[rgb(255,252,204)]", + text: "text-[rgb(153,101,21)]", + border: "border-[rgb(255,204,0)]", + defaultIcon: "fas fa-exclamation-triangle fa-2x", + defaultTitle: "Warning" + }, + info: { + bg: "bg-[rgb(229,246,253)]", + text: "text-[rgb(27,95,133)]", + border: "border-[rgb(83,177,234)]", + defaultIcon: "fas fa-info-circle fa-2x", + defaultTitle: "Info" + }, + success: { + bg: "bg-[rgb(237,247,237)]", + text: "text-[rgb(48,112,60)]", + border: "border-[rgb(98,187,112)]", + defaultIcon: "fas fa-check-circle fa-2x", + defaultTitle: "Success" + }, + error: { + bg: "bg-[rgb(253,237,237)]", + text: "text-[rgb(156,38,38)]", + border: "border-[rgb(244,99,99)]", + defaultIcon: "fas fa-times-circle fa-2x", + defaultTitle: "Error" + } +}; + +const currentStyle = styles[type]; +const noteIcon = icon || currentStyle.defaultIcon; +const noteTitle = title || currentStyle.defaultTitle; +--- + +

+ { noteIcon && + + } + + {title && {noteTitle}:} + + +

diff --git a/src/components/ui/Separator.astro b/src/components/ui/Separator.astro new file mode 100644 index 000000000..77445e8bb --- /dev/null +++ b/src/components/ui/Separator.astro @@ -0,0 +1,2 @@ + +
diff --git a/src/content/pages/beginners-day.mdx b/src/content/pages/beginners-day.mdx index d1560277a..678ca757a 100644 --- a/src/content/pages/beginners-day.mdx +++ b/src/content/pages/beginners-day.mdx @@ -19,13 +19,10 @@ The number of places available for each track is as follows: * **Django Girls**: 40 places * **Humble Data**: 18 places -

-
-Apply for Beginners' Day! -
+ ## Beginners' Day Unconference @@ -46,11 +43,7 @@ No prior knowledge is required: just bring your curiosity and a laptop, and by t We are also looking for **mentors** for Django Girls. Applications for mentors close on May 18th, and successful mentors will be informed by May 25th. -
- -Become a Django Girls Mentor! - -
+ ## Humble Data @@ -60,8 +53,4 @@ No prior programming or data science experience is necessary: just bring your la We are also looking for **mentors** for Humble Data. Applications for mentors close on May 18th, and successful mentors will be informed by May 25th. -
- -Become a Humble Data Mentor! - -
+ diff --git a/src/content/pages/finaid.mdx b/src/content/pages/finaid.mdx index 97208a5e5..40e57a720 100644 --- a/src/content/pages/finaid.mdx +++ b/src/content/pages/finaid.mdx @@ -18,12 +18,7 @@ You’ll find all the information you need to apply for such a grant below. ## Financial Aid Sponsors -
- - Logo of the EuroPython Society - -
- + The EuroPython Society is sponsoring the Financial Aid Programme again this year. If you want to support EuroPython and its efforts to make EuroPython accessible @@ -64,9 +59,7 @@ for a grant: You can apply for Financial Aid by filling out the form. -
- Apply Now if You Need the Support -
+ The data we collect on this form will exclusively be used by our Financial Aid team for the selection of grant recipients and the processing of financial @@ -92,80 +85,16 @@ early.** **Note:** dates in the timeline follow the [Anywhere on Earth][AoE] convention. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
8 March 2025Applications open
4 April 2025 - round one - Deadline for submitting first-round applications
25 April 2025 - round one - First round of grant notifications
2 May 2025 - round one - Deadline to accept a first-round grant
9 May 2025 - round two - Deadline for submitting second-round applications[^round-1-vs-round-2]
30 May 2025 - round two - Second round of grant notifications
6 June 2025 - round two - Deadline to accept a second-round grant
25 July 2025Deadline for submitting receipts/invoices
+| |      | | +|---|-------|---| +| 8 March 2025 || Applications open | +| **4 April 2025** | ![round one](/finaid-round1.svg) | **Deadline for submitting first-round applications** | +| 25 April 2025 | ![round one](/finaid-round1.svg) | First round of grant notifications | +| 2 May 2025 | ![round one](/finaid-round1.svg) | Deadline to accept a first-round grant | +| **9 May 2025** | ![round two](/finaid-round2.svg) | **Deadline for submitting second-round applications [1](/finaid#user-content-fn-round-1-vs-round-2)** | +| 30 May 2025 | ![round two](/finaid-round2.svg) | Second round of grant notifications | +| 6 June 2025 | ![round two](/finaid-round2.svg) | Deadline to accept a second-round grant | +| 25 July 2025 || Deadline for submitting receipts/invoices | [^round-1-vs-round-2]: If you've already applied for round 1, you don't have to reapply for round 2. Your application will automatically be considered for round diff --git a/src/content/pages/programme/cfp.mdx b/src/content/pages/programme/cfp.mdx index 4e972d6a3..187797234 100644 --- a/src/content/pages/programme/cfp.mdx +++ b/src/content/pages/programme/cfp.mdx @@ -11,9 +11,9 @@ The Call for Proposals ran from the 10th of January to the 3rd of February 2025, **Community Voting & Call for Reviewers are also closed.** -
+
**Thank you for your support!** -
+ ----- EuroPython reflects the colourful and diverse backgrounds, cultures and interests of our community, so you (yes, you!) should go for it: propose something and represent! diff --git a/src/content/pages/programme/mentorship.mdx b/src/content/pages/programme/mentorship.mdx index 26afef496..e41e79bcd 100644 --- a/src/content/pages/programme/mentorship.mdx +++ b/src/content/pages/programme/mentorship.mdx @@ -26,9 +26,7 @@ mentee what their contribution should be (that's for the mentee to decide). ## Mentors -
- Signup closed -
+ We expect mentors to have past speaking experience at conferences similar to EuroPython. @@ -47,9 +45,7 @@ You will also be invited to join the panel of the Webinar Workshops. ## Mentee -
- Signup closed -
+ If you require help contributing to EuroPython, especially if you are from an underrepresented or a marginalised group in the tech industry, you are welcome @@ -64,9 +60,7 @@ After the CfP, we will host an online panel session with 2–3 experienced commu **Time**: 6 PM CEST (60-90 mins, depending on the amount of questions) -
- Sign Up Now -
+ You can watch the recording of the previous year's workshop here: diff --git a/src/content/pages/programme/voting.mdx b/src/content/pages/programme/voting.mdx index b1e505099..2eddad182 100644 --- a/src/content/pages/programme/voting.mdx +++ b/src/content/pages/programme/voting.mdx @@ -15,16 +15,15 @@ educational and entertaining programme. Your feedback is an important ingredient in this refinement and curation process. -
- +
Community Voting is Closed. It was open from Wednesday, 5 February 23:00:00 UTC until Monday, 17 February 23:59:59 UTC +
-Thank you for casting your votes! -
+ --- @@ -89,12 +88,9 @@ programme team who curate and are responsible for the final programme, but one of the major factors upon which they rely, will be the preferences of the community through this voting process. - - Go to the community voting - +>Go to the community voting **[Subscribe to our newsletter](https://blog.europython.eu/#/portal/signup)** diff --git a/src/content/pages/sponsorship/information.mdx b/src/content/pages/sponsorship/information.mdx index 444410a91..41741910f 100644 --- a/src/content/pages/sponsorship/information.mdx +++ b/src/content/pages/sponsorship/information.mdx @@ -9,7 +9,7 @@ subtitle: This page lists all sponsor deliverables and deadlines to help you plan and make the most of your sponsorship. -⚠️ All deadlines below are **hard deadlines**. +All deadlines below are **hard deadlines**. Unfortunately, we won’t be able to accept late submissions or offer refunds if anything is missed. @@ -135,7 +135,7 @@ However, we strongly recommend keeping booths staffed throughout the opening hou On top of what is already included in your booth as part of the package, you can order add-ons, such as TV sets and furniture for your booth. -ℹ️ Packages of **Platinum and above** already include **a TV and stand** as part of the booth. +Packages of **Platinum and above** already include **a TV and stand** as part of the booth. Gold and Silver sponsors can order a TV and stand separately, if needed - **⏲️ Deadline** for booth customisation order: **Sunday, 8 June 2025**. @@ -364,7 +364,7 @@ Creative Commons license to avoid copyright issues or strikes on our YouTube cha You can submit different video files or reuse the same video in both. The number of video ads you submit is up to you. We recommend **2 to 10** files. Higher sponsorship levels will receive more ad share. - **Important**: To avoid attachment size limits, please upload your videos to a file-sharing service + **Important**: To avoid attachment size limits, please upload your videos to a file-sharing service (e.g. Dropbox, Google Drive, WeTransfer, OneDrive) and send us the download link. - **⏲️ Deadline** for submitting video ad links: **Monday, 23 June 2025** diff --git a/src/content/pages/sponsorship/sponsor.mdx b/src/content/pages/sponsorship/sponsor.mdx index d4f37d20a..5d7bc2043 100644 --- a/src/content/pages/sponsorship/sponsor.mdx +++ b/src/content/pages/sponsorship/sponsor.mdx @@ -24,21 +24,17 @@ Join **EuroPython 2025 from 14 – 20 July** at the Prague Congress Centre (PCC)
Hear from our sponsors at EuroPython 2023
Explore the benefits of sponsoring EuroPython: - -Boost your brand and connect with **1,500 Pythonistas** at this leading Python event. -Showcase your product to an engaged audience and **turn visibility into high-quality leads**. -Build **positive brand association** and gain community respect & appreciation. -Tap into the expertise of the Python community to **upskill your team**. -Access **a pool of talented Python developers** looking for their next opportunity. - Discover new avenues and opportunities to **expand and grow your business**. - -#### Ready to Become a EuroPython 2025 Sponsor? -
+| | | | +|--------------------------------------------------------------------------------------- |----------------------------------------------------------------------------------------------- |--------------------------------------------------------------------------------- | +| Boost your brand and connect with **1,500 Pythonistas** at this leading Python event. | Showcase your product to an engaged audience and **turn visibility into high-quality leads**. | Build **positive brand association** and gain community respect & appreciation. | -Sign Up Now to Secure Your Spot! +| | | | +|--------------------------------------------------------------------------------------- |----------------------------------------------------------------------------------------------- |--------------------------------------------------------------------------------- | +| Tap into the expertise of the Python community to **upskill your team**. | Access **a pool of talented Python developers** looking for their next opportunity. | Discover new avenues and opportunities to **expand and grow your business**. | -
+#### Ready to Become a EuroPython 2025 Sponsor? + --- @@ -47,10 +43,8 @@ Explore the benefits of sponsoring EuroPython: At EuroPython 2025, we offer **seven main packages** to ensure supporting the Python community is accessible for organisations of all sizes. -
-Full Sponsorship Opportunities (PDF) -Sign up now! -
+ + @@ -84,9 +78,7 @@ We also offer opportunities for ➡️ **Availability is limited**, and some add-ons are exclusive to certain sponsorship levels. See the full list in the [PDF](https://drive.google.com/file/d/1AGvH0w3fMLRvaNDa5VPCs78rtc4MnL6h/view?usp=sharing) for complete details and eligibility. -
-Secure Your Sponsorship Now! -
+ ## Discounts @@ -124,9 +116,7 @@ book a free table! Please note that places are limited, so get in touch soon! --- ### Support the European Python Community - - Logo of the EuroPython Society - + By sponsoring the EuroPython Conference Series, **you're supporting the non-profit [EuroPython Society (EPS)](https://www.europython-society.org/)**, the volunteer-led organisation behind EuroPython. Our proceeds from the conference go towards the **[EPS Grants Programme](https://www.europython-society.org/grants/)**, which funds community-driven Python events and initiatives across Europe. **Your contribution helps make Python more accessible and inclusive across Europe**. diff --git a/src/content/pages/test.mdx b/src/content/pages/test.mdx index 2bad982f3..90bc1f5f8 100644 --- a/src/content/pages/test.mdx +++ b/src/content/pages/test.mdx @@ -236,10 +236,7 @@ Barking up the right tree ## Images - - This image is public, stored in /public, so no import is needed - Logo of the EuroPython Society - + This image is internal, in /src, so import is needed @@ -256,17 +253,12 @@ Barking up the right tree />
Hear from our CHO at EuroPython 2023
-## ButtonLinks -
- JOIN THE REVIEWER TEAM! -
+## Button Links + -
+ - Signup closed, no URL present -
- -Go to the community voting + ## YouTube diff --git a/src/content/pages/tickets.mdx b/src/content/pages/tickets.mdx index 5a88936b5..c0d32948f 100644 --- a/src/content/pages/tickets.mdx +++ b/src/content/pages/tickets.mdx @@ -12,9 +12,7 @@ import TicketTiers from "../../components/ticket-tiers/ticket-tiers.astro"; Discover the latest Python trends, learn from 180+ expert speakers, network with fellow developers, enjoy social events, and explore open spaces to spark new ideas! Organized by the community for the community. -
-Beam me up to the ticket shop! -
+ ## Where and When? @@ -42,17 +40,10 @@ Each ticket type is available in three pricing tiers. We trust you to choose the As a non-profit, every ticket you buy goes back into the Python community. Whether by our
financial aid programme, helping those in need of support, like students, attend the conference, or supporting Python communities across Europe through our EPS Grants programme. - - - If your company is covering your ticket or you use Python professionally, this is the right tier for you. By choosing this option, you help us keep the conference accessible. Thank you! - - - Are you a Python enthusiast, hobbyist, or freelancer? This ticket is for you! It's priced for individuals paying their own way, so you can enjoy the conference at a fair and affordable rate. - - - If you're a student or an educator working in schools or universities, this ticket is for you. We offer subsidized pricing so students and educators can join in and be part of the conference! - - +| | | | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| If your company is covering your ticket or you use Python professionally, this is the right tier for you. By choosing this option, you help us keep the conference accessible. Thank you! | Are you a Python enthusiast, hobbyist, or freelancer? This ticket is for you! It's priced for individuals paying their own way, so you can enjoy the conference at a fair and affordable rate. | If you're a student or an educator working in schools or universities, this ticket is for you. We offer subsidized pricing so students and educators can join in and be part of the conference! | + If you need a VAT invoice with your company's name, please purchase a Business Ticket. Personal Tickets do not include a company name. To assist the registration staff, your conference badge will display the ticket tier and type. @@ -88,9 +79,7 @@ Is your company attending the conference as a team? We offer the following volum #### Sponsorship If you're purchasing multiple tickets, please consider sponsoring the event! -
- Learn About Sponsorship -
+ ### Additional Information @@ -140,6 +129,4 @@ If you're purchasing multiple tickets, please consider sponsoring the event! If you have any questions, check our FAQ first. Still need help? Our wonderful volunteer team at the EuroPython Helpdesk is happy to assist—don't hesitate to reach out! -
-Beam me up to the ticket shop! -
+ diff --git a/src/content/pages/visa.mdx b/src/content/pages/visa.mdx index 75d8aefe8..30e6ddb25 100644 --- a/src/content/pages/visa.mdx +++ b/src/content/pages/visa.mdx @@ -25,9 +25,7 @@ Every registered attendee is welcome to request a visa support letter issued by Simply fill in the form **1 week before your planned visa application**: -
- Visa Support Letter Request Form -
+ We will send you the completed letter via email. diff --git a/src/layouts/MarkdownLayout.astro b/src/layouts/MarkdownLayout.astro index 2ec404fdd..0fa455a58 100644 --- a/src/layouts/MarkdownLayout.astro +++ b/src/layouts/MarkdownLayout.astro @@ -1,7 +1,6 @@ --- import Layout from "@layouts/Layout.astro"; import Section from "@ui/Section.astro"; -import Prose from "@components/prose/prose.astro"; import TwoCols from "@components/TwoCols.astro"; import "../styles/markdown.css"; diff --git a/src/layouts/ScheduleLayout.astro b/src/layouts/ScheduleLayout.astro index 59de87c24..ce3606d11 100644 --- a/src/layouts/ScheduleLayout.astro +++ b/src/layouts/ScheduleLayout.astro @@ -1,6 +1,7 @@ --- import Layout from "@layouts/Layout.astro"; import Section from "@ui/Section.astro"; +import Note from "@ui/Note.astro"; export interface Props { title?: string; @@ -16,10 +17,7 @@ const { title, description } = Astro.props;
-

- - Important: This is an early version of the schedule and may still change. If you're planning travel around specific sessions, please keep that in mind. -

+ This is an early version of the schedule and may still change. If you're planning travel around specific sessions, please keep that in mind.
diff --git a/src/pages/404.astro b/src/pages/404.astro index a0277747f..45c9f04ed 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,13 +1,11 @@ --- -import Layout from "../layouts/Layout.astro"; -import { Fullbleed } from "../components/layout/fullbleed"; +import Layout from "@layouts/Layout.astro"; --- -
-