Browser games — single HTML file each, no build step.
Live: boardgaminghub.com (Netlify) · play.html (ad-supported catalog)
games.json is the single source of truth (title, category, SEO priority, descriptions, demo/store links).
After editing games.json:
node scripts/generate-catalog.js # → index.html, play.html, sitemap.xml, nav.js
node scripts/strip-sitenav.js # remove legacy inline nav from game pagesOr: python _update_nav.py (runs both scripts).
| Category | Examples |
|---|---|
| Puzzles | Solitaire, Wordform, Drift, Sudoku, Chess, 2048, Abacus |
| Board | Go, Chess, Agora, Tidelands, Senet, Ur, … |
| Simulations | Floodline, Tower, Bonneville Spillway, Apoapsis, Metropolis 2K, Eclipse Predictor |
Full versions of Floodline, Tower (SKYSTACK), and Bonneville Spillway Operator live in the private board-gaming-premium repo. Public copies set DEMO_BUILD = true.
sitemap.xml— generated with clean URLs (/chess→Chess.htmlvianetlify.toml)robots.txt,llms.txt, Google Search Console verified- AdSense on
play.htmlandapps.htmlonly (not gameplay pages) git push origin mainauto-deploys via Netlify
- Drop
NewGame.html(PascalCase) into repo root. - Add entry to
games.jsonwithcategory,description,searchKeys,priority. - Run
node scripts/generate-catalog.js. - Add a
[[redirects]]line innetlify.tomlfor the slug. - For Android: update wrapper
copy-assetsdriven bygames.json.