mirror of
				https://github.com/MichMich/MagicMirror.git
				synced 2025-10-31 02:36:47 +00:00 
			
		
		
		
	Module: Calendar
The calendar module is one of the default modules of the MagicMirror.
This module displays events from a public .ical calendar. It can combine multiple calendars.
Using the module
To use this module, add it to the modules array in the config/config.js file:
modules: [
	{
		module: "calendar",
		position: "top_left",	// This can be any of the regions. Best results in left or right regions.
		config: {
			// The config property is optional.
			// If no config is set, an example calendar is shown.
			// See 'Configuration options' for more information.
		}
	}
]
Configuration options
The following properties can be configured:
| Option | Description | 
|---|---|
| maximumEntries | The maximum number of events shown. / Possible values: 0-100Default value: 10 | 
| maximumNumberOfDays | The maximum number of days in the future. Default value: 365 | 
| displaySymbol | Display a symbol in front of an entry. Possible values: trueorfalseDefault value: true | 
| defaultSymbol | The default symbol. Possible values: See Font Awsome website. Default value: calendar | 
| maxTitleLength | The maximum title length. Possible values: 10-50Default value: 25 | 
| wrapEvents | Wrap event titles to multiple lines. Breaks lines at the length defined by maxTitleLength.Possible values: trueorfalseDefault value: false | 
| fetchInterval | How often does the content needs to be fetched? (Milliseconds) Possible values: 1000-86400000Default value: 300000(5 minutes) | 
| animationSpeed | Speed of the update animation. (Milliseconds) Possible values: 0-5000Default value: 2000(2 seconds) | 
| fade | Fade the future events to black. (Gradient) Possible values: trueorfalseDefault value: true | 
| fadePoint | Where to start fade? Possible values: 0(top of the list) -1(bottom of list)Default value: 0.25 | 
| calendars | The list of calendars. Possible values: An array, see calendar configuration below. Default value: An example calendar. | 
| titleReplace | An object of textual replacements applied to the tile of the event. This allow to remove or replace certains words in the title. Example: {'Birthday of ' : '', 'foo':'bar'}Default value: {	"De verjaardag van ": "", "'s birthday": ""	} | 
| displayRepeatingCountTitle | Show count title for yearly repeating events (e.g. "X. Birthday", "X. Anniversary") Possible values: trueorfalseDefault value: false | 
| dateFormat | Format to use for the date of events (when using absolute dates) Possible values: See Moment.js formats Default value: MMM Do(e.g. Jan 18th) | 
| fullDayEventDateFormat | Format to use for the date of full day events (when using absolute dates) Possible values: See Moment.js formats Default value: MMM Do(e.g. Jan 18th) | 
| timeFormat | Display event times as absolute dates, or relative time Possible values: absoluteorrelativeDefault value: relative | 
| getRelative | How much time (in hours) should be left until calendar events start getting relative? Possible values: 0(events stay absolute) -48(48 hours before the event starts)Default value: 6 | 
| urgency | When using a timeFormat of absolute, theurgencysetting allows you to display events within a specific time frame asrelative. This allows events within a certain time frame to be displayed as relative (in xx days) while others are displayed as absolute datesPossible values: a positive integer representing the number of days for which you want a relative date, for example 7(for 7 days)Default value: 7 | 
| broadcastEvents | If this property is set to true, the calendar will broadcast all the events to all other modules with the notification message: CALENDAR_EVENTS. The event objects are stored in an array and contain the following fields:title,startDate,endDate,fullDayEvent,locationandgeo.Possible values: true,falseDefault value: true | 
| hidePrivate | Hides private calendar events. Possible values: trueorfalseDefault value: false | 
| excludedEvents | An array of words / phrases from event titles that will be excluded from being shown. Additionally advanced filter objects can be passed in. Below is the configuration for the advance filtering object. Required filterBy- string used to determine if filter is applied.Optional until- Time before an event to display it  Ex: ['3 days','2 months','1 week']caseSensitive- By default, excludedEvents are case insensitive, set this to true to enforce case sensitivityExample: ['Birthday', 'Hide This Event', {filterBy: 'Payment', until: '6 days', caseSensitive: true}]Default value: [] | 
Calendar configuration
The calendars property contains an array of the configured calendars.
The colored property gives the option for an individual color for each calendar.
Default value:
config: {
	colored: false,
	calendars: [
		{
			url: 'http://www.calendarlabs.com/templates/ical/US-Holidays.ics',
			symbol: 'calendar',
			auth: {
			    user: 'username',
			    pass: 'superstrongpassword',
			    method: 'basic'
			}
		},
	],
}
Calendar configuration options:
| Option | Description | 
|---|---|
| url | The url of the calendar .ical. This property is required. Possible values: Any public accessble .ical calendar. | 
| symbol | The symbol to show in front of an event. This property is optional. Possible values: See Font Awesome website. To have multiple symbols you can define them in an array e.g. ["calendar", "plane"] | 
| color | The font color of an event from this calendar. This property should be set if the config is set to colored: true. Possible values: HEX, RGB or RGBA values (#efefef, rgb(242,242,242), rgba(242,242,242,0.5)). | 
| repeatingCountTitle | The count title for yearly repating events in this calendar. Example: 'Birthday' | 
| maximumEntries | The maximum number of events shown.  Overrides global setting. Possible values: 0-100 | 
| maximumNumberOfDays | The maximum number of days in the future. Overrides global setting | 
| auth | The object containing options for authentication against the calendar. | 
Calendar authentication options:
| Option | Description | 
|---|---|
| user | The username for HTTP authentication. | 
| pass | The password for HTTP authentication. (If you use Bearer authentication, this should be your BearerToken.) | 
| method | Which authentication method should be used. HTTP Basic, Digest and Bearer authentication methods are supported. Basic authentication is used by default if this option is omitted. Possible values: digest,basic,bearerDefault value:basic |