# 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](https://statamic.dev/) on Laravel 12. --- ## Getting Started ### Prerequisites - PHP 8.1+ - Composer - Node.js (for frontend builds) ### Installation ```bash 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 ```bash php artisan serve ``` ### Remote access via tunnel ```bash 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/ssg` plugin configured for static site generation to `storage/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 [https://statamic.dev/](https://statamic.dev/)