Covers pages, data sources, config knobs, files and deploy target for 40k-rankings, aos-rankings, events, kingmaker and scouting. Also lists events in the root README layout and points to the per-site docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
# events.gateway-gamers.net
|
|
|
|
A single feed of upcoming Warhammer events from the Best Coast Pairings (BCP)
|
|
circuits Gateway Gamers follows, soonest first.
|
|
|
|
## What it serves
|
|
|
|
A single page (`index.html`) listing every upcoming event across the configured
|
|
circuits. Each event card shows:
|
|
|
|
- event name and venue, plus distance from St. Louis ("Local" if under 30 miles)
|
|
- date range, shown in the event's own timezone
|
|
- badges for:
|
|
- format: Singles or Team Event
|
|
- scope: RTT or GT
|
|
- every followed circuit the event belongs to
|
|
- game system
|
|
- checked-in count against tickets
|
|
|
|
Each card links to the event on bestcoastpairings.com.
|
|
|
|
Filter buttons at the top toggle **Format**, **Scope** and **Circuit**. Within
|
|
a group they combine with OR, and across groups with AND.
|
|
|
|
Some of the rules behind the badges and filters:
|
|
|
|
- **Scope** is worked out from duration: an event that starts and ends on the
|
|
same local calendar day is an RTT, anything longer is a GT. BCP has no
|
|
reliable field for this. Team events get no scope badge.
|
|
- **Duplicate events** are merged. An event that belongs to several followed
|
|
circuits appears once, with a badge for each circuit, including circuits
|
|
listed only in the event's own `leagues` data.
|
|
- **Past events** are skipped. Paging stops as soon as it reaches events that
|
|
have already ended, so a circuit's full history is never downloaded.
|
|
|
|
## Data sources
|
|
|
|
BCP `events?leagueId=…` for each configured circuit, at
|
|
`https://newprod-api.bestcoastpairings.com/v1`, without authentication. All
|
|
requests come from the viewer's browser; nothing is stored on the server.
|
|
|
|
## Configuration
|
|
|
|
Edit `CONFIG.circuits` at the top of `src/main.js`. Each entry takes:
|
|
|
|
- `id`: the circuit's leagueId, from its BCP calendar URL
|
|
(`bestcoastpairings.com/circuit/<id>/calendar`)
|
|
- `name`: the label used on the filter button and badges
|
|
- `near` (optional): `{ lat, lon, miles }` to include only events within that
|
|
radius. Events without coordinates are left out.
|
|
|
|
The circuit filter buttons are generated from this list. Currently followed:
|
|
|
|
- Away Games 2025/26 ITC Season
|
|
- National Tabletop League (NTL) 8-Player Circuit
|
|
- TEO 2026 Circuit
|
|
- 2026 Lord Marshal Conference
|
|
- 2027 Lord Marshal Conference
|
|
- Warhammer Global Rankings 2026, limited to events within 250 miles of
|
|
St. Louis
|
|
|
|
## Files
|
|
|
|
- `index.html`, `src/main.js`, `src/style.css`: the page
|
|
- `nav.html`: this site's header nav entries (see the root README)
|
|
- `events.gateway-gamers.net.conf`: reference nginx config for the live server
|
|
block. It sets a Content-Security-Policy, so calling a new external API from
|
|
the page means adding that host to `connect-src` there too.
|
|
|
|
## Deploy
|
|
|
|
`.gitea/workflows/deploy-events.yml` builds the site and rsyncs `dist/` to
|
|
`/var/www/domains/gateway-gamers.net/events/` on every push to `main` that
|
|
touches `sites/events/` or `shared/`. See the root README for local dev
|
|
commands and the shared header, footer and images.
|