Create a class for representing a calendar event, CalEvent (#107).
Ensure a consistent object across extractors and distinct modules.
Events can be set as recurrent and have the recurrence period built-in.
It calculates the start/end date-times according to the recurrence and also generates the recurrence rule object (#110).
Add a more specialised extractor class, EventExtractor, to distinguish between generic extractors and extractors that create calendar events.
The EventExtractor supports the format-strings for title and description, customisable via options UI (#107).
The extractor should create instances of CalEvent with the formatted strings to separate the semantics of extractors and events. Generating UI only needs the events objects with this approach
Create an utility class for generating URLs for the 'one-click' feature
Replaces the old global functions API in calendar.js
Works with the new CalEvent class
Fixes #111
Refactor the utility functions that generate the modal UI for downloading events and the dropdowns for adding singular events to Google/Microsoft/Yahoo calendars.
Supports CalEvent class
The custom recurrence rules now work for the ICS file, as well as 'one-click' events in the dropdowns
Changes
CalEvent
(#107).EventExtractor
, to distinguish between generic extractors and extractors that create calendar events.EventExtractor
supports the format-strings for title and description, customisable via options UI (#107).CalEvent
with the formatted strings to separate the semantics of extractors and events. Generating UI only needs the events objects with this approachcalendar.js
CalEvent
classCalEvent
classPreview