尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
PCFL Network - ESPN-style portal for the Pure College Football League (FBPro98 sim league)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗ESPN-style college football portal for the PCFL, an FBPro98 simulation league. Live site: https://pcfl2k.github.io/PCFL-Football/
Every score, ranking, standing, stat line, roster, story and broadcast on the site is generated automatically from raw FBPro98 weekly exports — the commissioner uploads once and everything updates.
FBPro98 weekly export folder
│
▼
tools\Publish-PCFLWeek.ps1 (validate → copy to drops/ → parse → commit → push)
│
▼
GitHub Actions (weekly-update.yml)
• refreshes the PCFL Network YouTube feed
• re-parses every drop into JSON (scripts/parse-fbpro.mjs)
• commits /data and deploys to GitHub Pages
│
▼
https://pcfl2k.github.io/PCFL-Football/ — week selector, scores, stories,
rankings, standings, stats hub, team pages, game centers, awards, media
cd PCFL-Football
.\tools\Publish-PCFLWeek.ps1 # opens a folder picker
# or fully explicit:
.\tools\Publish-PCFLWeek.ps1 -Folder "C:\exports\reports-wk3" -Season 2028 -Week 3
Required files in the export folder: gamestats.html, standings.html,
schedule.html, season.html. Optional: rosters.html, teamstats.html.
Rosters come from FBPro98's roster report (rosters.html: status, depth slot, jersey,
injury, year, height/weight, actual and potential SP AC AG ST HA EN IN DI ratings,
plus the free-agent and college-draft pools). Two places are read for each season:
drops/<season>/rosters/*.html roster-only drop (PCFL Updater "ROSTER ONLY" mode)
drops/<season>/week<N>/rosters.html roster export that ships with a weekly drop
The parser always uses the newest export for the season — by the report's own date
line (e.g. "February 11, 2029 · End of Season"), then folder order (weeks ascending, then
rosters/). Placeholder players whose ratings are all 1 are hidden (counted in _meta).
The chosen source and its date are recorded in data/manifest.json (seasons[].roster,
rosters[]) so the site can show "Rosters as of Feb 11, 2029 · End of 2028 season".
A season folder that only has a roster drop (e.g. next season's preseason rosters) is
listed under manifest.rosters only and is what the offseason views show.
To fix a past week (e.g. after a re-sim), just re-export and publish the same week number again — the drop is overwritten and the whole site regenerates.
index.html single-page app shell (hash-routed, zero build step)
css/site.css design system (broadcast/ESPN theme)
js/app.js router, state, week engine, all views
js/rosters.js shared roster module (team-page roster, free agents, data loader)
data/ generated JSON — never edit by hand
manifest.json seasons + weeks available
teams.json team metadata (colors, divisions, aliases)
videos.json PCFL Network YouTube feed cache (auto-mapped to games)
2028/week<N>.json games, box scores, standings, power poll, leaders, stories
2028/schedule.json full 15-week schedule incl. playoff rounds
2028/rosters.json { <team-slug>: Player[], _meta, _freeAgents, _draftPool } — newest roster
export; Player = status, pos, depth, slot, num, name, inj (+injStatus/
injWeeks), yr, ht, htIn, wt, a[8] actual, p[8] potential, ovr, pot
drops/ raw FBPro98 exports, archived per season/week
scripts/parse-fbpro.mjs the parser/story engine (Node 18+, no dependencies)
tools/Publish-PCFLWeek.ps1 one-click commissioner publisher
.github/workflows/weekly-update.yml CI: parse + deploy to Pages
assets/logos team logos (light + dark variants, stored locally)
assets/brand PCFL logo assets
| Environment | Branch | URL |
|---|---|---|
| Production | main | https://pcfl2k.github.io/PCFL-Football/ |
| Staging | staging | https://pcfl2k.github.io/PCFL-Football/staging/ |
Both are built and deployed together by the same workflow. The staging build shows a gold STAGING ribbon so it can never be confused with production.
Iterating on the site (design/code changes — not weekly data drops):
git checkout staging
# ...make changes...
git commit -am "describe the change"
git push origin staging # deploys to /staging/ only
# verify at https://pcfl2k.github.io/PCFL-Football/staging/
git checkout main
git merge staging
git push origin main # promotes to production
Weekly data drops via Publish-PCFLWeek.ps1 go straight to main (production),
since they are league results, not site changes.
node scripts/parse-fbpro.mjs # regenerate data from drops/
npx http-server . -p 8080 # any static server works
Game replays are matched automatically from the PCFL Network YouTube channel
(UCCopjecFoHzlVp99e-3W2yA). Title videos <YY>W<WW><AWAY>@<HOME> —
e.g. 28W03TEX@UCLA — and they appear on the matching game center and in the
Media hub on the next deploy. A trailing digit (...@UCLA2) marks a re-broadcast
and takes precedence.
parse-fbpro.mjs → buildStory() later.