Goal - Astro 7 Theme for Football Clubs, Tournaments and Sports Streaming
A match page for every fixture, a live schedule and a stadium-grade look, with not one byte of framework JavaScript. Goal is a complete football tournament, sports club and live-streaming theme built on Astro 7. Every page pre-renders to static HTML, so it loads instantly and deploys anywhere — and it ships zero framework JavaScript, just one small vanilla script.
Live demo: https://goal-astro.vercel.app
WHAT'S INSIDE
15 page templates — 36 static pages per build: home, about, tournaments, match detail, fixtures, blog, blog post, contact, style guide, licenses, changelog, privacy policy, terms of conditions, password (401) and 404
Tournaments — 18 matches as Markdown, split into an Upcoming and a Past tab that each order themselves, with a full match page for every fixture: both crests, the countdown or the final score, a six-row info panel, the highlights write-up and a sponsor board
Fixtures — a fixture table drawn from the same 18 matches, with a See More that reveals the rest of the list and swaps its own button
Blog — 5 articles as Markdown, one leading the directory as a wide feature card and the rest in a grid, each with a banner, a byline, a pull quote and a closing note
Motion that earns its keep — 392 scroll reveals at the design's own offsets and delays, six scroll-linked timelines, 38 slot-machine counters, a testimonial slider with arrows, keyboard and swipe, a brand lightbox, a split-text title that lights up character by character, a pointer-tracking play button and three tab sets with arrow-key navigation — all in one 13 KB vanilla script, all respecting prefers-reduced-motion
Edit content, not code — add a Markdown file and the match appears in its tab, in the fixture table, on the home page and at its own URL, with no component to touch
Design-token system — the whole palette, type scale and spacing are 82 CSS custom properties in one :root block; change them there and every page follows
Self-hosted fonts — Anton and Inter Tight as woff2, no CDN requests
Responsive imagery — 89 srcset attributes across the build, so every picture ships at the size the slot actually needs
TypeScript throughout, zod-validated content schema
TECH STACK
Astro 7 · Markdown content collections · TypeScript · the template's own CSS — no utility framework, no build-time CSS pipeline
REQUIREMENTS
Node 22.12 or newer. npm ships with it. Nothing else to install.
LICENSE
One end product per license. You may modify the source freely; you may not resell, sublicense or redistribute it, in whole or in substantial part.
SUPPORT
Waida Studio