Static site for browsing Graduate Student Government election candidates by position. Built with plain HTML/CSS/JS so it works on GitHub Pages without a build step.
index.html— single-page experience with tabs for each position.assets/data/candidates.json— generated data pulled from the provided spreadsheet.assets/headshots/— extracted headshot images from the spreadsheet.assets/css/andassets/js/— styling and small JS helpers (home.jsloads/render the data).assets/GSG_election_candidates.xlsx— authoritative spreadsheet provided by the committee.scripts/extract_candidates.py— standard-library script that regeneratescandidates.jsonand headshots from the spreadsheet..github/workflows/pages.yml— GitHub Pages deployment using the same workflow pattern as the prior site.
# from the repo root
python3 -m http.server 8000
# then open http://localhost:8000- Replace
assets/GSG_election_candidates.xlsxwith the latest file. - Regenerate the JSON + headshots:
python3 scripts/extract_candidates.py
- Reload the page (or redeploy) to see the updates.
Push to main and enable GitHub Pages for the repo (source: GitHub Actions). The included workflow uploads the static files and publishes them automatically.