This one is more involved, but it would be really really nice to have.
Here's a rough list of steps:
Copy the current set of files into a new folder under semesters/
e.g., for Fall '20, copy index.html to semesters/f20/fall.html and script-compiled.js to that directory
in fall.html, fix top-level script / image references by adding ../../
Add the new semester to all of the dropdowns, which involves changing every single previous semester
This should really be refactored, but I'm not super sure how. Maybe the object tag works, maybe it should just be a jQuery hack.
Update new_scripts/coursews.py to pull the new semester, then run the normal update process
Fix comma placement in index.html (this is annoying to explain but intuitive, just look at the diff in that file for a semester update)
Update the MIT schedule for GCal export in script.js
This is also really annoying- it would be great to scrape the calendar, or have a script to generate the recurrence rules.
Try not to forget how RDATE works! Say there are Monday classes on a Tuesday- put the Tuesday date in the Monday slot in RDATE and add the Tuesday in the Tuesday slot to EXDATE.
Update LocalStorage variable names in script.js (find/replace fall20 -> spring21)
and remember to recompile using new_scripts/compile.sh!
This one is more involved, but it would be really really nice to have.
Here's a rough list of steps: