# USBL Baseball Archive Site

This is a cleaner, Baseball-Reference-inspired static site for the SOMReplay / USBL Strat-O-Matic replay archive. It is built for FTP hosting: upload the folder contents, and the site runs without a database or server-side code.

## Files

- `index.html` is the archive home page.
- `index-standalone.html` is a one-file version of the archive home page. Rename it to `index.html` if you want the easiest FTP upload.
- `data/archive.js` holds seasons, reports, standings, box scores, quick links, and career leader cards.
- `updater.html` helps build a new season data block from exported Strat-O-Matic HTML files.
- `reports/YYYY/` is the intended folder pattern for new season report files.

## Upload Options

The normal version needs this full folder structure on the server:

```text
index.html
assets/css/styles.css
assets/js/site.js
data/archive.js
```

If the server only receives `index.html`, the page will load without styling and the season data will stay blank. That is what a browser shows when the CSS and JavaScript files are missing.

For the simplest upload, use `index-standalone.html`: rename it to `index.html` before uploading, and it will not need the `assets/` or `data/` folders for the homepage.

## Updating A Season

1. Export the season reports from Strat-O-Matic as HTML.
2. Put those files in `reports/1888/`, replacing `1888` with the season year.
3. Open `updater.html`, set the season year, and select the exported report folder.
4. Use the generated block as a new item in the `seasons` array inside `data/archive.js`.
5. Upload the changed `data/archive.js` and the new `reports/YYYY/` folder by FTP.

The site links to the current public archive for existing seasons, but future seasons can use local paths like `reports/1888/1888%20league%20report.htm`.

## Notes

The updater tries to classify common Strat-O-Matic filenames such as league reports, team reports, awards, swaps, playoff reports, and `BOX` files. It also attempts to extract standings from the first league report it finds.
