Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ dmypy.json
.pyre/

.vscode/
.idea/
out/
.next/
.DS_Store
Expand All @@ -138,3 +139,6 @@ storybook-static/
# Sentry Auth Token
.sentryclirc
.astro

# EuroPython website
src/content/days
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
# Replace "/" and other non-alphanumeric characters with "-"
SAFE_BRANCH := $(shell echo "$(BRANCH)" | sed 's/[^A-Za-z0-9-]/-/g')
FORCE_DEPLOY ?= false
SITE_URL ?= "https://$(SAFE_BRANCH).ep-preview.click"

.PHONY: build deploy dev clean install


safe_branch:
@echo $(SAFE_BRANCH)

Expand All @@ -47,6 +47,7 @@ build:
preview: RELEASES_DIR = $(VPS_PREVIEW_PATH)/$(SAFE_BRANCH)/releases
preview: TARGET = $(RELEASES_DIR)/$(TIMESTAMP)
preview:
@echo "Preview site URL: $(SITE_URL)" # Output preview URL
echo $(TARGET)
@echo "\n\n**** Deploying preview of a branch '$(BRANCH)' (safe: $(SAFE_BRANCH)) to $(TARGET)...\n\n"
$(REMOTE_CMD) "mkdir -p $(TARGET)"
Expand Down
7 changes: 6 additions & 1 deletion astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import rehypeAutolinkHeadings from "rehype-autolink-headings";
import metaTags from "astro-meta-tags";
import pagefind from "astro-pagefind";
import deleteUnusedImages from "astro-delete-unused-images";
import preload from "astro-preload";

// https://astro.build/config
export default defineConfig({
Expand Down Expand Up @@ -59,9 +60,9 @@ export default defineConfig({
"/sponsor/": "/sponsorship/sponsor/",
"/voting/": "/programme/voting/",
"/wasm-summit/": "/programme/wasm-summit/",
"/sessions/": "/programme/sessions/",
},
integrations: [
preload(),
mdx(),
sitemap(),
react(),
Expand All @@ -76,6 +77,10 @@ export default defineConfig({
build: {
minify: true,
},
image: {
remotePatterns: [{ protocol: "https" }],
domains: ["programme.europython.eu", "placehold.co"],
},
experimental: {
svg: true,
},
Expand Down
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@
"astro-delete-unused-images": "^1.0.3",
"astro-meta-tags": "^0.3.1",
"astro-pagefind": "^1.8.1",
"astro-preload": "^1.1.2",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"date-fns-tz": "^3.2.0",
"hastscript": "^9.0.0",
"js-yaml": "^4.1.0",
"marked": "^15.0.7",
"pagefind": "^1.3.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
Expand All @@ -40,6 +43,7 @@
"typescript": "^5.8.3"
},
"devDependencies": {
"@types/js-yaml": "^4.0.9",
"prettier": "^3.4.2",
"prettier-plugin-astro": "^0.14.1"
},
Expand Down
29 changes: 29 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
Binary file added public/favicon.ico
Binary file not shown.
Binary file added public/placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 0 additions & 79 deletions scripts/download-data.py

This file was deleted.

Binary file added src/assets/placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/assets/placeholder.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/components/header/header-actions.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---
import ButtonLink from "../button-link/button-link.astro";
import Button from "@ui/Button.astro";
import HeaderButton from "./header-button.astro";
import Search from "astro-pagefind/components/Search";
Expand Down
2 changes: 0 additions & 2 deletions src/components/keynoters/keynoter.astro
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,9 @@ export interface Props {

const {
name,
slug,
tagline,
image,
placeholder,
order,
class: className,
} = Astro.props;

Expand Down
4 changes: 2 additions & 2 deletions src/components/keynoters/keynoters.astro
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ const placeholders = Math.max(0, 5 - keynoters.length);
</g>
</svg>

<Headline id="keynoters" title="Keynote Speakers" />
<Headline id="keynoters" title="Keynote Speakers" center=true />

<ul class="p-0 mt-12 flex gap-6 flex-wrap justify-center">
{
Expand Down Expand Up @@ -121,7 +121,7 @@ const placeholders = Math.max(0, 5 - keynoters.length);
<span class="text-body-light inline-block mr-2">#</span>
See other sessions
</h3>
<Button url="/programme/sessions">See sessions preview</Button>
<Button url="/sessions">See sessions preview</Button>
</div>
</div>
</section>
Expand Down
2 changes: 1 addition & 1 deletion src/components/schedule/speakers.astro
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const speakers = Astro.props.speakers

{
speakers.map((speaker, index) => (
<a href={`/speaker/${speaker.slug}`} class="inline">
<a href={`/speaker/${speaker.id}`} class="inline">
{speaker.data.name}
{index < speakers.length - 1 ? ", " : ""}
</a>
Expand Down
3 changes: 1 addition & 2 deletions src/components/sections/prague.astro
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
import Button from "@ui/Button.astro";
import { Title } from "@components/typography/title";
import { Image } from "astro:assets";
import pragueImage from "@assets/prague2.jpg";
import Logo from "@assets/prague.svg";
import Headline from "@ui/Headline.astro";
---

<div class="mt-12">
<Headline id="prague" title="Prague & Venue" />
<Headline id="prague" title="Prague & Venue" center=true />
</div>

<article class="lg:grid gap-12 grid-cols-2 items-center">
Expand Down
3 changes: 1 addition & 2 deletions src/components/sections/updates.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---

import { CardContainer } from "@components/card/card-container";
import { Title } from "@components/typography/title";
import DeadlineCard from "@components/deadline-card.astro";
import Headline from "@ui/Headline.astro"
import { getCollection } from "astro:content";
Expand All @@ -14,7 +13,7 @@ deadlines = deadlines

---
<section class="prose-xl m-0 my-12 p-0">
<Headline id="updates" title="Updates" />
<Headline id="updates" title="Updates" center=true />
<CardContainer>
{deadlines.map((deadline) => <DeadlineCard id={deadline.slug} />)}
</CardContainer>
Expand Down
6 changes: 3 additions & 3 deletions src/components/session-speakers.astro
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { getEntries } from "astro:content";

interface Props {
speakers: Array<{
slug: string;
id: string;
collection: "speakers";
}>;
}
Expand All @@ -13,15 +13,15 @@ const { speakers: speakersEntries } = Astro.props;
const speakers = await getEntries(
speakersEntries.map((entry) => ({
collection: entry.collection,
id: entry.slug,
id: entry.id,
})),
);
---

{
speakers.map((speaker, index) => (
<span class="inline">
<a href={`/speaker/${speaker.slug}`} class="underline">
<a href={`/speaker/${speaker.id}`} class="underline">
{speaker.data.name}
</a>
{index < speakers.length - 1 ? ", " : ""}
Expand Down
6 changes: 3 additions & 3 deletions src/components/sessions/list-sessions.astro
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ type Session = {
data: {
title: string;
speakers: Array<{
id: string;
collection: "speakers";
slug: string;
}>;
session_type: string;
track: string;
level: string;
};
slug: string;
id: string;
};
---

Expand All @@ -30,7 +30,7 @@ type Session = {
>
<Prose>
<h4>
<a href={`/session/${session.slug}`} class="underline">
<a href={`/session/${session.id}`} class="underline">
{session.data.title}
</a>
</h4>
Expand Down
Loading