尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A hub of daily football trivia games — Football Wordle, Tenable, Tic-Tac-Toe, Connections, Teammates, Career Path, Higher or Lower, and Football 501 (a darts-style countdown). Built with React + Vite; prerendered to static, SEO-complete HTML per route and locale (English + Spanish).
Every game is self-contained: guesses are validated against a precomputed answer set built offline from a single data source (Transfermarkt). There is no runtime database and no runtime scraping.
npm install
npm run dev # local dev server (Vite)
npm run build # production build: vite build + static prerender → dist/
npm run server # serve the built dist/ (what production runs)
npm test # vitest
npm run lint # eslint
All football data ships as committed, pre-generated JSON — you do not need to build data to run the app. Regenerate it only when refreshing from source.
The pipeline is offline and manual: scrape → build. Scrapers run locally
(Transfermarkt blocks datacentre IPs), are resumable/idempotent, and cache to the
git-ignored data/pl-history/cache/. Never run a scrape from automation.
# scrape (local, one-off, per source)
npm run scrape:pl-history # league performance (COMP=ES1|IT1|FR1|L1|CL)
npm run scrape:intl # international caps/goals
npm run scrape:transfers
npm run scrape:honours
# build the committed artefacts from the caches (offline)
npm run build:pl-history # cache → history.* + performance.*
npm run build:pl-catalog # the full derived dataset chain
node scripts/build-identity.mjs # rebuild the player identity registry
Some inputs are intentionally hand-authored (not scraped): the Wordle answer
pool (src/data/famousPlayers.js) and the daily 501/Tenable question sets. See the
architecture doc for why.
Read ARCHITECTURE.md before making structural changes.
It is the design authority: the single-source-of-truth rule, the
Raw → Canonical → Derived → Application data flow and its enforced boundary, the
player identity system, the generated artefacts, and the architectural invariants
that must not be violated. The docs/ folder holds design/UI docs and historical
migration records.
Deployment: Render, per render.yaml (npm install && npm run build, then
npm run server).