This module displays tasks from a .ical calendar, including priority, completion, title and date. It works like a charm with Nextcloud Tasks !
Symbol, Completion and Color Legend display may be enabled or disabled independently. The sort order can be fixed.
Source code inspired by MagicMirror Calendar and Nextcloud Tasks. Thanks to the contributors 👍
In your terminal, go to your MagicMirror's Module folder:
cd ~/MagicMirror/modules
Clone this repository:
git clone https://github.com/grenagit/MMM-ToDo
Go to your MMM-ToDo's Module folder:
cd ~/MagicMirror/modules/MMM-ToDo
Install dependencies:
npm install
Configure the module in your config.js file.
In your terminal, go to your MMM-ToDo's Module folder:
cd ~/MagicMirror/modules/MMM-ToDo
Incorporate changes from this repository:
git pull
To use this module, add it to the modules array in the config/config.js
file:
modules: [
{
module: "MMM-ToDo",
position: "top_left",
config: {
calendar: {
url: 'http://www.calendarlabs.com/templates/ical/US-Holidays.ics',
auth: {
user: 'username',
pass: 'superstrongpassword',
method: 'basic'
}
}
}
}
]
The following properties can be configured:
Option | Description |
---|---|
updateInterval |
How often does the content needs to be fetched? (Milliseconds) Possible values: 1000 - 86400000 Default value: 1 * 60 * 60 * 1000 (1 hour) |
animationSpeed |
Speed of the update animation. (Milliseconds) Possible values: 0 - 5000 Default value: 1000 (1 second) |
maximumEntries |
The maximum number of tasks shown. / Possible values: 0 - 100 Default value: 10 |
maxTitleLength |
The maximum title length. Possible values: 10 - 50 Default value: 25 |
wrapEvents |
Wrap event titles to multiple lines. Breaks lines at the length defined by maxTitleLength . Possible values: true or false Default value: false |
maxTitleLines |
The maximum number of lines a title will wrap vertically before being cut (Only enabled if wrapEvents is also enabled). Possible values: 0 - 10 Default value: 3 |
sortOrder |
The type of order used to order tasks Possible values: 'alphabetically' , 'priority' , 'due' , 'start' , 'created' or 'defaut' Default value: 'defaut' |
useColorLegend |
Use the colored icons. Possible values: true or false Default value: true |
showTaskCompleted |
Display completed tasks. Possible values: true or false Default value: false |
showSymbol |
Display a symbol in front of an entry. Possible values: true or false Default value: true |
defaultSymbol |
The default symbol. Possible values: See Font Awesome website. Default value: calendar |
showCompletion |
Display the percentage of task completion. Possible values: true or false Default value: true |
urgency |
When using a timeFormat of absolute , the urgency setting allows you to display tasks within a specific time frame as relative . This allows tasks within a certain time frame to be displayed as relative (in xx days) while others are displayed as absolute dates Possible 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 |
timeFormat |
Display times as absolute dates or relative time for each task next to it Possible values: 'absolute' or 'relative' Default value: 'relative' |
hideTime |
Hide the column showing the creation time Possible values: true or false Default value: false |
dateFormat |
Format to use for the date of tasks (when using absolute dates) Possible values: See Moment.js formats Default value: 'MMM Do' (e.g. Jan 18th) |
initialLoadDelay |
The initial delay before loading. If you have multiple modules that use the same API key, you might want to delay one of the requests. (Milliseconds) Possible values: 1000 - 5000 Default value: 0 |
showPrefix |
Show prefix text indicating the type of date that is being displayed (start, due, created). Default value: true |
calendar |
The department number (metropolitan france only). This value is REQUIRED |
config: {
colored: false,
coloredSymbolOnly: false,
calendars: [
{
url: 'http://www.calendarlabs.com/templates/ical/US-Holidays.ics',
symbol: 'calendar',
auth: {
user: 'username',
pass: 'superstrongpassword',
method: 'basic'
}
},
],
}
Option | Description |
---|---|
url |
The url of the calendar .ical. This property is required. Possible values: Any public accessble .ical calendar. |
auth |
The object containing options for authentication against the calendar. |
symbolClass |
Add a class to the cell of symbol. |
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 , bearer Default value: basic |
This module is licensed under the MIT License