Skip to content

Commit ca5a573

Browse files
Merge branch 'ep2026' into keynoters-script
2 parents 591b088 + 61f85b3 commit ca5a573

138 files changed

Lines changed: 10028 additions & 2035 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,4 @@ src/content/days
145145

146146
# Local secrets (never commit)
147147
.env.local
148+
public/content

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:20-slim
1+
FROM node:22-slim
22

33
RUN apt-get update && apt-get install -y make
44

@@ -7,11 +7,11 @@ ENV PATH="$PNPM_HOME:$PATH"
77

88
RUN corepack enable
99

10-
RUN pnpm config set store-dir /home/node/.local/share/pnpm/store
11-
1210
WORKDIR /app
1311

1412
COPY Makefile package.json pnpm-lock.yaml ./
13+
14+
RUN pnpm config set store-dir /home/node/.local/share/pnpm/store
1515
RUN make install
1616

1717
RUN mkdir -p /app/src

astro.config.mjs

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { execSync } from "node:child_process";
1212
import svelte from "@astrojs/svelte";
1313
import compress from "astro-compress";
1414
import tailwindcss from "@tailwindcss/vite";
15+
import pagefind from "astro-pagefind";
1516

1617
let gitVersion = String(process.env.GIT_VERSION ?? "").slice(0, 7);
1718

@@ -36,6 +37,39 @@ console.log(
3637
`\x1b[35m[EP]\x1b[0m Fast Build: \x1b[1m\x1b[34m${fastBuild}\x1b[0m`
3738
);
3839

40+
import fs from "fs";
41+
import p from "path";
42+
43+
function syncContentImages() {
44+
function syncDir(srcDir, destDir) {
45+
if (!fs.existsSync(srcDir)) return;
46+
const entries = fs.readdirSync(srcDir, { withFileTypes: true });
47+
for (const entry of entries) {
48+
const srcPath = p.join(srcDir, entry.name);
49+
const destPath = p.join(destDir, entry.name);
50+
if (entry.isDirectory()) {
51+
syncDir(srcPath, destPath);
52+
} else if (
53+
entry.isFile() &&
54+
/\.(jpg|jpeg|png|webp|gif|svg)$/i.test(entry.name)
55+
) {
56+
fs.mkdirSync(p.dirname(destPath), { recursive: true });
57+
fs.cpSync(srcPath, destPath, { force: true });
58+
}
59+
}
60+
}
61+
62+
return {
63+
name: "sync-content-images",
64+
buildStart() {
65+
console.log(
66+
"\x1b[35m[EP]\x1b[0m Syncing images from src/content/ to public/content/..."
67+
);
68+
syncDir("src/content", "public/content");
69+
},
70+
};
71+
}
72+
3973
function dontDie() {
4074
return {
4175
name: "dont-die",
@@ -87,7 +121,7 @@ export default defineConfig({
87121
},
88122
},
89123

90-
plugins: [tailwindcss()],
124+
plugins: [tailwindcss(), syncContentImages()],
91125
},
92126
markdown: {
93127
remarkPlugins: [
@@ -113,13 +147,12 @@ export default defineConfig({
113147
redirects: {
114148
// "/planning/": "https://forms.gle/riw6CvML8ck94A4V9",
115149
// "/reviewers/": "https://forms.gle/4GTJjwZ1nHBGetM18",
116-
// "/speaker/savannah-ostrowski": "/speaker/savannah-bailey",
150+
"/packaging-summit": "/session/packaging-summit",
117151
"/rust-summit": "/session/rust-summit-at-europython",
118152
"/session/rust-summit": "/session/rust-summit-at-europython",
119153
"/25anniversary": "https://forms.gle/X4vCPsmHy95s5S9Y8",
120154
// "/c-api-summit": "/session/c-api-summit",
121155
// "/wasm-summit": "/session/webassembly-summit",
122-
// "/programme/rust-summit": "/session/rust-summit",
123156
// "/programme/c-api-summit": "/session/c-api-summit",
124157
// "/programme/wasm-summit": "/session/webassembly-summit",
125158
// "/discord": "https://discord.gg/BhTN2zJPMh",
@@ -151,6 +184,7 @@ export default defineConfig({
151184
// "https://vdo.ninja/?room=EuroPython_2025_Terrace_2B&hash=338a&do",
152185
},
153186
integrations: [
187+
pagefind(),
154188
mdx(),
155189
svelte(),
156190
...(fastBuild

public/banner_vert.svg

Lines changed: 163 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)