Manager access

Enter the league password

This unlocks an editable copy of the roster and bylaws, for commissioners making updates.

This is a simple lock for keeping casual visitors out, not real security — the password lives in this page's own code and anyone who views the source can read it. Don't use it to protect anything sensitive.

Editing is off

Team data

Team names and records here are live from Sleeper (not editable). Championships, playoff appearances, and notable players are yours to set — export when done and replace manual-data.js on the server with the download. That single file drives both the Members page and League History's all-time table.

Loading current teams from Sleeper…

Bylaws

The bylaws are now a single PDF instead of editable text on this page.

Replace bylaws.pdf to update the rules

To change the official rules, replace the file named bylaws.pdf in the site folder with your updated version and re-upload — bylaws.html will pick it up automatically since it links to that exact filename.

Hall of Fame entries

Add a champion once a season wraps. Edit the text, then export — paste the finished HTML into hall-of-fame.html by hand to publish it.

Hall of Shame entries

Add the league's last-place finisher once a season wraps. Same process — edit, export, then paste into hall-of-shame.html.

Articles

Write a short piece whenever you want — draft recaps, trade breakdowns, whatever. Add as many as you like, then click Export articles.html and upload that file to replace the one on the server.

\n'; const blob = new Blob([page], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'articles.html'; document.body.appendChild(a); a.click(); a.remove(); URL.revokeObjectURL(url); statusText.textContent = 'Exported articles.html. Replace the file on the server with this download.'; }); loadTeamData();