- Capture HTTP status codes from both API calls
- List all apps found (for debugging name mismatch)
- Print full JSON on failure instead of silent exit 1
- Use set -euo pipefail for strict error handling
- Jekyll build runs on every push and PR (catches errors early)
- DO deployment only triggers on push to main
- Finds app by name via DO API, triggers /apps/:id/deploy endpoint
- Uses DIGITALOCEAN_TOKEN secret for auth
- Mobile nav was missing entirely (hidden md:flex with no fallback)
- Added hamburger toggle button with animated X icon
- Mobile menu includes: Case Studies, Roofing Contractors, Timber &
Carpentry, Coverage Area, plus Browse Contractors CTA
- Menu auto-closes on link tap or Escape key
- Accessible: aria-expanded toggles, aria-label on button
- Midhurst Roofing: correct base location to Midhurst (not Barrie), add toll-free
1-800-909-3987, expand service area to 30+ municipalities (Simcoe/Dufferin/Muskoka/
York/across Ontario), update services to include TPO/EPDM/BUR/Mod Bit/snow removal
- Severn Roofing: expand service area to 'Simcoe County & Beyond' (not just Orillia/
Severn), reposition as flat roofing specialists with commercial/industrial scope,
add siding/soffit/fascia/eavestrough services, add phone (705) 955-2011
- Update _config.yml site description to reflect broader regional coverage
- Update index.html hero text and both contractor cards
- Update roofing-contractors.html descriptions, service areas, and contact info