About Courtfield Tennis Club
Courtfield uses a restrained serif club identity, green and white, ordinary navigation and panoramic court photography. Programme information and a weekly timetable lead to practical membership and visit questions. Its ten pages feel like a community club website rather than a gym landing page, with readable labels and useful inner-page detail.
Best suited to: Community tennis clubs, racket clubs and coaching operators presenting verified participation arrangements, membership options and general enquiries.
Desktop and mobile screenshots
Captured from version 1.0.0 on 30 October 2026. Open a screenshot to inspect the full page.











Choose your download
Both ZIPs contain the same 10-page design. Confirm your email to download. Newsletter emails are optional; no account or license key is needed.
| Edition | Included files and requirements |
|---|---|
| Plain HTML ZIP 2.51 MiB |
10 HTML pages, CSS, JavaScript, local assets, manifest, license notices and setup instructions. Requires: Any static host; no Node or build step required. |
| Standalone Astro source ZIP 2.56 MiB |
10 editable Astro pages, layouts/components, site data, styles/scripts, local assets, vendored kit, exact standalone lockfile and documentation. Requires: Node.js >=22.23.4 and npm >=9.6.5. No factory workspace, hosted service, account or API key required. |
What’s in the design
- Ten complete pages cover the club, membership, coaching, Adult Improvers, weekly timetable, facilities, events, contact and 404.
- The weekly timetable combines day and session-type filters over six clearly illustrative recurring sessions. It includes live count, reset, empty state and allowlisted query preselection.
- The print button produces the whole sample week, even when filters are selected, and hides the filtered count so the printout remains consistent.
- Coaching programmes can be filtered by adult, junior-enquiry and social categories. Adult Improvers has a complete page with intended audience, duration, sample format and questions to confirm; other concepts lead to contextual enquiries.
- Three illustrative membership options use explicit GBP annual fees, with a comparison table covering access, guests, coaching and renewal questions. No membership is sold or activated.
- Facilities includes a native-dialog image viewer with arrow keys, Escape and focus return; full-size image links remain available without JavaScript.
- Visit & Contact prepares an explicit topic-aware email draft after native validation; subject allowlists and edited-draft clearing keep context accurate.
Verified page layouts
These 10 pages are included in both archives. Each link opens the live preview.
- Home
index.html - Our club
club.html - Membership
membership.html - Coaching programmes
coaching.html - Adult Improvers
adult-improvers.html - Weekly timetable
timetable.html - Courts & facilities
facilities.html - Events & social tennis
events.html - Visit & contact
contact.html - 404
404.html
How club enquiries work
The form validates name, email and a general question, then presents an encoded mailto link for the visitor to review in their email app. Nothing is sent, booked, paid or saved by the website. Replace [email protected] before launch.
Known programme, membership and event query values can preselect the topic. Submit starts hidden and disabled until handlers are installed; a direct email fallback remains available. Changing a field hides the old draft.
An adult organiser should make general junior-programme enquiries. The form discourages child names, dates of birth, private participant records and payment information. Actual participation and access arrangements require separate confirmation.
Set up the Astro edition
Extract the source ZIP and run these commands from its folder:
npm ci
npm run dev
npm run check
npm run build
The build produces a dist/ folder for static hosting. The source includes its shared template kit under vendor/template-kit, so it builds independently of our development workspace. Astro 7.4.4 and the Astro checker 0.9.12 are pinned; TypeScript 6.0.3 is the latest supported by that checker’s declared peer range.
Before you launch
- Choose HTML for direct file editing, or Astro for shared layouts and source-driven content.
- Replace the identity, location, programmes, timetable, fees, terms and facilities with accurate current club information. Publish coach profiles, qualifications, safeguarding routes and participation policies only after verification. Keep sample programme information distinct until replaced.
- Edit src/site.ts for programme, session, event, topic and FAQ records. Keep category/day/type IDs and enquiry subjects aligned. Test all combined filter states, empty/reset, print restoration, native gallery keyboard/focus, query allowlists, required validation and edited-draft invalidation.
- Replace imagery with licensed content. Keep responsive variants, intrinsic dimensions, alt text and ASSETS.md credits aligned.
- Set PUBLIC_SITE_URL to the real domain/folder URL with a trailing slash for canonical/social metadata, robots.txt and a 9-page sitemap. Leave PUBLIC_PREVIEW unset for production.
- Upload the entire HTML folder or Astro dist/. Configure unknown paths to return 404.html with HTTP 404. Test enquiries or configure a separately tested delivery route if direct sending is required.
No court reservation, live timetable availability, membership activation, payment, match-result system, player account, private participant intake or message-delivery backend.
License and assets
The original template code is released under the included MIT license. It permits personal and commercial use; retain the license notice when redistributing the code. Visible footer attribution is optional.
Court photography by Ellie Burgin, player photography by Ansey Photography and racket photography by cottonbro studio retain the Pexels License. Courtfield Sans and Serif are renamed Libre Franklin and Libre Caslon Text WOFF2 subset derivatives with full SIL OFL notices. Original code, writing, court-line logo and favicon are MIT. Pexels License. Full asset credits.
Release verification
The page inventory, screenshots and download manifests document the included layouts and assets. The HTML and independent Astro editions contain the same design and license notices. Customization requires its own accessibility, content and performance checks.
Version 1.0.0, reviewed 30 October 2026. Live preview. Plain HTML checksum. Standalone Astro source checksum. Courtfield is fictional. Memberships, fees, sessions, events, location and facilities are illustrative; photographs show separate settings. No named coaches, qualifications, player numbers, results or real bookings are asserted.



