HFS Summer
Website for the HFS Summer Festival, an arcade exhibition event held at the Halle des Expositions in Evreux, France. Built with Statamic v5 on Laravel 12.
Getting Started
Prerequisites
- PHP 8.1+
- Composer
- Node.js (for frontend builds)
Installation
composer install
npm install
Environment
Copy .env.example to .env and configure:
| Variable | Purpose |
|---|---|
APP_URL |
Base URL of the site |
CP_ROUTE |
Control panel path (default: summer-cp) |
STATAMIC_LICENSE_KEY |
Statamic license (optional, trial works) |
Development
php artisan serve
Remote access via tunnel
php artisan serve --host=localhost
ssh -R 80:127.0.0.1:8000 serveo.net
Serveo will provide a public URL.
Project Structure
Content Types
| Collection | Purpose | Entries |
|---|---|---|
| Pages | Structured page tree (home, rules) | 2 |
| Tournaments | Arcade tournaments with tiers, phases, and guests | 9 |
| Prices | Ticket pricing options | 3 |
| Sponsors | Event sponsors with logos and links | 7 |
Tournaments Tiers
| Tier | Games |
|---|---|
| S-Tier | Breakers Revenge, Super Street Fighter 2 X, Street Fighter 3: Third Strike |
| A-Tier | Puyo Puyo 2, Street Fighter Alpha 3 |
| Rythm Tier | DDR A20 Plus, Groove Coaster, Sound Voltex Exceed Gear |
| Family Tier | Windjammers |
Globals
The hfs global set holds site-wide data:
- Logo (
assets/logo2.svg) - Event dates (May 29-31, 2026)
- Venue name and description
- Social preview image (
og_image.png) - Ticketing link
Fieldsets (Reusable Fields)
| Fieldset | Used In | Fields |
|---|---|---|
event_incentives |
Pages (home) | title, description, photo |
tournament_phases |
Tournaments | phase name, qualifier start, tournament start/end (datetime) |
faq |
Pages (home) | question, answer (markdown) |
Navigation
- Main: Tree-based nav with links to Home and Reglement (rules page).
Assets
All assets live in public/assets/ served via the assets filesystem disk. Glide image manipulation is configured with WebP conversion and presets for thumbnails (300x300) and logos (200x200, 400x400).
Views / Templates
All front-end templates use the Antlers templating engine (.antlers.html).
| Template | Purpose |
|---|---|
layout |
Main HTML shell (navbar, footer, meta tags, favicon) |
home |
Landing page with hero, video reel, incentives, tournaments, gallery, FAQ, tickets, sponsors |
default |
Generic content renderer (used by prices) |
reglement |
Rules page |
tournaments/show |
Tournament detail (phases, guests, video) |
Partials: _tournamentblock, _priceblock, _incentiveblock, _guest, _photoblock
Frontend
- CSS Framework: Self-hosted Bulma CSS (
public/css/bulma.min.css) - Custom JS:
public/assets/js/main.js— video playback management (IntersectionObserver), cursor tracking, smooth scrolling (Lenis), photo gallery modal, FAQ accordion, link prefetching - Vite: Configured with Tailwind CSS but not actively used in templates
Control Panel
- Accessible at
/summer-cp - Custom logo branded as "HFS Summer"
- Dashboard widgets for pages and tournaments collections
Additional Configuration
- SSG:
statamic/ssgplugin configured for static site generation tostorage/app/static - Stache: File-based content repository watcher
- Pro features disabled: API, GraphQL, Git integration, revisions, static caching
- Single site: No multisite configuration
- SQLite: Lightweight local database (users managed via files, not DB)
Statamic Documentation
Description
Languages
PHP
70.2%
CSS
14.2%
Antlers
11.2%
JavaScript
4.2%
Vue
0.2%