Add per-site READMEs describing what each site serves
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>
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user