Skip to content

Rewrite website from Astro/TypeScript to Python/Jinja2 static site generator#1577

Open
nikoshell wants to merge 5 commits into
ep2026from
ep2026-new
Open

Rewrite website from Astro/TypeScript to Python/Jinja2 static site generator#1577
nikoshell wants to merge 5 commits into
ep2026from
ep2026-new

Conversation

@nikoshell
Copy link
Copy Markdown
Contributor

Replace the Astro-based frontend (TypeScript, Svelte, Tailwind, pnpm) with a
Python-based static site generator using Jinja2 templates and plain CSS.

Key changes:

  • Remove Astro framework, TypeScript, Svelte components, and Node.js tooling
  • Add Python build system with uv, pyproject.toml, and Jinja2 templates
  • Restructure content: sponsors, community partners, and pages now use
    markdown files with co-located assets (logos, images)
  • Add schedule, keynotes, sponsors, search index, and teams as Python modules
  • Introduce HTML template blocks for composable page sections
  • Add new EuroPython 2026 branding assets (flowers, Krakow imagery)
  • Add tests for build, models, schedule, and search index
  • Update CI/CD workflows and Dockerfile for the new Python stack

@europython-society
Copy link
Copy Markdown
Member

europython-society commented May 13, 2026

Preview available

Key Value
url https://ep2026-new.ep-preview.click
last update 2026-05-20T10:58:59.006Z

@nikoshell nikoshell requested a review from artcz May 13, 2026 10:24
@egeakman egeakman requested review from Copilot and egeakman and removed request for Copilot May 14, 2026 06:19
@egeakman egeakman added the DO-NOT-MERGE Not ready to be merged yet label May 14, 2026
nikoshell and others added 5 commits May 20, 2026 12:56
…nerator

Replace the Astro-based frontend (TypeScript, Svelte, Tailwind, pnpm) with a
Python-based static site generator using Jinja2 templates and plain CSS.

Key changes:
- Remove Astro framework, TypeScript, Svelte components, and Node.js tooling
- Add Python build system with uv, pyproject.toml, and Jinja2 templates
- Restructure content: sponsors, community partners, and pages now use
  markdown files with co-located assets (logos, images)
- Add schedule, keynotes, sponsors, search index, and teams as Python modules
- Introduce HTML template blocks for composable page sections
- Add new EuroPython 2026 branding assets (flowers, Krakow imagery)
- Add tests for build, models, schedule, and search index
- Update CI/CD workflows and Dockerfile for the new Python stack
Replace development server references in deploy configuration with the
production static.europython.eu host and restore the releases/symlink
deployment pattern.

- Makefile: restore VPS variables, release/symlink deploy and preview
  targets, safe_branch helper; adapt to use build/ output directory
- build-deploy.yml: fix deploy host, restore timestamp, use make ship
- preview.yml: fix deploy host, restore timestamp, delegate to make
  preview and safe_branch targets
Restore pre-commit configuration adapted for the Python stack: keep
generic file checks (large files, case conflict, merge conflict, yaml,
trailing whitespace, end-of-file-fixer) and add ruff for linting and
formatting in place of the old prettier/Astro hooks.
Restore .readthedocs.yaml using Python 3.13 and uv instead of Node/pnpm.
Builds with uv run src/build.py, copies output from build/ directory,
and passes SITE_URL via environment variable.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DO-NOT-MERGE Not ready to be merged yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants