A subscribable school calendar for the Livingston, NJ School District. Subscribe once and get automatic updates — no re-subscribing each year.
| App | Link |
|---|---|
| Google Calendar | Add to Google |
| Apple Calendar | webcal://lankeami.github.io/livingstonnj-school-calendar/calendars/latest.ics |
| Outlook | Subscribe via the calendar page |
| Download | latest.ics |
Replace
lankeamiwith the actual GitHub username, or just visit the GitHub Pages site and use the subscribe buttons there.
npm install
npm run build # generates docs/calendars/*.ics and docs/events.json
npm run typecheck # type-check without building
Edit data/2026-2027.json directly, then rebuild:
npm run build
git add -A && git commit -m "Update 2026-2027 events"
git push
GitHub Actions deploys automatically on push to main.
npm run new-year -- 2027-2028
# → creates data/2027-2028.json (NJ state holidays pre-filled)
# → updates config.json currentYear
Then fill in district-specific events from the district PDF calendar, run npm run build to verify, and push.
data/YYYY-YYYY.json accepts single-day and multi-day events:
{ "title": "First Day of School", "date": "2026-09-08", "type": "first-day", "allDay": true }
{ "title": "Winter Recess", "startDate": "2026-12-24", "endDate": "2027-01-01", "type": "break", "allDay": true }
Valid types: holiday · no-school · early-dismissal · break · first-day · last-day · school
livingston-schoolsrepoOwner in config.json