calendarize-webreg

Export your WebReg schedule to your calendars in one click!

Calendarized schedule screenshot

Highlights:

📋 Usage

Bookmarklet

  1. Copy the entire code blurb below & add it as a new bookmark: Ctrl+D or ⌘+D, click “More…”, then paste the blurb in as the URL:

    javascript:(function(){const calendarize=document.createElement('script');calendarize.src='https://adoryvo.github.io/calendarize-webreg/calendarize.min.js';document.body.appendChild(calendarize);})()

  2. Visit your WebReg page & click the bookmark to download your schedule as a calendar file (.ics)
    (Ctrl/⌘+Shift+B to toggle bookmarks bar)
  3. Import the calendar file into your Google Calendar here. Make sure to check your intended Google Account in the top right!
  4. Double-check that the calendar events created match the times on WebReg!
    • If there are any inconsistencies or errors, fill out the feedback form. I will try to address them ASAP!

Extension: Chrome, Edge, Brave (or other Chromium-based browsers)

  1. Download the extension from the Chrome Web Store here
  1. Head to your WebReg page and click on the extension (you may have to dropdown the extensions menu 🧩). Voilà, your schedule is downloaded! 🎉
  2. Import the calendar file into your Google Calendar here. Make sure to check your intended Google Account in the top right!
  3. Double-check that the calendar events created match the times on WebReg!
    • If there are any inconsistencies or errors, fill out the feedback form. I will try to address them ASAP!

Notes on being in different time zones

If you’re not located in the same time zone as your school, change the time zone of your calendar to match before importing your calendar file. After importing, you can change your time zone back to your own and the events will shift to your time zone accordingly.

For Google Calendar, this can be done in Settings > General > Time zone.
Otherwise, here are steps for Apple Calendar and here are steps for Outlook.
For UCSD students, the time zone should be (GMT-07:00) Pacific Time - Los Angeles.

🤔 How does it work?

When you click the bookmark or extension, your browser runs a script (AKA a program) that takes the text in your WebReg table, organizes it into your schedule information, and creates a .ics calendar file.

This type of script is called a bookmarklet, an obscure technology that I found fitting to add accessibility for most browsers. You may take a look at some other cool bookmarklets here.

⭐️ Update: To further improve accessibility for browsers not supporting bookmarklets, a browser extension option has been added!

// This code will be executed upon clicking the bookmark
javascript:(function () {
  // Fetch the script used to scrape & parse schedule information from the web page
  const calendarize = document.createElement('script')
  calendarize.src ='https://adoryvo.github.io/calendarize-webreg/calendarize.min.js'

  // Add the script to the current page, causing it to run!
  document.body.appendChild(calendarize)
})()

The bookmark code blurb, formatted

🔒 Privacy

If you have any concerns about privacy, the program does not collect or store any of your information (you may verify this with the source code).

⭐ See also


Source code | Uses ics.js for .ics generation
Created by Adory Vo with contributions from Rebecca Chen