Compare commits

...

4002 Commits

Author SHA1 Message Date
Michael Teeuw
26a76f80d6 Merge pull request #2607 from MichMich/develop
Release v2.16.0
2021-07-01 14:30:00 +02:00
Michael Teeuw
53ead2087f Prepare v2.16.0 2021-07-01 14:08:10 +02:00
Michael Teeuw
faee811d67 Merge pull request #2605 from rico24/patch-1
Update nl.json
2021-06-29 09:56:35 +02:00
Michael Teeuw
b9c739df1f Fix prettier issues. 2021-06-29 09:49:13 +02:00
rico24
6e124842e8 Merge branch 'develop' into patch-1 2021-06-28 22:38:10 +02:00
rico24
7a5928ea24 Update CHANGELOG.md 2021-06-28 21:03:05 +02:00
Michael Teeuw
7fdf7de11c Merge pull request #2600 from njwilliams/njw/openweathermap-onecall-fix 2021-06-25 11:32:49 +02:00
Michael Teeuw
b75eedb84e Merge pull request #2604 from khassel/update_deps 2021-06-25 11:01:08 +02:00
rico24
3b92ae49a9 Update nl.json
Added the missing variables based on the en.json file.
2021-06-25 10:58:05 +02:00
Nick Williams
775d1091db typo when not using /onecall - was getting forecast from wrong attr 2021-06-24 21:39:32 -04:00
Karsten Hassel
1f77b491fc update dependencies 2021-06-24 23:01:29 +02:00
Michael Teeuw
eff2fd7cc0 Merge pull request #2603 from khassel/dev_console_test 2021-06-24 08:38:49 +02:00
Karsten Hassel
58d2a0d874 Merge branch 'develop' into dev_console_test
# Conflicts:
#	CHANGELOG.md
2021-06-23 23:14:19 +02:00
Michael Teeuw
ea9def997a Merge pull request #2602 from khassel/jest 2021-06-22 08:31:05 +02:00
Karsten Hassel
a222c58047 use --forceExit running jest, define timeouts for github workflows 2021-06-21 22:27:36 +02:00
Michael Teeuw
39a838c2ab Merge pull request #2601 from khassel/jest 2021-06-20 14:45:41 +02:00
Karsten Hassel
cfc0bcd5ad workaround for dev_console test using getWindowCount 2021-06-18 21:39:55 +02:00
Karsten Hassel
3418c9b50f revert changes to dev_console test (has impact on other tests), add CHANGELOG 2021-06-18 12:42:13 +02:00
Nick Williams
e686611890 update One Call API results for openweathermap
The results from the /onecall endpoint were not
being parsed correctly in current and forecast mode - it was
assuming the current/forecast endpoint API, and the return
datasets are different. The effect was that the module
would simply display "Loading..." when in /onecall mode, since
it has no way of displaying error status (ideally, it should,
but leave that for another day)
2021-06-17 19:30:56 -04:00
karsten13
ebb5dee1fc run prettier 2021-06-17 23:19:57 +02:00
Karsten Hassel
d9edaffd9c reset changes on js/logger.js, mock logger.js in global_vars tests, workaround for failing dev_console test 2021-06-17 22:50:26 +02:00
Michael Teeuw
cbe7b1a5b9 Merge pull request #2599 from khassel/jest 2021-06-17 07:06:36 +02:00
Karsten Hassel
e758fd4093 add CHANGELOG 2021-06-16 20:54:03 +02:00
Karsten Hassel
14a99a3b25 Merge branch 'develop' into jest 2021-06-16 20:53:02 +02:00
Karsten Hassel
1ba67506a0 fix logger.js after jest changes 2021-06-16 20:51:32 +02:00
Michael Teeuw
2a6ca5d5ac Merge pull request #2581 from Crazylegstoo/envCanadaFix
Fix to Environment Canada weather provider
2021-06-16 10:07:48 +02:00
Michael Teeuw
aa12e6495a Merge pull request #2593 from khassel/jest
replace mocha with jest
2021-06-16 10:06:32 +02:00
Karsten Hassel
9269848f66 Merge branch 'develop' into jest
# Conflicts:
#	CHANGELOG.md
2021-06-15 23:32:22 +02:00
Karsten Hassel
a71e61cd30 use short if in weatherforecast.js, add comment to logger.js 2021-06-15 23:29:07 +02:00
Michael Teeuw
8be4604c97 Merge pull request #2580 from r3wald/feature/newsfeed-show-as-list
feature: show newsfeed as list
2021-06-15 11:14:15 +02:00
Michael Teeuw
a7bba903f5 Merge branch 'develop' into envCanadaFix 2021-06-15 11:13:28 +02:00
Karsten Hassel
1d8af5835d Merge branch 'develop' into jest
# Conflicts:
#	package-lock.json
#	package.json
2021-06-14 23:21:08 +02:00
Karsten Hassel
189c01fc74 update moduleNameMapper 2021-06-14 22:45:21 +02:00
Karsten Hassel
e3a5bbf661 use expect where missing 2021-06-14 21:07:38 +02:00
Karsten Hassel
ee23c5f72c update clock tests, remove testSequencer 2021-06-14 19:21:21 +02:00
Karsten Hassel
a2083be76b test order 2021-06-14 00:45:40 +02:00
Michael Teeuw
a1c4be83d6 Merge pull request #2578 from rejas/docs 2021-06-13 19:27:24 +02:00
Karsten Hassel
d2fde2bfc8 fix segment faults in node16 on ubuntu 2021-06-12 23:53:04 +02:00
Karsten Hassel
e8956b0b55 update package-lock.json 2021-06-12 22:52:05 +02:00
Karsten Hassel
2af4009a93 change missing translations log, disable console.log in unit tests 2021-06-12 22:26:02 +02:00
Karsten Hassel
a5f7c946cc jest setup changes, increase setMaxListeners, disable console.log in tests/unit/global_vars 2021-06-12 21:26:08 +02:00
Karsten Hassel
298542b531 enable missing translation messages 2021-06-11 23:42:24 +02:00
Karsten Hassel
fca6707a29 add eslint-plugin-jest 2021-06-11 23:11:30 +02:00
Karsten Hassel
10d3a284e9 fix js lint warnings 2021-06-11 23:10:41 +02:00
karsten13
1a244726aa run prettier 2021-06-11 22:24:21 +02:00
Karsten Hassel
044935a164 add jest options 2021-06-11 22:18:05 +02:00
Karsten Hassel
99e5edf2c5 add CHANGELOG.md 2021-06-11 01:00:05 +02:00
Karsten Hassel
b26270bd13 fix helloworld_spec tests 2021-06-11 00:36:53 +02:00
Karsten Hassel
65a8cb9ddb remove unused references 2021-06-11 00:32:54 +02:00
Karsten Hassel
ba4b976e80 test config 2021-06-10 00:24:08 +02:00
veeck
297ae1dbaf Try updating dependencies 2021-06-09 13:09:28 +02:00
veeck
214614f740 Cleanup jsdoc via eslint 2021-06-09 12:49:57 +02:00
Karsten Hassel
0e14d3d6e8 snapshot e2e 2021-06-09 00:19:43 +02:00
Karsten Hassel
67011c0c32 snapshot e2e 2021-06-08 00:47:40 +02:00
Karsten Hassel
16bbb42b8d remove chai from unit tests 2021-06-08 00:47:15 +02:00
Kevin G
b85ac91e6c Corrected bullet for Updated list
Wording/location corrected for update to WEATHER module
2021-06-07 09:28:33 -04:00
Karsten Hassel
66759a33fa unit tests 2021-06-07 00:16:53 +02:00
Kevin G
bf5e83861c Highlight new custom precipitation unit-of-measure for WEATHER
With the new Environment Canada provider in WEATHER, it is now possible for provider to set a customized precipitation unit-of-measure
2021-06-05 11:39:21 -04:00
Robert Ewald
d56a6fb06f disabled by default. 2021-06-03 12:45:08 +02:00
Robert Ewald
5e7aa8e16d changelog updated. 2021-06-03 12:42:39 +02:00
Robert Ewald
bace0ad339 indentation in template fixed. 2021-06-03 12:38:54 +02:00
Robert Ewald
6014eaf8eb Merge remote-tracking branch 'upstream/develop' into feature/newsfeed-show-as-list 2021-06-03 12:27:26 +02:00
Robert Ewald
3e96e8b3f5 newsfeed: showAsList implemented. 2021-06-03 11:40:18 +02:00
Kevin G
95d1b8a6d0 Corrected formating 2021-06-02 16:25:53 -04:00
Kevin G
0ecb66c99e Fixed precipitation unit conversion logic
Found an error that precipitation amount was not being calculated correctly when config.js is asking for Imperial units. This has been fixed.
2021-06-02 16:15:44 -04:00
Kevin G
af52b91799 Fix to precipitation logic
Found a really dumb error I made that broke compatibility with OpenWeatherMap hourly forecast under certain conditions. This is now fixed.
2021-06-02 11:43:56 -04:00
veeck
3c50d6c30a Update CHANGELOG 2021-05-29 16:23:53 +02:00
veeck
2722c72c43 Update issue template 2021-05-29 16:23:41 +02:00
rejas
d5ab3101c6 Update links to config documentation 2021-05-29 16:23:41 +02:00
Michael Teeuw
32df76bdff Merge pull request #2577 from rejas/prettier 2021-05-29 16:22:52 +02:00
rejas
68a06c3d1d Update CHANGELOG 2021-05-29 16:13:24 +02:00
rejas
1b42dc779b Run prettier again 2021-05-29 16:11:39 +02:00
rejas
cedffd40f2 Lint all files, exclude others 2021-05-29 16:11:25 +02:00
Michael Teeuw
cdc8db4837 Merge pull request #2576 from rejas/calendar_fix 2021-05-29 14:02:13 +02:00
Michael Teeuw
a0ee23d84e Merge pull request #2568 from Crazylegstoo/envcanada 2021-05-29 14:01:04 +02:00
Michael Teeuw
49d2d8c9d0 Merge pull request #2574 from daniel-windsor/forecase-ignore-today 2021-05-29 13:59:55 +02:00
rejas
63620aa811 Update CHANGELOG 2021-05-29 13:33:41 +02:00
rejas
d5b11a1dba Update dependencies 2021-05-29 13:32:24 +02:00
rejas
4a63af0490 Set error to null once the events are coming again 2021-05-29 13:22:31 +02:00
Michael Teeuw
a68019293f Merge pull request #2567 from khassel/fix_husky 2021-05-27 07:14:56 +02:00
Karsten Hassel
6b1c91f0dd Merge branch 'develop' into fix_husky
# Conflicts:
#	CHANGELOG.md
2021-05-26 20:20:55 +02:00
Michael Teeuw
ea93785581 Merge pull request #2552 from rejas/error_handling 2021-05-26 20:12:17 +02:00
Karsten Hassel
32819c4fd5 Merge pull request #1 from rejas/fix_pretty_quick_too
Fix call to pretty quick, make husky script executable
2021-05-26 19:49:36 +02:00
Daniel Windsor
fc5a438cdc Add flag that removes today entry in forecast 2021-05-26 21:45:24 +12:00
veeck
57fe94f945 Fix call to pretty quick, make husky script executable 2021-05-26 11:39:29 +02:00
Robert Ewald
aa3a3bdf16 server data for newsfeed list. 2021-05-25 09:29:48 +02:00
Kevin G
db89da3daa Ran prettier 2021-05-21 12:11:58 -04:00
Kevin G
d6ba5796ce ran prettier... 2021-05-21 11:48:56 -04:00
Kevin G
3968743b28 ran prettier... 2021-05-21 11:45:54 -04:00
Kevin G
20c6226b84 Update for new weather provider 2021-05-21 10:20:16 -04:00
Kevin G
463ce394fe ran prettier... 2021-05-21 10:13:39 -04:00
Kevin G
1faefebe42 Formatting correction for min/max display 2021-05-21 10:06:54 -04:00
Karsten Hassel
e2c9339ec4 fix husky setup in prod environment 2021-05-19 20:58:29 +02:00
rejas
4b1c7da171 Update jsdoc 2021-05-19 11:12:56 +02:00
rejas
bdfd6e5e9f Fix calendar test 2021-05-19 11:12:56 +02:00
rejas
4c8508b0a9 Fix newsfeed test 2021-05-19 11:12:56 +02:00
veeck
06b3f92963 Refaktor calendar error once again for better messaging to the user 2021-05-19 11:12:56 +02:00
veeck
d43a57af36 Refaktor newsfeed error once again for better messaging to the user 2021-05-19 11:12:56 +02:00
rejas
aeefe28710 Update jsdoc 2021-05-19 11:12:56 +02:00
rejas
e9de961a23 Cleanup prohibited words filter code and test data 2021-05-19 11:12:56 +02:00
rejas
dcec778e02 Update CHANGELOG 2021-05-19 11:12:56 +02:00
rejas
b212641069 Move checkFetchStatus into NodelHelper 2021-05-19 11:12:42 +02:00
rejas
90aa50bb11 Add fetcher_helper for calendar and newsfeed 2021-05-19 11:12:42 +02:00
rejas
a6879e853b Fix tests 2021-05-19 11:12:42 +02:00
rejas
37fab7ac63 Update error handling for newsfeed and calendar 2021-05-19 11:12:42 +02:00
Michael Teeuw
8b01ae08c5 Merge pull request #2566 from khassel/update_deps 2021-05-19 11:07:43 +02:00
Michael Teeuw
b1cdf42790 Merge pull request #2565 from rejas/css_gap 2021-05-19 11:07:10 +02:00
Karsten Hassel
974968d238 update CHANGELOG.md 2021-05-18 20:44:43 +02:00
karsten13
bf467cbba5 add package-lock.json 2021-05-18 20:42:06 +02:00
Karsten Hassel
536aa2e96e update dependencies and migrate husky to v6 2021-05-18 20:36:56 +02:00
rejas
3d84344b75 Revert "Update dependencies, run linter"
This reverts commit 1054ba3b1e.
2021-05-14 22:06:55 +02:00
rejas
1054ba3b1e Update dependencies, run linter 2021-05-14 21:46:18 +02:00
rejas
aa8ddb9a92 Update CHANGELOG 2021-05-14 21:20:33 +02:00
rejas
fcfe57e5e2 Add more properties for finer body margins 2021-05-14 17:42:23 +02:00
Kevin G
c4fd4e0317 New provider - Environment Canada
Added a new provider that pulls weather data - current, forecast, and hourly - from Environment Canada (Canadian gov weather service). This provider supports Canadian locations only. Documentation will be provided that outlines specific behaviours of this provider and required 'weather' modules parms for Env Canada.
2021-05-13 11:12:30 -04:00
Kevin G
3c76933824 Edit Update
Formatting
2021-05-13 11:00:43 -04:00
Kevin G
fa83819bee Edit update
Formatting
2021-05-13 10:59:45 -04:00
Kevin G
b65ae88879 Edit update
Formatting
2021-05-13 10:58:08 -04:00
Kevin G
96db21f9bf Updates to support Environment Canada provider
Code updates to support a new weatherobject element called precipitationUnits. For the 'forecast' and 'hourly' UI, the weather module will use this new element if it is not null (i.e. a provider has pushed some value into this object element). If the element is null, then default 'units' processing will still occur. This allows a provider to have a customn unit of measure for precipitation - e.g. Env Canada will use mm for rain and cm for snow.
2021-05-13 10:56:30 -04:00
veeck
6d356ff770 Introduce font-size-small property and use it in calendar too (clean it up too) 2021-05-08 18:29:53 +02:00
veeck
21790b32bf Use hex notation instead of verbose name like everywhere else 2021-05-08 18:07:38 +02:00
rejas
159f3d0aa2 Replace deprecated symbol with modern solution 2021-05-08 18:05:30 +02:00
veeck
012a7b0678 Convert one px to rem 2021-05-08 18:04:14 +02:00
veeck
6595c85671 Remove useless(?) margins 2021-05-08 18:04:14 +02:00
veeck
cf5c0464fe Use custom property for gaps between modules 2021-05-08 18:04:14 +02:00
Michael Teeuw
e31450f731 Merge pull request #2560 from foundations-design/contribute 2021-05-08 08:50:00 +02:00
Michael Teeuw
3653984a95 Merge pull request #2562 from rejas/config_check 2021-05-08 08:49:10 +02:00
Michael Teeuw
0c0b856c37 Merge pull request #2561 from khassel/develop 2021-05-08 08:48:43 +02:00
Michael Teeuw
69f1b153ea Merge pull request #2559 from rejas/issue_2547 2021-05-08 08:46:44 +02:00
veeck
43ba4bd00e Fix calendar debug 2021-05-07 12:28:55 +02:00
veeck
bf5edcaac6 Fix failing config check when es6 notation is used 2021-05-07 12:23:29 +02:00
Karsten Hassel
ac51709211 update dependencies in package.json, require node >= v12, remove rrule and rrule-alt 2021-05-04 21:49:16 +02:00
Earl Man
e1a578e819 add myself to CHANGELOG.md 2021-05-04 09:25:36 -05:00
rejas
591c9e53b0 Update CHANGELOG 2021-05-02 15:07:49 +02:00
rejas
87d543eb3a Finish test case 2021-05-02 15:07:02 +02:00
rejas
40c1521591 Add test data 2021-05-02 14:55:45 +02:00
Michael Teeuw
b31c2a6264 Add contributors list.
The full list will be checked during release.
2021-04-29 10:32:20 +02:00
Michael Teeuw
66a42f13f1 Merge pull request #2546 from rejas/move 2021-04-27 16:27:55 +02:00
veeck
8de6ebbbd1 Update dependencies 2021-04-27 13:14:27 +02:00
rejas
649de694ed Update CHANGELOG 2021-04-27 13:14:27 +02:00
veeck
8a52fde8fc Move codecov.yml into github dir to other configs 2021-04-27 13:14:07 +02:00
rejas
fb8bd657de Move weatherforecast mock data in better suited directory 2021-04-27 13:14:07 +02:00
Michael Teeuw
b04a0a6b61 Merge pull request #2556 from khassel/updatenotification 2021-04-27 07:21:06 +02:00
Michael Teeuw
f29c911a0f Merge pull request #2557 from khassel/node16 2021-04-27 07:20:31 +02:00
Karsten Hassel
bd908123c2 replace node v10 with v16 in github workflow 2021-04-26 22:29:23 +02:00
Karsten Hassel
cbdb0b67ab fix updatenotification.js increasing timeout 2021-04-26 22:24:07 +02:00
Michael Teeuw
aa3848f420 Merge pull request #2544 from rejas/es6_conversion 2021-04-18 18:14:25 +02:00
rejas
6cf0748172 Update CHANGELOG 2021-04-18 18:07:26 +02:00
rejas
11122d3f81 Use es6 notation in clientonly 2021-04-18 15:36:00 +02:00
rejas
2dea9398f2 Use es6 notation in updatenotification module 2021-04-18 15:35:41 +02:00
rejas
de93b3294f Use es6 notation in main.js 2021-04-18 15:29:10 +02:00
rejas
7accb84eb9 Use es6 notation in config sample 2021-04-18 15:06:28 +02:00
rejas
ea90ed04d6 Use es6 notation in vendor 2021-04-18 15:06:21 +02:00
rejas
838eed2630 Use es6 notation in weatherprovider 2021-04-18 15:06:06 +02:00
rejas
376b65c749 Use es6 notation in serveronly 2021-04-18 14:52:04 +02:00
rejas
3b4432cb00 Use es6 notation in defaults 2021-04-18 14:51:57 +02:00
rejas
7bc71029de Use es6 notation in socketclient 2021-04-18 14:51:50 +02:00
rejas
d736dd92be Use es6 notation in tests 2021-04-18 14:51:28 +02:00
rejas
6eba8d681c Use es6 notation in module 2021-04-17 16:29:38 +02:00
rejas
5fe654c19d Use es6 notation in loader 2021-04-17 16:29:38 +02:00
rejas
dd366f35a8 Use es6 notation in test configs 2021-04-17 16:29:38 +02:00
rejas
2ababa521d Use es6 notation in weather module and ukmet provider 2021-04-17 16:29:38 +02:00
rejas
bda8f26511 Use es6 notation in compliments module and cleanup jsdoc 2021-04-17 16:29:38 +02:00
rejas
7f1a3df25b Use es6 notation in font tests 2021-04-17 16:29:38 +02:00
rejas
ef2ff50089 Use es6 notation in clock module 2021-04-17 16:29:38 +02:00
rejas
0b3964c827 Use es6 notation in helloworld tests 2021-04-17 16:29:38 +02:00
Michael Teeuw
ccf5bb9342 Merge pull request #2540 from rejas/patch-1 2021-04-17 15:52:38 +02:00
Michael Teeuw
4303882c6a Merge pull request #2542 from rejas/codecov 2021-04-17 15:50:49 +02:00
Michael Teeuw
c34028d549 Merge pull request #2541 from rejas/css 2021-04-17 15:50:18 +02:00
rejas
8e76cdcb57 Revert "Remove some tests to see if it still errors"
This reverts commit 0abebc1e32.
2021-04-17 13:26:16 +02:00
rejas
5eb66106b9 Rename yaml file 2021-04-17 13:17:24 +02:00
rejas
0abebc1e32 Remove some tests to see if it still errors 2021-04-17 13:05:06 +02:00
rejas
552e82f44d Update CHANGELOG 2021-04-17 12:35:46 +02:00
rejas
ada40e36db Add codecov yaml to set informational mode 2021-04-17 12:35:10 +02:00
rejas
480f734a06 Update CHANGELOG, undo accidental commit in clock.js 2021-04-17 12:20:25 +02:00
rejas
20bee9c334 Update dependencies 2021-04-17 11:19:39 +02:00
rejas
de8267f41e Fix css comment style 2021-04-17 10:27:36 +02:00
rejas
7bfaf07980 Use custom properties colors more often 2021-04-17 09:50:12 +02:00
rejas
a42fa8e9f9 Adjust default css to match styles from befor custom properties merge 2021-04-17 09:38:33 +02:00
Veeck
5facad683a Add link to subforum to README
As propose din #2539
2021-04-17 06:46:30 +02:00
Michael Teeuw
fd1913a72e Merge pull request #2538 from codac/master 2021-04-15 16:16:51 +02:00
Michael Teeuw
54c98b4250 Merge pull request #2537 from rejas/custom-properties 2021-04-15 16:15:27 +02:00
config
5d99baac21 Fixing fetch option httpsAgent to agent in calendar module (#466) 2021-04-15 14:51:33 +02:00
veeck
cb95bdf6d7 Undo script changes, Update CHANGELOG 2021-04-14 17:03:09 +02:00
veeck
25e803abfc Update custom.css.sample 2021-04-14 16:56:29 +02:00
veeck
7c6073e4ef Undo README changes 2021-04-14 16:45:38 +02:00
veeck
09bcbe8dfc Update dependencies and lock files 2021-04-14 16:45:07 +02:00
veeck
e0a9c7d0bb Merge branch 'develop' into contribute 2021-04-14 16:42:54 +02:00
Michael Teeuw
ac27d05fd5 Merge pull request #2532 from ezeholz/develop
Alert Module not recognizing multiple alerts
2021-04-14 16:17:45 +02:00
Ezequiel Holzweissig
d6ab56252f Merge branch 'develop' into develop 2021-04-13 20:56:32 -03:00
Michael Teeuw
dab178ed50 Merge pull request #2536 from B1gG/develop
Develop
2021-04-13 14:38:17 +02:00
B1gG
6ed50b6a75 updating changelog 2021-04-13 07:39:14 +01:00
B1gG
ee559ec650 to use dateFormat when timeFormat is relative 2021-04-13 07:29:11 +01:00
Michael Teeuw
4310238418 Merge pull request #2527 from rejas/patch-1 2021-04-12 21:03:27 +02:00
veeck
10c47a6c38 Really run prettier 2021-04-12 19:33:23 +02:00
veeck
4b8043086e Merge branch 'develop' into patch-1 2021-04-12 19:28:51 +02:00
Michael Teeuw
fd952b88bf Merge pull request #2535 from rejas/issue_2530 2021-04-12 19:23:07 +02:00
Ezequiel Holzweissig
e262d463c5 Merge branch 'develop' into develop 2021-04-12 14:20:33 -03:00
veeck
b02bce2510 Merge branch 'develop' into issue_2530 2021-04-12 19:11:24 +02:00
Michael Teeuw
58094531c0 Merge pull request #2534 from KristjanESPERANTO/develop 2021-04-12 19:08:36 +02:00
Michael Teeuw
d937e3ca7c Merge pull request #2533 from rejas/alert_test 2021-04-12 19:07:55 +02:00
Kristjan SCHMIDT
9c58413209 Put decimalSymbol at the end of the row like in the Current part 2021-04-12 18:34:33 +02:00
rejas
db65ff12d7 Update CHANGELOG 2021-04-11 22:49:26 +02:00
rejas
f93b819ea6 Fix missing await calls in tests 2021-04-11 22:42:21 +02:00
rejas
e6fea297e5 Add test for decimalSymbol in weatherforecast 2021-04-11 22:25:17 +02:00
Kristjan SCHMIDT
5c2a0e5634 Fix decimalSymbol for forcast 2021-04-11 22:25:15 +02:00
rejas
71aa21a82d Update dependencies 2021-04-11 21:07:26 +02:00
rejas
23821360c7 Update CHANGELOG 2021-04-11 21:03:35 +02:00
rejas
79f5b938f5 Add first test for alert module 2021-04-11 20:59:53 +02:00
Michael Teeuw
f8769fcc2a Merge pull request #2531 from KristjanESPERANTO/patch-1 2021-04-11 12:45:23 +02:00
Ezequiel Holzweissig
a3ed24c766 Prettifier 2021-04-10 20:38:33 -03:00
Ezequiel Holzweissig
82727b825c Fix alerts
Fixes #2522
2021-04-10 20:15:32 -03:00
Kristjan Esperanto
16e98496af Remove duplicate codecov badge
The second badge doesn't make sense, does it?
2021-04-10 23:55:11 +02:00
rejas
62896ce1a3 Merge branch 'develop' into patch-1 2021-04-10 20:37:47 +02:00
Michael Teeuw
7ea5b1ecbf Merge pull request #2526 from FrancoisRmn/add-some-translations 2021-04-10 20:36:11 +02:00
rejas
eecc95f8fb Run linter 2021-04-10 20:34:27 +02:00
FrancoisRmn
85808d85c4 add some translations 2021-04-10 17:56:47 +02:00
Gerardo Gonzalez
12cc670642 Merge branch 'develop' into patch-1 2021-04-10 14:04:53 +01:00
Michael Teeuw
13fcb55df6 Merge pull request #2518 from oemel09/hide-newsfeed-description 2021-04-10 14:56:49 +02:00
oemel09
a4dfd15888 Fixes tests for newsfeed description 2021-04-10 09:13:14 +02:00
Gerardo Gonzalez
7fbd326298 Update CHANGELOG.md
updating the changelog for the fix Fix wrong treatment of `appendLocationNameToHeader` when using `ukmetofficedatahub`
2021-04-10 01:30:12 +01:00
Gerardo Gonzalez
331d147d50 Update ukmetofficedatahub.js
There is a wrong treatment to appendLocationNameToHeader.
The location should be always returned and leave the weater.js to decide if is included or not in the header.
2021-04-10 01:20:52 +01:00
oemel09
acdcdc55bc Adjusts parenthesis in template to be consistent 2021-04-09 08:07:37 +02:00
oemel09
fdb0c0acb3 Adds test to check that newsfeed description does not show up 2021-04-09 08:05:19 +02:00
Earl Man
564bf47fb2 update sample css 2021-04-08 14:56:01 -05:00
Earl Man
eca35b2371 change --base to --font-size 2021-04-08 14:51:07 -05:00
Earl Man
f97d2e2644 revert 'dimming' method 2021-04-08 14:48:23 -05:00
Earl Man
fdd6659139 delete useless file 2021-04-08 14:39:21 -05:00
Earl Man
0d698fb659 Merge remote-tracking branch 'upstream/develop' into contribute 2021-04-08 14:35:39 -05:00
Earl Man
c68b39dda8 Merge branch 'css-properties' 2021-04-08 14:24:39 -05:00
oemel09
cb67286bc3 Adds test to validate that description is shown 2021-04-08 17:00:15 +02:00
oemel09
a49962b8de Moves validation into template 2021-04-08 17:00:15 +02:00
oemel09
256d5ae14f Rebases onto develop 2021-04-08 16:59:46 +02:00
oemel09
799ee8bcfa Check showDescription setting for newsfeed module 2021-04-08 16:59:03 +02:00
Michael Teeuw
fe8a317ef9 Merge pull request #2514 from jupadin/log-consistency
Log consistency
2021-04-08 11:04:11 +02:00
Michael Teeuw
b6d6ee45e0 Fix linter issue. 2021-04-08 10:40:31 +02:00
Michael Teeuw
0151466a28 Merge branch 'develop' into log-consistency 2021-04-08 10:37:18 +02:00
earlman
3588875e28 Update .gitignore 2021-04-04 13:52:18 -05:00
earlman
e8031aec39 add original main.css bak 2021-04-04 13:34:52 -05:00
earlman
1cabe107e6 run prettier 2021-04-04 13:28:56 -05:00
earlman
ba0c59744b update CHANGELOG.md 2021-04-04 13:28:34 -05:00
earlman
50c702c00a adjust new opacities 2021-04-04 13:24:59 -05:00
earlman
ff8c2fe227 add custom.css.sample 2021-04-04 13:22:33 -05:00
earlman
f9c78a5263 use variables for fonts 2021-04-04 13:18:33 -05:00
earlman
d46784a4d5 base font sizes on rem and var(--base) 2021-04-04 13:05:41 -05:00
earlman
ff43d082f2 base line-height on scale 2021-04-04 12:53:35 -05:00
earlman
83801736d7 add color variables 2021-04-04 12:38:17 -05:00
earlman
e16986cf71 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into contribute 2021-04-04 11:55:03 -05:00
earlman
7ad12d954c add original main.css bak 2021-04-04 11:51:04 -05:00
Julian Dinter
fb74fadec2 Run 'npm run lint:prettier'. 2021-04-04 15:37:47 +02:00
Julian Dinter
c00bdf910e Clean up code by adding comments. 2021-04-04 15:22:12 +02:00
Julian Dinter
50cc1c56e5 Consistent log text. 2021-04-04 15:17:42 +02:00
Julian Dinter
0006099758 Changed log type of starting function of updatenotification module. 2021-04-04 14:52:24 +02:00
earlman
162dcec331 Merge branch 'master' of https://github.com/foundations-design/WhiteLight into develop 2021-04-03 11:15:33 -05:00
earlman
3e8bd022e2 add custom variables 2021-04-02 11:28:22 -05:00
earlman
01e5936671 install valid-url 2021-04-02 10:11:38 -05:00
Michael Teeuw
d85e1c70d6 Merge pull request #2512 from jupadin/log-consistency 2021-04-02 12:56:28 +02:00
Julian Dinter
f329770194 Added fix in CHANGELOG. 2021-04-02 12:42:31 +02:00
Julian Dinter
08194925cb Changed log type of starting function of calendar module. 2021-04-02 12:26:34 +02:00
earlman
2b7aa3e810 use yarn 2021-04-01 15:59:48 -05:00
earlman
549417f106 yarn 2021-04-01 15:00:12 -05:00
earlman
f0f370cc7d add *.env to .gitignore 2021-04-01 15:00:06 -05:00
earlman
b842241f8c fix broken start scripts & yarn 2021-04-01 14:08:48 -05:00
earlman
93aa4b7440 update README.md 2021-04-01 14:03:38 -05:00
Michael Teeuw
9e2eef7818 Merge pull request #2511 from khassel/update-node-ical 2021-04-01 20:12:12 +02:00
Karsten Hassel
b29b65851e Bump node-ical to v0.13.0 (now last runtime dependency using deprecated request package is removed). 2021-04-01 20:02:08 +02:00
Michael Teeuw
a6829bff4f Prepare develop: v2.16.0-develop 2021-04-01 14:36:50 +02:00
Michael Teeuw
491f5aa776 Merge pull request #2510 from MichMich/develop
Release v2.15.0
2021-04-01 14:23:02 +02:00
Michael Teeuw
d401e59031 Prepare for release: v2.15.0 2021-04-01 14:09:08 +02:00
Michael Teeuw
63ce69ce82 Merge pull request #2506 from rejas/fix_self 2021-03-28 11:28:13 +02:00
veeck
f15972c823 Update CHANGELOG
just to please the action and my inner OCD ;-)
2021-03-28 10:50:26 +02:00
veeck
b210fcdcf3 Update dependencies 2021-03-28 10:48:21 +02:00
veeck
8ea37a5a45 Fix left over self reference 2021-03-28 10:48:12 +02:00
Michael Teeuw
daf98c36fc Merge pull request #2504 from rejas/translation 2021-03-26 07:08:50 +01:00
rejas
6a0e6eb84e Fix styling issue 2021-03-25 17:35:36 +01:00
rejas
7bcdd2a42c Update CHANGELOG 2021-03-25 17:30:27 +01:00
rejas
670a760404 Use some es6 notation 2021-03-25 17:29:27 +01:00
veeck
a99de1ad13 Sort translation entries consistently 2021-03-25 16:43:27 +01:00
Michael Teeuw
108fe2082d Merge pull request #2503 from sdetweil/fixnews 2021-03-25 08:31:50 +01:00
Sam Detweiler
e67dc38890 fix newsreader template 2021-03-24 15:06:12 -05:00
sam detweiler
20a87656ff Merge pull request #4 from MichMich/develop
sync Develop
2021-03-24 15:03:29 -05:00
Michael Teeuw
70c3b68e67 Add FUNDING.yml 2021-03-24 16:20:36 +01:00
Michael Teeuw
bfcb7dc601 Merge pull request #2500 from sdetweil/daylight_fullday
fix fullday recurring event where start date is before 2007
2021-03-23 15:56:53 +01:00
Michael Teeuw
39e16221fb Merge pull request #2498 from rejas/md
Update markdown files for github
2021-03-23 15:56:34 +01:00
Sam Detweiler
d11e4e5c92 refix #2483 , recurring FULL Day event, start date before 2007 2021-03-23 08:44:14 -05:00
sam detweiler
cccaa1f33d Merge pull request #3 from MichMich/develop
sync Develop
2021-03-23 08:39:03 -05:00
rejas
37d3aa25b1 Update CHANGELOG 2021-03-23 09:55:35 +01:00
rejas
ebfe96d31d Update CONTRIBUTING guidelines 2021-03-23 09:47:55 +01:00
rejas
e902b8c52f Update PR template 2021-03-23 08:15:33 +01:00
veeck
201b36d62c Update README 2021-03-23 07:55:06 +01:00
Michael Teeuw
7b29070516 Merge pull request #2495 from qu1que/develop 2021-03-22 06:50:04 +01:00
qu1que
9ed2e4d557 Update translations.js
added galician language
2021-03-21 22:59:13 +01:00
qu1que
38544f2368 Update CHANGELOG.md
Added galician language
2021-03-21 22:58:09 +01:00
qu1que
df39408411 Create gl.json
gl.json for Galician language
2021-03-21 22:57:23 +01:00
Michael Teeuw
2e01f988f5 Merge pull request #2489 from sdetweil/fixday2 2021-03-19 16:54:44 +01:00
Sam Detweiler
2b940c9cfb fix formatting 2021-03-19 10:42:14 -05:00
Sam Detweiler
b6f4737ecc fix 2488, west of UTC day shift 2021-03-19 10:32:04 -05:00
Michael Teeuw
89d6473052 Merge pull request #2484 from rejas/newsfeed_cleanup 2021-03-18 22:49:20 +01:00
rejas
99d838f9cd Remove console log 2021-03-18 16:55:54 +01:00
rejas
f3bdddfaa9 Final es6 notation stuff 2021-03-18 16:55:54 +01:00
rejas
87f952c87b Update CHANGELOG 2021-03-18 16:55:54 +01:00
rejas
639305ecc8 Add test for prohibited words 2021-03-18 16:55:54 +01:00
rejas
a70bb517e1 Use es6 notation in newsfeed module 2021-03-18 16:55:54 +01:00
rejas
e4f671c898 Update error to use translatable text 2021-03-18 16:55:54 +01:00
rejas
a269b5cd93 Show invalid url error on UI, add test case 2021-03-18 16:55:54 +01:00
Michael Teeuw
2ec275957f Merge pull request #2486 from sdetweil/fixdaylight 2021-03-17 13:52:20 +01:00
Sam Detweiler
4f9fc032e5 fix for issue 2483, calendar shows wrong date, recurring start before 2007 2021-03-17 07:36:03 -05:00
sam detweiler
5c9dbccc10 Merge pull request #2 from MichMich/develop
synch
2021-03-17 07:33:20 -05:00
Michael Teeuw
b2cf470ec9 Merge pull request #2482 from rejas/valid_url 2021-03-16 20:06:25 +01:00
veeck
bceb181b47 Update CHANGELOG 2021-03-16 19:28:38 +01:00
veeck
1a314b741a Remove valid-url from dependencies 2021-03-16 19:27:56 +01:00
rejas
7635dea3e9 Replace valid-url library by standard node method 2021-03-16 19:25:23 +01:00
Michael Teeuw
90112d1a7d Merge pull request #2481 from rejas/fix_basic_auth 2021-03-15 21:03:02 +01:00
rejas
ad0cf12e53 Update dependencies 2021-03-15 12:50:41 +01:00
rejas
a53029f11e Use es6 notation in basic auth server 2021-03-15 12:36:58 +01:00
rejas
848529f9f4 Update CHANGELOG
so the github action is quiet ;-)
2021-03-14 21:12:36 +01:00
rejas
b5dc91fd07 Remove now unnecessary require 2021-03-14 21:04:38 +01:00
rejas
0a2b939514 Undo husky upgrade 2021-03-14 19:43:00 +01:00
rejas
52584f36d7 Fix base64 encoding for basic auth in calendar 2021-03-14 19:38:03 +01:00
Michael Teeuw
30c7a24fc2 Merge pull request #2376 from rejas/calendar_refactor 2021-03-14 12:55:24 +01:00
veeck
0643a103ac Update dependencies 2021-03-14 10:40:14 +01:00
rejas
71bd45dfd4 Fix errors introduced after latest rebase 2021-03-14 10:40:14 +01:00
rejas
85c9d3b331 More es6 notations 2021-03-14 10:40:14 +01:00
rejas
5e6cbeb9ba Convert some code to es6 2021-03-14 10:40:14 +01:00
rejas
3d4429d418 Remove copypasted-function that doesnt exist 2021-03-14 10:40:14 +01:00
rejas
d3d64d3ca0 Cleanups 2021-03-14 10:40:14 +01:00
rejas
6de983aeb2 Update CHANGELOG 2021-03-14 10:40:14 +01:00
rejas
05c3a5bf83 Remove self variable 2021-03-14 10:40:14 +01:00
rejas
c2f5d038de Move filter function into utils class too 2021-03-14 09:03:12 +01:00
rejas
0ac5032db9 Move filter function into seperate method 2021-03-14 08:59:50 +01:00
rejas
9b93066cbe Remove unused variable 2021-03-14 08:53:40 +01:00
rejas
bc60ae21c4 Cleanup node_helper to look more like the one from newsfeed module 2021-03-14 08:53:40 +01:00
rejas
0b37ed072c Refactor fetcher methods into util class 2021-03-14 08:53:40 +01:00
Michael Teeuw
57174f09b9 Merge pull request #2479 from buxxi/updatenotification-async-timeout 2021-03-14 07:23:47 +01:00
buxxi
61057d1a25 fix package-lock merge conflict 2021-03-13 22:58:30 +01:00
buxxi
03964d6f68 Merge with upstream 2021-03-13 22:56:14 +01:00
Michael Teeuw
7515fc10d1 Merge pull request #2478 from thomasrockhu/codecov-badge
Add Codecov badge to README
2021-03-13 19:22:34 +01:00
Michael Teeuw
6583f05858 Merge pull request #2477 from PostLogical/openweathermaplatlon
Allowing openweathermap config lat and lon to function without onecall, overrides locationID and location since more specific.
2021-03-13 19:20:59 +01:00
Michael Teeuw
2b1dbbde68 Merge pull request #2475 from MystaraTheGreat/master
Added hiddenOnStartup flag to module config
2021-03-13 19:20:29 +01:00
Michael Teeuw
49c95a9f46 Merge pull request #2474 from khassel/node-fetch
Node fetch
2021-03-13 19:19:22 +01:00
Michael Teeuw
a6214c8da3 Merge pull request #2473 from khassel/remove-ical
remove ical
2021-03-13 19:18:35 +01:00
buxxi
d2b3414ac6 changelog for zombie processes and fixing linting error 2021-03-13 12:02:56 +01:00
buxxi
401a6f3417 Updating simple-git and using timeout when checking for module updates 2021-03-13 11:58:33 +01:00
buxxi
3ed223a550 Refactoring update notification to use async/await 2021-03-13 11:12:08 +01:00
Tom Hu
47bd48e0a3 Add Codecov badge to README 2021-03-12 23:36:24 -05:00
Robby Griffin
cdd1853369 Fix weather module openweathermap not loading if lat and lon set without onecall. Lat and Lon take precedence over LocationID and Location. 2021-03-11 12:48:41 -05:00
MystaraTheGreat
8f2980c23d Fixed unnecessarily verbose way of looping thanks to @rejas :) 2021-03-07 20:34:26 +00:00
MystaraTheGreat
b72556b9a9 Merge branch 'master' of https://github.com/MystaraTheGreat/MagicMirror 2021-03-07 20:14:36 +00:00
MystaraTheGreat
49be3cbd6b Changed var to let as requested 2021-03-07 20:13:57 +00:00
MystaraTheGreat
fbb0c59b4e Merge branch 'develop' into master 2021-03-07 13:16:18 +00:00
MystaraTheGreat
d83e696a8d Changed variable name to appease tester 2021-03-07 11:23:52 +00:00
MystaraTheGreat
a467d900c9 Changed iterative variable from m to n to appease tester 2021-03-07 11:20:19 +00:00
MystaraTheGreat
96be8d6fea Updated CHANGELOG.md 2021-03-07 11:14:23 +00:00
MystaraTheGreat
8b1ce26fa6 Added hiddenOnStartup flag to module configuration options to cause a module to be iniitally hidden after starting up 2021-03-07 11:05:29 +00:00
Karsten Hassel
514b9453f8 removed getFetcher function 2021-03-06 21:19:14 +01:00
Karsten Hassel
fa0f997928 replace request with node-fetch 2021-03-05 22:17:55 +01:00
Karsten Hassel
504e7cadd7 getFetcher 2021-03-05 00:13:32 +01:00
Karsten Hassel
c80aeff945 fixes calendarfetcher 2021-03-04 21:12:53 +01:00
Karsten Hassel
454206c803 remove ical 2021-03-03 21:41:48 +01:00
Michael Teeuw
e4f47178fc Merge pull request #2466 from rejas/electron_update
Enable contextIsolation in Electron
2021-03-03 10:43:10 +01:00
Karsten Hassel
1f9109f8e4 snapshot 2021-03-03 00:09:32 +01:00
Karsten Hassel
f09c54184a moved tests to fetch, run prettier 2021-03-02 21:26:25 +01:00
Karsten Hassel
92a35692f2 snapshot 2021-03-02 00:40:55 +01:00
Karsten Hassel
53e300bd31 snapshot 2021-03-02 00:17:13 +01:00
veeck
e8be6ad4f1 Update CHANGELOG 2021-02-27 14:01:10 +01:00
rejas
01b9ecb339 Update dependencies 2021-02-27 13:58:59 +01:00
rejas
6ff85ebe54 Enable contextIsolation in electron
Fixes warning when starting MM
2021-02-27 13:19:16 +01:00
Michael Teeuw
ea6eebd809 Merge pull request #2439 from fewieden/feature/add-error-to-callback
Added error to callback
2021-02-23 14:18:07 +01:00
Michael Teeuw
b2a21b937d Change error string. 2021-02-23 14:11:54 +01:00
Michael Teeuw
13010ecaee Merge branch 'develop' into feature/add-error-to-callback 2021-02-23 14:10:35 +01:00
Michael Teeuw
2e2e157017 Merge pull request #2458 from codac/patch-2
This is supposed to make self signed certs work with the calendar module
2021-02-23 14:09:13 +01:00
Michael Teeuw
e23e33852e Merge pull request #2464 from fewieden/feature/expose-logger-for-modules
exposed logger as node module
2021-02-23 14:08:07 +01:00
config
5b270b84b4 linted calendarfetcher.js 2021-02-21 19:56:02 +01:00
Krouty
9094240024 Merge branch 'develop' into patch-2 2021-02-21 11:48:47 +01:00
Krouty
1db0dbf52b Added support for self-signed certificates
Added support for self-signed certificates
2021-02-21 11:45:15 +01:00
Krouty
beb5faef8b Added support for self-signed certificates
Added support for self-signed certificates
2021-02-21 11:32:03 +01:00
Krouty
c6aff8b7dc Added suppoert for self-signed certificates
Added support for self-signed certificates
2021-02-21 11:29:19 +01:00
Krouty
1aacc37c83 Added selfSignedCert as a parameter
Added selfSignedCert as a parameter, so that it can be enabled only when it is required.
2021-02-21 10:29:40 +01:00
Felix Wiedenbach
b18d98f5ea exposed logger as node module 2021-02-18 19:14:53 +01:00
Michael Teeuw
09ddd3d925 Merge pull request #2461 from fewieden/feature/add-locale 2021-02-16 23:55:51 +01:00
Felix Wiedenbach
e2b4823e43 added locale to sample config 2021-02-16 22:06:53 +01:00
Krouty
04491ac5ac This is supposed to make self signed certs work with the calendar module
Many people use Own-/Nextcloud together witht he https protocol. This is supposed to make self-signed certificates work with the calendar module and fix the issue #466.
2021-02-13 17:13:00 +01:00
Michael Teeuw
e3bee5aae7 Merge pull request #2454 from rejas/cleanup_tests 2021-02-13 17:00:58 +01:00
Michael Teeuw
89152e537e Merge pull request #2452 from TheDuffman85/develop 2021-02-13 17:00:07 +01:00
Felix Wiedenbach
652e1a528f Merge branch 'develop' into feature/add-error-to-callback
# Conflicts:
#	CHANGELOG.md
2021-02-13 08:43:23 +01:00
Felix Wiedenbach
9d85baee37 move error callback into options and rename it 2021-02-13 08:29:13 +01:00
rejas
bdc4ed4d86 Add specific change-port test and fix the others 2021-02-12 08:45:54 +01:00
rejas
35f3b315a2 Update CHANGELOG 2021-02-11 21:22:56 +01:00
rejas
efec49bb47 Use es6 notations 2021-02-11 21:22:03 +01:00
rejas
68bc77c81e Cleanup global-setup code 2021-02-11 21:21:08 +01:00
veeck
dbea348779 Cleanup port usage in tests 2021-02-11 21:20:34 +01:00
rejas
b46160bcbc Simplify weather-compliments test, increase timeWaitout for it 2021-02-11 21:20:16 +01:00
TheDuffman85
ddb06ca214 Added translation for today and tomorrow
I had missread the documentation of moment.js. We've to provide the translation for today and tomorrow ourselves. For the translation I use the standard MM² translation mechanism.
2021-02-10 14:24:59 +01:00
Michael Teeuw
ef2fd16b69 Merge pull request #2448 from khassel/electron11
fix e2e tests after spectron update
2021-02-10 10:01:57 +01:00
Michael Teeuw
d874ad9988 Merge pull request #2451 from TheDuffman85/develop 2021-02-09 17:41:05 +01:00
TheDuffman85
57dc349675 Added a new parameter to hide time portion on relative times 2021-02-09 16:06:21 +01:00
TheDuffman85
120f0299b2 Added a new parameter to hide time portion on relative times
Added a new parameter hideTime with default value false. This parameter hides the time portion on relative times.
2021-02-09 16:05:38 +01:00
Michael Teeuw
b5b6df5e48 Merge pull request #2450 from TheDuffman85/develop 2021-02-09 15:37:47 +01:00
TheDuffman85
5ffd20b843 Removed unnecessary tabs 2021-02-09 15:21:14 +01:00
TheDuffman85
3dacce6675 Respect parameter ColoredSymbolOnly also for custom events 2021-02-09 13:05:11 +01:00
TheDuffman85
8e4ba4fe93 Respect parameter ColoredSymbolOnly also for custom events 2021-02-09 13:01:57 +01:00
Michael Teeuw
37d488760f Merge pull request #2449 from rejas/update_jsdoc 2021-02-07 09:09:14 +01:00
veeck
7cdeceedf1 Update lock file 2021-02-07 08:47:18 +01:00
Karsten Hassel
7ba76020d8 fix e2e tests after spectron update 2021-02-07 00:20:30 +01:00
rejas
aab1b97653 Update CHANGELOG 2021-02-06 22:57:31 +01:00
rejas
221eadcc20 Make function callbacks and returns more readable 2021-02-06 22:55:59 +01:00
rejas
4a11cdc564 Update dependencies 2021-02-06 22:48:24 +01:00
rejas
b9333134c7 Fix lint script 2021-02-06 22:21:08 +01:00
veeck
8c83dc9494 Cleanup jsdoc 2021-02-06 22:20:49 +01:00
Felix Wiedenbach
1ed721fb15 updated changelog 2021-02-06 21:32:57 +01:00
Felix Wiedenbach
88ed5ed373 add error separate callback 2021-02-06 21:22:13 +01:00
Felix Wiedenbach
84995c9252 Merge branch 'develop' into feature/add-error-to-callback
# Conflicts:
#	CHANGELOG.md
2021-02-06 11:29:17 +01:00
Michael Teeuw
6fadc76fe3 Merge pull request #2447 from rejas/warn_dom
Warn dom
2021-02-06 11:01:21 +01:00
Michael Teeuw
d240986fdc Merge branch 'develop' into warn_dom 2021-02-06 11:01:08 +01:00
Michael Teeuw
afc73920ad Merge pull request #2443 from khassel/electron11 2021-02-06 10:58:38 +01:00
rejas
16615c3da2 Update CHANGELOG 2021-02-05 22:40:44 +01:00
rejas
88c80973f1 Dont updateDOM when the module is not displayed 2021-02-05 22:40:05 +01:00
Karsten Hassel
e322be2624 Merge branch 'develop' into electron11 2021-01-30 22:58:35 +01:00
Karsten Hassel
059b87bbb4 bump electron to v11 2021-01-30 21:58:49 +01:00
Michael Teeuw
911675f995 Merge pull request #2442 from fewieden/fix/translation-fallbacks
Fix/translation fallbacks
2021-01-30 20:21:39 +01:00
Felix Wiedenbach
e76fe5e25a updated changelog 2021-01-29 22:42:57 +01:00
Felix Wiedenbach
308774c2a6 remove callback hell 2021-01-29 22:34:12 +01:00
Felix Wiedenbach
db24f20289 cleaned up function and added test in case no file should be loaded 2021-01-29 22:25:49 +01:00
Felix Wiedenbach
94bb8e6c03 added sinon, tests for module.loadTranslations 2021-01-29 22:13:44 +01:00
Felix Wiedenbach
41da6f455a use error object for callback to include stack trace 2021-01-28 21:23:48 +01:00
Felix Wiedenbach
d2a7a3b0bb more error like message 2021-01-28 21:13:17 +01:00
Felix Wiedenbach
afbdacf136 updated changelog 2021-01-28 07:46:23 +01:00
Felix Wiedenbach
2324579057 add error to module show callback 2021-01-28 07:33:02 +01:00
Michael Teeuw
3c357f057b Merge pull request #2438 from khassel/fix_socket_v2 2021-01-27 21:15:01 +01:00
Karsten Hassel
5116a2fc82 fix socket.io backward compatibility with socket v2 clients 2021-01-27 20:52:50 +01:00
Michael Teeuw
c0ddc020d5 Merge pull request #2433 from buxxi/deprecate-old-weather 2021-01-24 11:04:13 +01:00
buxxi
0683734d5a Make a sane default for weatherEndpoint based on the type 2021-01-24 10:32:43 +01:00
buxxi
6cbd267384 Merge branch 'develop' into deprecate-old-weather 2021-01-24 10:22:39 +01:00
Michael Teeuw
925113fa20 Merge pull request #2432 from buxxi/weather-provider-hourly 2021-01-23 16:56:03 +01:00
buxxi
3696d45e94 Merge branch 'develop' into deprecate-old-weather 2021-01-23 13:56:13 +01:00
Michael Teeuw
cb3ae66652 Merge pull request #2430 from EdgardosReis/patch-4 2021-01-23 13:31:27 +01:00
buxxi
948b6c8de8 deprecate module currentweather and weatherforecast 2021-01-23 13:12:56 +01:00
buxxi
3c4d7a33e0 Fixing code style issue with no return before default 2021-01-23 12:07:10 +01:00
buxxi
5a421220c9 Updating readme and changelog and fixing typo in method 2021-01-23 11:40:02 +01:00
buxxi
41508931be Moving default values regarding specific providers into the providers themselves 2021-01-23 11:21:56 +01:00
buxxi
e2cfa24686 make weatherprovider have a method for hourly fetching instead of a generic weatherData 2021-01-23 10:45:55 +01:00
buxxi
d48113f2d9 Moving openweathermap specific check for hourly into its provider and make invalid types fail nicer 2021-01-23 10:13:41 +01:00
Edgar dos Reis
16c5bddbb7 Update CHANGELOG.md
updated changelog
2021-01-22 14:07:40 +00:00
Edgar dos Reis
ef7556f6d3 Update pt.json
Added MODULE_CONFIG_CHANGED and PRECIP translations.
2021-01-22 13:02:13 +00:00
Michael Teeuw
a3cb0b7b96 Merge pull request #2428 from rejas/update_defaults
Update documentation and help screen about invalid config files
2021-01-21 15:11:39 +01:00
Michael Teeuw
4d28688f30 Merge branch 'develop' into update_defaults 2021-01-21 15:11:31 +01:00
Michael Teeuw
01ff00fa31 Merge pull request #2427 from dannoh/Issue-TranslateEncodedHtml
Issue translate encoded html
2021-01-21 15:10:28 +01:00
Michael Teeuw
78190d9c7f Merge branch 'develop' into Issue-TranslateEncodedHtml 2021-01-21 15:10:14 +01:00
Michael Teeuw
b1565e4047 Merge pull request #2423 from rejas/add_start_dev
Added start:dev command to npm scripts
2021-01-21 15:08:52 +01:00
Michael Teeuw
db220b7861 Merge branch 'develop' into add_start_dev 2021-01-21 15:08:44 +01:00
Michael Teeuw
eaf27b837e Merge pull request #2422 from buxxi/develop
Refactoring newsfeed-module to use templates instead of dom-generation
2021-01-21 15:07:22 +01:00
Michael Teeuw
74410344af Merge pull request #2421 from klaernie/no-empty-subdirs
prevent empty path components for module main scripts
2021-01-21 15:07:07 +01:00
Michael Teeuw
998f64f983 Merge branch 'develop' into no-empty-subdirs 2021-01-21 15:06:57 +01:00
Michael Teeuw
684dfb643b Merge pull request #2420 from rejas/issue_2416
Add new Notification CURRENTWEATHER_TYPE
2021-01-21 15:05:09 +01:00
Michael Teeuw
314c3cb516 Merge pull request #2417 from ashishtank/Issue2221
Fixed Unit test case error for #2221
2021-01-21 15:04:33 +01:00
veeck
58939bfd8c Update documentation and help screen about invalid config files 2021-01-20 22:44:37 +01:00
Dan Forsyth
33592b3c0e Removed |safe from translates in the default module templates 2021-01-20 14:06:00 -05:00
Dan Forsyth
ad9c2549bc Removed |safe from translates in the default module templates 2021-01-20 13:47:32 -05:00
Dan Forsyth
5152e0b114 Updated changelog 2021-01-20 07:36:26 -05:00
Dan Forsyth
ca48663efd Merge remote-tracking branch 'origin/develop' into Issue-TranslateEncodedHtml 2021-01-20 07:31:11 -05:00
Dan Forsyth
b520b4c37a Marked all translated strings as safe before passing them to the nunjuck template 2021-01-20 07:16:09 -05:00
veeck
90f07295b1 Add extra check for currentweather 2021-01-17 15:00:34 +01:00
veeck
3895c18466 Add test case 2021-01-17 14:57:06 +01:00
veeck
2b6a9fc5bb Update dependencies 2021-01-17 12:41:42 +01:00
rejas
052f0b8709 Added start:dev script 2021-01-16 22:23:55 +01:00
buxxi
a5bb9d962d Fixing eslint issues 2021-01-16 14:06:07 +01:00
buxxi
2d9d28aa0f updating changelog with newsfeed changes 2021-01-16 13:47:16 +01:00
buxxi
69c053a94f refactoring newsfeed to use templates instead of generating dom in the code 2021-01-16 13:37:18 +01:00
buxxi
aaaf1f660c refactoring newsfeed, moving hiding of module while loading away from dom-generation 2021-01-16 12:26:38 +01:00
buxxi
8538d83520 Moving newsfeed styling from js to a new css file 2021-01-16 11:52:55 +01:00
buxxi
132c98b767 refactoring newsfeed, moving tag stripping to loading instead of presentation logic 2021-01-16 11:10:53 +01:00
rejas
42cac81953 Fix tests 2021-01-15 23:12:44 +01:00
Andre Klärner
3ee4bd65c6 prevent empty path components for module main scripts
The module.path component has by definition in line 97 a trailing slash.
Hence adding another is unneeded, but results in an additional folder in the inspector.
2021-01-15 23:09:07 +01:00
rejas
fcc7e80bf9 Update CHANGELOG 2021-01-15 21:49:12 +01:00
rejas
e0d43a4c1e Add new Event CURRENTWEATHER_TYPE
- send it from the weather and currentweather module
- use it in the compliments module directly instead of the data
2021-01-15 21:47:14 +01:00
Ashish Tank
4966d6c920 Fixed Unit test case error for #2221 2021-01-14 19:10:04 +01:00
Michael Teeuw
1fd506f25d Merge pull request #2414 from ashishtank/FeelsLikeCleanup
Feels like translation code cleanup
2021-01-13 09:50:11 +01:00
Michael Teeuw
a99698d1a9 Merge pull request #2413 from ashishtank/Issue2221
Issue 2221 Weather module - Always displays night icons because of fixed day start and end time
2021-01-12 16:14:06 +01:00
Ashish Tank
774b86c7dc Code cleanup for feels like translation 2021-01-10 17:37:10 +01:00
Ashish Tank
2c3e8533c7 Issue #2221 - Weather forecast always shows night icons in day time 2021-01-10 16:24:46 +01:00
ashishtank
3eda8af671 Merge pull request #9 from MichMich/develop
Develop
2021-01-10 16:03:49 +01:00
Michael Teeuw
aa61874848 Merge pull request #2411 from khassel/fix_cors
fix socket.io cors errors
2021-01-10 10:13:16 +01:00
Karsten Hassel
2deab31187 fix socket.io cors errors, see breaking change since socket.io v3 https://socket.io/docs/v3/handling-cors/ 2021-01-09 23:20:36 +01:00
Michael Teeuw
b177a56fa2 Fix wrong placement of changelog item. 2021-01-07 12:45:03 +01:00
Michael Teeuw
6f0f75cf27 Merge pull request #2388 from drewski3420/no_negative_zero
No negative zero
2021-01-07 12:41:30 +01:00
Michael Teeuw
39bb2eb9b0 Add Changelog. 2021-01-07 11:53:21 +01:00
Michael Teeuw
7b36bb025a Improve readabiliy. 2021-01-07 11:51:10 +01:00
Michael Teeuw
aa9a1b7af2 Add CodeCov badge to Readme. 2021-01-06 11:03:15 +01:00
Michael Teeuw
caf3552d6b Merge pull request #2401 from rejas/github_codecov_action
Add github action for uploading codecov results
2021-01-06 10:05:50 +01:00
veeck
6e9897f7fc Remove now unnecessary file 2021-01-06 09:33:06 +01:00
veeck
fa9258761e Change on-trigger 2021-01-06 09:33:06 +01:00
veeck
003e948899 Use codecov action instead of bash command 2021-01-06 09:33:06 +01:00
veeck
9cd998f219 Update CHANGELOG 2021-01-06 09:33:06 +01:00
rejas
d75b894d9a Add lcov reporter 2021-01-06 09:33:06 +01:00
rejas
5a3d3b76a7 Cleanups 2021-01-06 09:33:06 +01:00
rejas
5bc2c207db Add codecov github action 2021-01-06 09:33:06 +01:00
Michael Teeuw
612cf25878 Merge pull request #2407 from fewieden/feature/update-node-js-code
update node js code
2021-01-06 09:01:42 +01:00
Felix Wiedenbach
5ae4912b45 added changelog entry 2021-01-05 20:08:18 +01:00
Felix Wiedenbach
a9a70fd2e9 linting and fix defualt module test 2021-01-05 20:04:02 +01:00
Felix Wiedenbach
f90856808b fix config file path 2021-01-05 19:39:31 +01:00
Felix Wiedenbach
7dbcaa83bc clean up deprecated 2021-01-05 19:36:20 +01:00
Felix Wiedenbach
38f10b6e3e clean up app 2021-01-05 19:35:11 +01:00
Felix Wiedenbach
9c8fa06ce1 clean up config checker 2021-01-05 19:01:59 +01:00
Felix Wiedenbach
4efe04774c clean up electron 2021-01-05 18:48:55 +01:00
Felix Wiedenbach
5d60534dc9 clean up node helper 2021-01-05 18:44:36 +01:00
Felix Wiedenbach
ac141a4316 clean up server 2021-01-05 18:37:16 +01:00
Felix Wiedenbach
d22064c6f4 clean up utils 2021-01-05 18:37:01 +01:00
Michael Teeuw
189721ebba Merge pull request #2406 from rejas/danger
Remove now unused danger library
2021-01-05 16:54:55 +01:00
Michael Teeuw
7aa9c63dba Merge pull request #2405 from rejas/markdown
Update markdown for 2021
2021-01-05 16:53:46 +01:00
veeck
16e894e300 Update CHANGELOG 2021-01-05 15:07:40 +01:00
veeck
d466705ec0 Fix eslint error due to now js files being in root anymore 2021-01-05 15:05:50 +01:00
veeck
0e97d863ce Remove now unused danger library 2021-01-05 14:43:41 +01:00
veeck
5de64d2ae8 Added engine fields into package json 2021-01-05 09:54:03 +01:00
veeck
ced0398e49 Update markdowns 2021-01-05 09:53:47 +01:00
Michael Teeuw
d4b57924a7 Merge pull request #2404 from rejas/issue_2402
Update default log levels
2021-01-04 13:52:37 +01:00
veeck
d2def2bea3 Update CHANGELOG 2021-01-04 10:03:35 +01:00
veeck
e65bb84f9f Add default values for log levels 2021-01-04 10:01:56 +01:00
Michael Teeuw
69b0aa6118 Prepare v2.15.0-develop 2021-01-01 19:27:07 +01:00
Michael Teeuw
10dc315f3b Merge pull request #2400 from MichMich/develop
Release 2.14.0
2021-01-01 19:16:03 +01:00
Michael Teeuw
0f1457b5d7 Prepare release 2.14.0 - Fix Version 2021-01-01 19:08:19 +01:00
Michael Teeuw
090873d4c2 Prepare release 2.14.0 2021-01-01 19:07:14 +01:00
Michael Teeuw
da00c168ae Merge pull request #2398 from fewieden/patch-2
Highlight required version mismatch
2021-01-01 15:59:45 +01:00
fewieden
8286d5a06e Highlight required version mismatch 2021-01-01 14:44:39 +01:00
fewieden
dc5fb978a7 Update CHANGELOG.md 2021-01-01 14:43:16 +01:00
Michael Teeuw
a4ab0cbe09 Merge pull request #2397 from ashishtank/develop
Added support for variables in nunjucks templates for translate filter
2020-12-31 19:57:03 +01:00
Ashish Tank
4a341b381e Added support for variables in nunjucks templates for translate filter 2020-12-31 18:58:21 +01:00
ashishtank
3fa98bc1aa Merge pull request #8 from MichMich/develop
Develop
2020-12-31 18:51:38 +01:00
Michael Teeuw
87e2e87ce6 Merge pull request #2395 from ashishtank/develop
Added support for optional DEGREE position in "FEELS" label
2020-12-31 16:44:25 +01:00
Michael Teeuw
c25b6dc16c Merge pull request #2392 from sdetweil/fix-update
Fix simple-git version for unhandle promise rejection
2020-12-31 16:43:26 +01:00
sam detweiler
6a786aa090 Merge branch 'develop' into fix-update 2020-12-31 09:35:29 -06:00
Michael Teeuw
a97d87bce8 Merge pull request #2387 from bugsounet/patch-1
No Text Select for Touch Screen use
2020-12-31 16:29:14 +01:00
Ashish Tank
fba91329f1 Added support optional support for DEGREE position in FEELS translation 2020-12-31 16:28:00 +01:00
Michael Teeuw
353cc3b00f Merge pull request #2393 from MikeBishop/translator_falsy_vars
Permit substituting a falsy value in translator variables
2020-12-31 16:27:43 +01:00
ashishtank
057ef63586 Merge pull request #7 from MichMich/develop
Develop
2020-12-31 16:15:26 +01:00
Mike Bishop
c9fb38981e CHANGELOG 2020-12-31 10:11:43 -05:00
Mike Bishop
9ea7de8b44 Permit substituting a falsy value in translator variables 2020-12-31 10:10:01 -05:00
Sam Detweiler
020c8ccd2a fix update notification 2383 2020-12-31 09:08:23 -06:00
Sam Detweiler
4d09abe725 fix node-ical version 0.12.7 for bad rrule throw 2020-12-31 07:40:40 -06:00
Sam Detweiler
5079e30caf Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2020-12-31 07:36:37 -06:00
drewski3420@gmail.com
e51f6597ed This change prevents returning '-0' (negative zero) when roundTemp is true. 2020-12-30 09:03:19 -05:00
drewski3420@gmail.com
e80a65a3cd This change prevents returning '-0' (negative zero) when roundTemp is true 2020-12-30 08:51:07 -05:00
Bugsounet - Cédric
3e5c1a278b Update CHANGELOG.md 2020-12-30 11:38:28 +01:00
Bugsounet - Cédric
4ded60874f No Text Select for Touch Screen use 2020-12-30 11:34:09 +01:00
drewski3420@gmail.com
7c3675c9e1 This change prevents returning '-0' (negative zero) when roundTemp is true. 2020-12-29 21:07:14 -05:00
Michael Teeuw
ff1a843de6 Merge pull request #2386 from khassel/fix_modules_array
removes undefined objects from modules array, see issue #2382
2020-12-29 23:01:25 +01:00
Karsten Hassel
e6cefcf948 Merge branch 'develop' into fix_modules_array
# Conflicts:
#	CHANGELOG.md
2020-12-29 22:24:19 +01:00
Michael Teeuw
a857412f13 Merge pull request #2385 from rejas/missing_function_call
Add missing function call in module.js
2020-12-29 22:15:55 +01:00
Karsten Hassel
e507f95b2a added suggestion from @rejas 2020-12-29 21:45:35 +01:00
Karsten Hassel
61cf92c67a removes undefined objects from modules array, see issue #2382 2020-12-29 21:14:42 +01:00
rejas
7a4eddc592 Adjust some log levels 2020-12-29 18:50:27 +01:00
rejas
3fcbf15915 Update CHANGELOG 2020-12-29 18:50:10 +01:00
rejas
efafb1c28a Cleanup jsdoc 2020-12-29 18:48:45 +01:00
rejas
67bedf8648 Add missing function () 2020-12-29 18:38:38 +01:00
Michael Teeuw
c1d35b0f91 Merge pull request #2384 from rejas/log_level_sample
Update config sample
2020-12-29 16:23:39 +01:00
Michael Teeuw
d3a715bd6b Merge pull request #2381 from sdetweil/node-ical-again
change node-ical version again
2020-12-29 16:22:52 +01:00
Michael Teeuw
28b52cd24f Merge pull request #2379 from sdetweil/fix-package
Fix package.json electron dependency
2020-12-29 16:22:33 +01:00
Michael Teeuw
46e77f805c Merge pull request #2377 from buxxi/gitignore-merge
Merging config/.gitignore with .gitignore
2020-12-29 16:21:47 +01:00
buxxi
dd23db0ad8 Running prettier for CHANGELOG 2020-12-29 12:43:40 +01:00
rejas
30cf7f8afe Update CHANGELOG 2020-12-29 10:23:57 +01:00
rejas
7802e0bb88 Set locationID everywhere on config sample 2020-12-29 10:23:12 +01:00
rejas
07e75b8550 Adjust log level in sample 2020-12-29 10:21:50 +01:00
Sam Detweiler
1e9fad8278 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2020-12-28 12:21:48 -06:00
Sam Detweiler
0975826457 update node-ical version 2020-12-28 08:24:19 -06:00
Sam Detweiler
e5ff320591 fix package.json for optional dependency 2020-12-28 08:15:40 -06:00
Sam Detweiler
02c1e47749 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into fix-package 2020-12-28 08:13:50 -06:00
buxxi
a50824eeee Merging config/.gitignore with .gitignore 2020-12-28 11:50:01 +01:00
Michael Teeuw
0c3f9f4ed9 Merge pull request #2372 from sdetweil/update_node-ical
update node-ical to 0.12.4
2020-12-23 17:51:42 +01:00
Sam Detweiler
6b12601c6f update node-ical to 0.12.4 2020-12-23 08:57:22 -06:00
Sam Detweiler
225bece44e update node-ical to 0.12.4 2020-12-23 08:53:45 -06:00
Michael Teeuw
a5a5e73196 Fix Prettier issue. 2020-12-21 13:59:03 +01:00
Michael Teeuw
f8085ed78f Update CHANGELOG.md 2020-12-21 13:56:19 +01:00
Michael Teeuw
4e6e84c637 Replace Badge 2020-12-21 13:33:03 +01:00
Michael Teeuw
846212798c Update node-ci.js.yml 2020-12-21 13:29:10 +01:00
Michael Teeuw
571f95eb2f Merge pull request #2370 from MichMich/fix-changelog
Fix changelog special character issues.
2020-12-21 13:19:26 +01:00
Michael Teeuw
202eeea33f Fix changelog special character issues. 2020-12-21 13:16:54 +01:00
Michael Teeuw
af212057db Merge pull request #2369 from MichMich/enforce-changelog
Create enforce-changelog.yml
2020-12-21 13:07:17 +01:00
Michael Teeuw
0fd0fea7e7 Update enforce-changelog.yml 2020-12-21 13:06:39 +01:00
Michael Teeuw
eb6ef3c8ff Update enforce-changelog.yml 2020-12-21 13:02:40 +01:00
Michael Teeuw
cdb8d35cf6 Create enforce-changelog.yml 2020-12-21 12:36:59 +01:00
Michael Teeuw
684dcdcef3 Merge pull request #2224 from ashishtank/develop
Issue 2221 - Weather module always shows night icons for locale other then english
2020-12-21 11:33:05 +01:00
Michael Teeuw
155351f5dd Merge pull request #2226 from rejas/update_dependencies
Update dependencies incl ini
2020-12-21 11:32:52 +01:00
Michael Teeuw
0419e06e7c Merge pull request #2361 from buxxi/smhi-provider
Adding SMHI as a provider for the weather module
2020-12-21 11:29:20 +01:00
Michael Teeuw
2ea38bd9a4 Stupid commit to check github actions. 2020-12-21 11:27:12 +01:00
Michael Teeuw
30db9c30c8 Stupid commit to check github actions. 2020-12-21 11:25:36 +01:00
Michael Teeuw
a8ef594dab Stupid commit to check github actions. 2020-12-21 11:23:02 +01:00
Michael Teeuw
9858d5b495 Merge pull request #2360 from rejas/issue_2228
Hide alert overlay when dismissed manually
2020-12-21 11:20:55 +01:00
Michael Teeuw
20bd85b676 Delete danger-ci.yml
Unfortunately Danger Actions currently can't work with PR's:
https://github.com/PrismJS/prism/issues/2627
2020-12-21 11:20:34 +01:00
Michael Teeuw
83ec8ca24f Restore. 2020-12-21 11:13:41 +01:00
Michael Teeuw
9622d02230 Yolo. 2020-12-21 11:11:48 +01:00
Michael Teeuw
b72d0ed37e Add ENV variable. 2020-12-21 11:02:14 +01:00
Michael Teeuw
f966e504a5 Cleanup. 2020-12-21 10:59:55 +01:00
Michael Teeuw
a0366e794b Stupid commit to check github actions. 2020-12-21 10:57:18 +01:00
Michael Teeuw
3c3ce24397 Cleanup Danger-CI 2020-12-21 10:51:51 +01:00
Michael Teeuw
30290f3eb2 Merge pull request #2367 from MichMich/danger-ci
Danger ci
2020-12-21 10:47:27 +01:00
Michael Teeuw
616431e04b Disable Transpile. 2020-12-21 10:27:06 +01:00
Michael Teeuw
d0aeb90f0a Merge pull request #2365 from MichMich/ci-test
Replace Travis with Github Actions
2020-12-21 10:24:26 +01:00
Michael Teeuw
86220fa721 Update danger-ci.yml 2020-12-21 10:22:25 +01:00
Michael Teeuw
0f58a56a07 Add env variable. 2020-12-21 09:47:36 +01:00
Michael Teeuw
29451562e3 Create danger-ci.yml 2020-12-21 09:37:08 +01:00
Michael Teeuw
911687af2a Remove Travis 2020-12-21 09:28:26 +01:00
Michael Teeuw
1c9c33b87b Merge branch 'develop' into ci-test 2020-12-21 09:16:52 +01:00
Michael Teeuw
f485462af1 Merge pull request #2364 from khassel/ci-test
test github actions
2020-12-21 08:25:40 +01:00
Karsten Hassel
39d7ceb017 test github actions 2020-12-20 22:49:41 +01:00
Michael Teeuw
8251792a0d Update .prettierignore 2020-12-20 20:04:06 +01:00
Michael Teeuw
54ac450f92 Update and rename node.js.yml to node-ci.js.yml 2020-12-20 20:00:54 +01:00
Michael Teeuw
299e4a497f Create node.js.yml 2020-12-20 19:58:06 +01:00
buxxi
3f851c1fd6 Adding SMHI as a provider for the weather module 2020-12-19 11:13:46 +01:00
veeck
8cf16f1049 Update changelog 2020-12-17 18:32:01 +01:00
veeck
b373aa6250 Hide alert overlay when dismissed manually 2020-12-17 18:31:18 +01:00
veeck
2f4b8cd642 Update dependencies incl ini 2020-12-11 11:09:52 +01:00
Ashish Tank
85b6df3738 Issue #2221 2020-12-09 15:27:36 +01:00
Ashish Tank
c675421a6a #Issue 2221 2020-12-09 12:08:20 +01:00
ashishtank
a7b571e5d0 Merge pull request #6 from MichMich/develop
Develop
2020-12-09 12:04:15 +01:00
Ashish Tank
b3a9b7ef0e Merge branch 'develop' of https://github.com/ashishtank/MagicMirror into develop
Pull from github
2020-12-09 11:59:30 +01:00
Ashish Tank
e984893853 Issue #2221 - Night icons are always shown for locale other then english 2020-12-09 11:58:47 +01:00
Michael Teeuw
3024319027 Merge pull request #2222 from khassel/update_dependencies
update depencencies
2020-12-08 16:36:06 +01:00
Michael Teeuw
21ba652413 Regenerate Package.lock 2020-12-08 16:33:57 +01:00
Michael Teeuw
e4b8cd92f2 Merge branch 'develop' into update_dependencies 2020-12-08 16:31:47 +01:00
Michael Teeuw
1a4a9f6501 Merge pull request #2190 from Sub028/develop
Fix windspeed convertion error in ukmetoffice weather provider
2020-12-08 16:28:02 +01:00
Michael Teeuw
e950cdaf32 Prettier fixes. 2020-12-08 16:20:48 +01:00
Michael Teeuw
f97be2f8f3 Fix prettier issue. 2020-12-08 16:07:11 +01:00
Michael Teeuw
be0c8f4f16 Prettier fix. 2020-12-08 16:01:19 +01:00
Michael Teeuw
46fd2de315 Merge branch 'develop' into develop 2020-12-08 15:53:21 +01:00
Michael Teeuw
72f0d77865 Merge pull request #2217 from sdetweil/cal-again2
Cal again2
2020-12-08 15:51:56 +01:00
Michael Teeuw
d43679d59e Merge pull request #2185 from Sub028/master
Weather config enhancement
2020-12-08 15:51:41 +01:00
Michael Teeuw
ce46fb5384 Fix Prettier Issue 2020-12-08 15:43:41 +01:00
Michael Teeuw
43b33cb6de Fix prettier issue. 2020-12-08 15:42:01 +01:00
Michael Teeuw
0344399253 Fix prettier issue. 2020-12-08 15:40:46 +01:00
Michael Teeuw
3a9b154cb2 Fix code style issue. 2020-12-08 15:38:07 +01:00
Michael Teeuw
1074fbacfe Merge pull request #2215 from Alvinger/limitDays
New option "limitDays" - limit the number of discrete days to be displayed
2020-12-08 15:24:04 +01:00
Michael Teeuw
00ff3ab380 Merge branch 'develop' into limitDays 2020-12-08 15:23:54 +01:00
Michael Teeuw
db874a011c Merge pull request #2214 from Alvinger/customEvents
Custom events - Use custom symbol/color based on keyword in title
2020-12-08 15:21:39 +01:00
Michael Teeuw
35a2839a2f Merge branch 'develop' into customEvents 2020-12-08 15:21:29 +01:00
Michael Teeuw
cdb9b9bb87 Merge branch 'develop' into cal-again2 2020-12-08 15:17:45 +01:00
Michael Teeuw
87a3e4d440 Merge branch 'develop' into limitDays 2020-12-08 15:16:21 +01:00
Michael Teeuw
284bed677e Merge pull request #2209 from jakobsarwary1/patch-1
Create ps.json
2020-12-08 15:13:59 +01:00
Michael Teeuw
667be460e5 Merge pull request #2210 from rejas/issue-2022_catch-ical-parsing-errors
Catch errors when parsing calendar data with ical
2020-12-08 15:13:42 +01:00
Michael Teeuw
c49386bb58 Merge branch 'develop' into issue-2022_catch-ical-parsing-errors 2020-12-08 15:13:34 +01:00
Michael Teeuw
adb50a9623 Merge pull request #2208 from rejas/issue-2199_console-debug
Add timestamp to Log.debug
2020-12-08 15:12:39 +01:00
Michael Teeuw
ac1d2372f4 Merge branch 'develop' into issue-2199_console-debug 2020-12-08 15:12:32 +01:00
Michael Teeuw
f54690c829 Merge pull request #2206 from Alvinger/calendar-enhance
Calendar fixes and updates
2020-12-08 15:11:32 +01:00
Michael Teeuw
053f9c34aa Merge pull request #2205 from marvai-vgtu/patch-1
Update lt.json
2020-12-08 15:11:03 +01:00
Michael Teeuw
e7dd2b4aee Merge pull request #2187 from AndyPoms/weatherbit
Add support for Weatherbit in the Weather Module
2020-12-08 15:10:45 +01:00
sam detweiler
6f82f9e01b update changelog 2020-12-07 07:27:40 -06:00
sam detweiler
d531730dc1 Merge pull request #1 from MichMich/develop
sync Develop
2020-12-07 07:08:30 -06:00
Karsten Hassel
00bdf6aaa6 update depencencies 2020-12-04 22:42:56 +01:00
Johan Alvinger
97f3514677 Bugfix after Travis CI error (redeclaring variables) 2020-11-30 16:48:07 +01:00
sam detweiler
137facf95a Merge branch 'develop' into cal-again2 2020-11-28 19:23:15 -06:00
Sam Detweiler
8afba3a5c4 fix between.from to use now, instead of yesterday for non-full day events, unless includePastEvents:true 2020-11-28 19:19:52 -06:00
Sam Detweiler
9c5383dc37 fix between.from to use now, instead of yesterday for non-full day events, unless includePastEvents:true 2020-11-28 19:13:56 -06:00
Johan Alvinger
260bc9664e Fixed variable redeclaration 2020-11-28 14:05:35 +01:00
Johan Alvinger
655ca83356 New option "limitDays" - limit the number of discreet days to be displayed 2020-11-28 14:00:38 +01:00
Johan Alvinger
472bf1665c New option "limitDays" - limit the number of discreet days to be displayed 2020-11-28 13:59:13 +01:00
Johan Alvinger
db129cc19b Added "customEvents" to changelog 2020-11-28 13:19:04 +01:00
Johan Alvinger
b735f8a524 New option "customEvents"
Use custom symbol and/or color based on keyword in event titles
2020-11-28 13:17:14 +01:00
Johan Alvinger
1e34764588 coloredEvents should also color the symbol if that is displayed 2020-11-26 17:14:59 +01:00
Johan Alvinger
99aaae491c Reverted changes to test case for calendar 2020-11-25 23:35:01 +01:00
Johan Alvinger
f288581c69 Reverted changes to test case for calendar 2020-11-25 23:31:26 +01:00
Johan Alvinger
3c5d50bce9 Include all past events (if broadcastPastEvents set) and up to maximumEntries of current or upcoming events 2020-11-25 23:29:10 +01:00
Johan Alvinger
a01f08391b Removed test on maximumEntries 2020-11-25 22:45:38 +01:00
Johan Alvinger
51a1399bca Change custom calendar test to not include past events 2020-11-25 22:36:00 +01:00
Johan Alvinger
b735cb96a0 Fetch maximumEntries of current events (and all past events if
broadcastPastEvents is true)
2020-11-25 21:59:58 +01:00
Johan Alvinger
d00c25e107 Fetch maximumEntries of current events (and all past events if broadcastPastEvents is true) 2020-11-25 21:53:34 +01:00
Johan Alvinger
8a5e87b116 All events from the beginning of today were fetched but we only want
the ones that are ongoing or upcoming.
2020-11-24 23:17:26 +01:00
Johan Alvinger
2779d19d5c All events from the beginning of today were fetched but we only want the ones that are ongoing or upcoming. 2020-11-24 23:06:41 +01:00
rejas
38d4a8b198 Update CHANGELOG 2020-11-24 21:33:14 +01:00
rejas
ccf98c0c22 Surround ical parsing with try/catch to catch unknown bugs 2020-11-24 21:32:16 +01:00
Jakob Sarwary
bd0d91d1b4 Create ps.json
ISO 639-1 Language Code: ps
ISO 639-2 Language Code: pus
English name of Language: Pushto; Pashto
French name of Language: pachto

Pashto, sometimes spelled Pukhto or Pakhto, is an Eastern Iranian language of the Indo-European family. It is known in Persian literature as Afghani. Speakers of the language are called Pashtuns or Pukhtuns/Pakhtuns. Pashto and Dari are the two official languages of Afghanistan.
Native speakers: 40-60 million

https://g.co/kgs/y4xaLh
2020-11-24 20:20:07 +01:00
Johan Alvinger
056f3a6ccb limitDays and coloredEvents are now only module-wide options, not per calendar. 2020-11-24 15:41:28 +01:00
Johan Alvinger
20a50f8382 Reverted changes in custom.js for testing 2020-11-24 14:57:51 +01:00
Johan Alvinger
21284e7795 Reverted change in calendarfetcher so events are limited to maximumEntries 2020-11-24 14:52:08 +01:00
Johan Alvinger
e0ceed5a63 Correct error in custom.js in calendar tests 2020-11-24 12:52:21 +01:00
veeck
958a2ee6ec Update CHANGELOG 2020-11-24 09:56:54 +01:00
veeck
ea264cb15e Update console-stamp to latest version and configure it 2020-11-24 09:54:59 +01:00
Johan Alvinger
d8f19e631c Fixed variable declarations to pass Travic CI check 2020-11-24 01:20:19 +01:00
Johan Alvinger
ce5c0ed5ba Fixed typo in condition 2020-11-24 00:37:21 +01:00
Johan Alvinger
839ca9ecfb Lines that were commented out has been removed 2020-11-24 00:23:55 +01:00
Johan Alvinger
720bc12c00 Changelog updated 2020-11-24 00:13:07 +01:00
Johan Alvinger
1ba845fb06 Make calendarfetcher return all events, not just a slice 2020-11-23 21:53:20 +01:00
Johan Alvinger
e86fa9d24a Revised handling of timeFormat "absolute" and "relative".
Added new option "coloredEvents" which contain an array with keyword and color for coloring events matching keyword
2020-11-23 21:48:34 +01:00
marvai-vgtu
e348a61085 Update CHANGELOG.md 2020-11-22 14:02:21 +02:00
marvai-vgtu
2f70366299 Update CHANGELOG.md 2020-11-22 14:00:41 +02:00
marvai-vgtu
c466b20558 Update lt.json 2020-11-22 13:56:24 +02:00
marvai-vgtu
021f8d25a5 Update lt.json
Geographic translation changes with "FEELS" change
2020-11-22 13:54:31 +02:00
Johan Alvinger
a19c3a43d8 New option "limitDays" that will limit the number of days displayed. 2020-11-21 18:03:34 +01:00
Andrew
819923e66d Merge branch 'develop' into weatherbit 2020-11-20 15:09:34 -05:00
Michael Teeuw
6c3100e250 Merge pull request #2202 from sdetweil/cal-again
fix full day events east of UTC start time and duration
2020-11-20 20:39:59 +01:00
Andrew
1065eda47f Update CHANGELOG.md 2020-11-20 14:37:02 -05:00
Andrew
afd676a958 Merge branch 'develop' into weatherbit 2020-11-16 18:29:11 -05:00
Sam Detweiler
12405b66d0 fix full date start time and duration, east of UTC, make getCorrection more understandable with variable name changes 2020-11-16 13:49:44 -06:00
Sam Detweiler
ecd0b6fa83 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into cal-again 2020-11-16 09:50:09 -06:00
Sam Detweiler
3a8587378c fix full date start time and duration, east of UTC, make getCorrection more understandable with variable name changes 2020-11-16 10:32:29 -05:00
Michael Teeuw
a05c08ed48 Merge pull request #2196 from ashishtank/develop
Added Hindi and Gujarati translations
2020-11-16 16:29:59 +01:00
Sam Detweiler
469a90787b fix full date start time and duration, east of UTC, make getCorrection more understandable with variable name changes 2020-11-16 10:23:33 -05:00
Sam Detweiler
9e5a9b5ced fix full date start time and duration, east of UTC, make getCorrection more understandable with variable name changes 2020-11-16 10:17:48 -05:00
Michael Teeuw
f311ba3f7c Merge branch 'develop' into develop 2020-11-15 20:14:37 +01:00
Michael Teeuw
fc68321bd5 Merge branch 'develop' into develop 2020-11-15 20:13:58 +01:00
Michael Teeuw
8a4173d0ad Merge pull request #2175 from jakemulley/packages
Update npm packages and resolve breaking changes from packages
2020-11-15 20:06:40 +01:00
Michael Teeuw
90af31cb2f Merge branch 'develop' into develop 2020-11-15 20:03:10 +01:00
Michael Teeuw
61bcd9337b Merge pull request #2193 from mirontoli/develop
Add Chuvash translation
2020-11-15 20:01:40 +01:00
Michael Teeuw
7944045893 Merge branch 'develop' into weatherbit 2020-11-15 19:59:12 +01:00
Michael Teeuw
2c3f83c70d Merge pull request #2186 from rejas/use_debug
Use Log.debug where applicable
2020-11-15 19:58:06 +01:00
Andrew
92ab705ff5 Update weatherbit.js
Post npm lint:prettier
2020-11-14 18:32:18 -05:00
Andrew
2951f0c40c Update weatherbit.js 2020-11-14 18:28:20 -05:00
Andrew
8a23bccb70 Update CHANGELOG.md 2020-11-14 18:20:02 -05:00
Ashish Tank
aa6ad01fb9 Change log 2020-11-11 16:12:03 +01:00
Ashish Tank
ef325896c5 Merge branch 'develop' of https://github.com/ashishtank/MagicMirror into develop
# Conflicts:
#	CHANGELOG.md
2020-11-11 16:03:10 +01:00
Ashish Tank
a270c73d7c Hindi and Gujarati Language 2020-11-11 16:01:03 +01:00
ashishtank
16feda895d Merge pull request #5 from MichMich/develop
Develop merge
2020-11-11 14:46:18 +01:00
Anatoly Mironov
874a50d142 update changelog for Chuvash translation addition 2020-11-10 23:09:50 +01:00
Anatoly Mironov
ae32645470 improve Chuvash translation 2020-11-10 23:05:28 +01:00
Anatoly Mironov
d4412fe06f Add Chuvash 2020-11-10 23:01:08 +01:00
Anatoly Mironov
b42c05fb56 Create cv.json 2020-11-10 23:00:04 +01:00
Jake Mulley
8d0da61bd4 Allow node-ical minor version upgrades again 2020-11-10 20:55:33 +00:00
Jake Mulley
8b8be261cd Update packages 2020-11-10 20:40:18 +00:00
Jake Mulley
2b6ceed897 Sync package-lock.json 2020-11-08 21:27:47 +00:00
Jake Mulley
8abca801a2 Revert node-ical to 0.12.2 2020-11-08 21:22:11 +00:00
Jake Mulley
1eae4425d8 Merge branch 'develop' into packages 2020-11-08 21:21:31 +00:00
Jake Mulley
a6386bd60e Update npm packages and resolve package changes 2020-11-08 21:18:19 +00:00
Aurélien Veillard
1460f002ab Add new parameter "useKmh" to weather module
Add new parameter "useKmh" to weather module for displaying wind speed as km/h instead of m/s when windUnits is set to metric.
2020-11-08 14:01:02 +01:00
Aurélien Veillard
0d6f736c2c Fix windspeed convertion error in ukmetoffice weather provider
Fix windspeed convertion error from mph to m/s in ukmetoffice weather provider (#2189)
2020-11-08 12:37:21 +01:00
Andrew
da88e11d04 Add files via upload
Adds support for Weatherbit.io

API Key needed, based on existing classes for Dark Sky and Weather.gov
2020-11-07 20:15:54 -05:00
rejas
0a58767563 Use Log.debug where applicable 2020-11-07 11:59:01 +01:00
Aurélien Veillard
198525f2ce Weather config enhancement
Add new parameter 'useKmh' to display wind speed in km/h instead of m/s.
2020-11-07 09:54:13 +01:00
Michael Teeuw
3220702034 Merge pull request #2178 from sdetweil/fix-cal2
Fix calendar when no DTEND record in event
2020-11-06 21:48:59 +01:00
Michael Teeuw
262711a127 Merge pull request #2184 from rejas/debug_log_level
Add new log level "debug"
2020-11-06 21:47:41 +01:00
veeck
078438442a Cleanup some log levels 2020-11-06 11:47:29 +01:00
veeck
5ac20d65ac Add new log level "debug" for such a purpose 2020-11-06 11:47:09 +01:00
Sam Detweiler
5d2f706c32 fix time offset calcs for any timezone 2020-11-01 09:05:33 -06:00
Sam Detweiler
844a59d880 one more offset only test 2020-10-28 13:10:24 -05:00
Sam Detweiler
82c742f964 fix prettier problems, was run on commit before 2020-10-28 16:55:53 +01:00
Sam Detweiler
b73cfd8a60 fix time adjustment routine 2020-10-28 16:42:20 +01:00
Sam Detweiler
8466ff0c1a change debug logging from console. to Log. 2020-10-28 09:42:00 -05:00
Sam Detweiler
1e0fc7eb0d add package-lock for test 2020-10-28 09:38:31 -05:00
Sam Detweiler
74b0c3ea57 update node-ical dependency version 2020-10-28 09:32:38 -05:00
Sam Detweiler
a735275864 fix full day recurring events east of UTC for RRULE/Luxon confusion, also update windows zones to include old offset based strings (UTC+05:00) US Eastern and Canada 2020-10-28 09:31:05 -05:00
Sam Detweiler
8a1d46deb4 fix fullday event compare operator 2020-10-26 12:52:32 -05:00
Sam Detweiler
b624aeec45 fix the fullDayEvent checker function 2020-10-26 12:41:03 -05:00
Sam Detweiler
e83b4d7d42 fix calendar when event has no DTEND record 2020-10-26 09:55:35 -05:00
Michael Teeuw
da302fce32 Merge pull request #2158 from flopp999/patch-2
Weather - forecast change day of week
2020-10-20 09:34:16 +02:00
flopp999
e09fec56e2 Update weather_spec.js
try to change the default to Today and Tomorrow
2020-10-20 07:26:39 +02:00
sam detweiler
568f952573 Merge pull request #3 from MichMich/develop
sync
2020-10-16 14:47:40 -05:00
Michael Teeuw
fc1e488391 Merge pull request #2169 from bluemanos/patch-1
A space after icon of sunrise and sunset
2020-10-16 13:21:43 +02:00
Szymon Bluma
5781c258e0 A space after icon of sunrise and sunset 2020-10-16 13:10:02 +02:00
Michael Teeuw
13c542aeda Merge pull request #2167 from MichMich/fix-greek-translation
Fix greek translation. Rename GR to EL. (Fixes: #2155)
2020-10-15 09:39:50 +02:00
Michael Teeuw
02148f68e5 Rename greek translation. (#2155) 2020-10-15 09:26:56 +02:00
Michael Teeuw
3c84002abd Fix linter issues. 2020-10-15 09:20:44 +02:00
sam detweiler
01aa57e493 Merge pull request #2 from MichMich/develop
resynch after revert
2020-10-13 10:13:47 -05:00
Michael Teeuw
af09b4214a Merge pull request #2165 from MichMich/revert-2161-develop
Revert "Fixes the un-hide problem with currentwether and weatherforcast modules."
2020-10-13 16:15:16 +02:00
Michael Teeuw
43b6c71205 Revert "Fixes the un-hide problem with currentwether and weatherforcast modules." 2020-10-13 16:14:52 +02:00
sam detweiler
480e1adfbf Merge pull request #1 from MichMich/develop
synch fork
2020-10-13 08:51:10 -05:00
Michael Teeuw
8c04712784 Merge pull request #2162 from sdetweil/fixfetch
Fix calendar subsequent fetch timing with multiple calendar entries
2020-10-13 09:13:28 +02:00
Michael Teeuw
0c61ba8f2d Merge pull request #2161 from Snille/develop
Fixes the un-hide problem with currentwether and weatherforcast modules.
2020-10-13 09:13:05 +02:00
Sam Detweiler
485f662d75 revert fetcher filtering results 2020-10-12 10:12:47 -05:00
Sam Detweiler
26caeec0c1 Merge branch 'fixfetch' of https://github.com/sdetweil/MagicMirror into fixfetch 2020-10-12 09:02:15 -05:00
Sam Detweiler
4a7cb88a3e typo, remove dead code, comments, fix recurring refresh, let fetcher handle it 2020-10-12 09:01:50 -05:00
flopp999
d11696015d Update forecast.njk 2020-10-12 09:10:51 +02:00
flopp999
3b76ca4f9b Update forecast.njk 2020-10-12 09:09:42 +02:00
sam detweiler
6f3239d514 Merge branch 'develop' into fixfetch 2020-10-11 22:46:31 -05:00
Sam Detweiler
e8f60d39de fix subsequent calendar fetcher timing 2020-10-11 22:43:11 -05:00
Sam Detweiler
a3bad8aec4 fix subsequent calendar fetcher timing 2020-10-11 22:39:42 -05:00
Erik Pettersson
644aa26b75 Update CHANGELOG.md
Added the "currentwather" and "watherforcast" update show fixes information.
2020-10-11 21:41:59 +02:00
Erik Pettersson
ecd9828afc Makes the module stay hidden without a lock.
When this module is hidden from another module, it un-hides itself when it updates itself. With this change it stays hidden, as it should. :)
2020-10-11 21:37:00 +02:00
Erik Pettersson
7462d61e16 Makes the module stay hidden without a lock.
When this module is hidden from another module, it un-hides itself when it updates itself. With this change it stays hidden, as it should. :)
2020-10-11 21:35:42 +02:00
Ashish Tank
b95ef7250d Merge branch 'develop' of https://github.com/ashishtank/MagicMirror into develop 2020-10-11 15:43:03 +02:00
flopp999
569dec1b0b Update CHANGELOG.md 2020-10-11 09:42:09 +02:00
flopp999
1bc0270d7b Update forecast.njk
change name of day to today and tomorrow
2020-10-11 09:36:52 +02:00
ashishtank
ebfeebc40b Merge pull request #4 from MichMich/develop
Merge from Develop
2020-10-07 15:58:47 +02:00
Michael Teeuw
ec80b25087 Merge pull request #2150 from sdetweil/fixparse
add error handler to json parsing of translation files
2020-10-06 10:23:46 +02:00
Michael Teeuw
7a2278d7b6 Merge branch 'develop' into fixparse 2020-10-06 10:23:34 +02:00
Michael Teeuw
28b93b70fa Merge pull request #2152 from sdetweil/new_cal
update calendar handler code for rrule and daylight/standard time adjustments
2020-10-06 10:19:58 +02:00
Michael Teeuw
0431f45190 Merge branch 'develop' into new_cal 2020-10-06 10:16:08 +02:00
Michael Teeuw
96ce444061 Merge pull request #2154 from sdetweil/fixical
fix node-ical version
2020-10-06 10:15:10 +02:00
sam detweiler
32776e7ca3 Merge branch 'develop' into fixparse 2020-10-05 13:11:55 -05:00
sam detweiler
35d516ad4d Merge branch 'develop' into new_cal 2020-10-05 13:11:11 -05:00
sam detweiler
e6a17d27b9 Merge branch 'develop' into fixical 2020-10-05 13:10:25 -05:00
Sam Detweiler
52edec1b64 fix wrong node-ical version requested, package.json 2020-10-05 12:59:30 -05:00
Sam Detweiler
6440d2289c fix translation files with comments crashing UI 2020-10-05 12:58:10 -05:00
Sam Detweiler
11afadcea8 fix RRULE bad date and add Windows Timezone name support 2020-10-05 12:56:25 -05:00
Sam Detweiler
2e981987f2 resolve conflict 2020-10-05 11:06:21 -05:00
Sam Detweiler
69efca0bdb use Log.error instead of console.log for error message, shows in output 2020-10-05 10:45:07 -05:00
Sam Detweiler
eefb92367e fix node-ical version 2020-10-05 10:02:29 -05:00
Sam Detweiler
8fa96c2836 add error handler to json parsing of translation files 2020-10-04 12:13:08 -05:00
Sam Detweiler
04dae52a6c correct daylight/standard adjustments, windows timezones and east of london rrule bug 2020-10-04 12:10:19 -05:00
Ashish Tank
37c9da1351 Merge branch 'develop' of https://github.com/ashishtank/MagicMirror into develop 2020-10-02 22:01:50 +02:00
ashishtank
86d7ec6270 Merge pull request #3 from MichMich/develop
Sync with Develop
2020-10-02 18:06:24 +02:00
Ashish Tank
82f1e0fe32 Added Hindi and Gujarati languages 2020-10-02 17:51:41 +02:00
Michael Teeuw
6ec0aa8894 Prepare 2.14.0-develop 2020-10-01 12:19:57 +02:00
Michael Teeuw
3dbe8bfbbf Merge pull request #2143 from MichMich/develop
Release 2.13.0
2020-10-01 12:13:38 +02:00
Michael Teeuw
20d82bab78 Prepare 2.13.0 2020-10-01 11:55:18 +02:00
Michael Teeuw
60f6123b64 Merge pull request #2139 from sdetweil/develop
restore ical for 3rd party modules
2020-09-29 17:45:49 +02:00
Sam Detweiler
74887a58f6 remove regression on event duration 2020-09-29 10:33:51 -05:00
Sam Detweiler
76821d16fc restore ical for 3rd party modules 2020-09-24 10:13:25 -05:00
Michael Teeuw
233a6b5e90 Merge pull request #2137 from rejas/md
Update Changelog and Licsense file
2020-09-22 16:16:22 +02:00
Michael Teeuw
a1d9337c81 Merge pull request #2136 from sdetweil/develop
fix package.json
2020-09-22 16:16:08 +02:00
rejas
e3fec6c3e4 Update Changelog and License 2020-09-22 15:47:16 +02:00
Sam Detweiler
5de88b4cc1 remove added lodash 2020-09-22 08:40:40 -05:00
Sam Detweiler
af5e6655e0 fix pull 2020-09-22 08:38:15 -05:00
Sam Detweiler
a8716799c9 fix dependency versioning error 2020-09-22 08:33:21 -05:00
Michael Teeuw
1672027091 Merge pull request #2135 from sdetweil/develop
update to node-ical, handle MS timezones and timezones in general in cal entries
2020-09-22 14:55:27 +02:00
sam detweiler
934ac886cb Merge branch 'develop' into develop 2020-09-22 07:49:19 -05:00
sam detweiler
1b47c4d16f add package-lock 2020-09-22 07:31:02 -05:00
sam detweiler
e8fd906aa1 move calendar to node-ical for ms timezones and timezones in general 2020-09-22 07:25:48 -05:00
Michael Teeuw
57b6ea1297 Merge pull request #2134 from bugsounet/patch-1
New ConfigMerge code purpose
2020-09-22 10:54:35 +02:00
bugsounet
102ff15a99 Checking formatting...
All matched files use Prettier code style!
2020-09-22 00:26:24 +02:00
Cédric
19148cfc84 Update loader.js 2020-09-22 00:04:05 +02:00
Cédric
97c2bab58a apply ConfigMerge() if configDeepMerge: true 2020-09-21 23:21:43 +02:00
Cédric
1f473228ce New purpose for configMerge() 2020-09-21 23:17:41 +02:00
Cédric
340a8e4176 (test react for in my repo) 2020-09-21 22:36:54 +02:00
Michael Teeuw
67201a52cc Merge pull request #2016 from Travelbacon/develop
Changed "Gevoelstemperatuur" to "Voelt als". This is shorter and save…
2020-09-21 12:48:09 +02:00
Michael Teeuw
30e164fe0a Fix merge conflict. 2020-09-21 12:21:08 +02:00
Michael Teeuw
cfcb20a468 Merge pull request #2133 from rejas/dependencies
Cleanup dependencies
2020-09-21 12:18:37 +02:00
Joris
24eac7ef41 For the mergne 2020-09-20 20:57:20 +02:00
ashishtank
94162f1b45 Merge pull request #1 from MichMich/develop
Catching up on 19th Sep 2020
2020-09-19 17:20:35 +02:00
rejas
01c19efc0c Update CHANGELOG 2020-09-19 12:30:17 +02:00
rejas
e4f2a8a23b Update dependencies 2020-09-19 12:25:11 +02:00
rejas
89b33d2c62 Move lodash to devDependencies sicne its used only in testing 2020-09-19 10:50:06 +02:00
rejas
3ced35a2f8 Dont generally use latest versions of dependencies 2020-09-19 10:49:59 +02:00
Michael Teeuw
fd4576b234 Merge pull request #2081 from bryanzzhu/bryanzzhu-weather
adds current, hourly, and daily forecasts to the Weather module (OpenWeatherMap One Call API)
2020-09-18 12:28:20 +02:00
Michael Teeuw
812ad829c9 Merge pull request #2125 from MichMich/dependabot/npm_and_yarn/node-fetch-2.6.1
Bump node-fetch from 2.6.0 to 2.6.1
2020-09-18 12:27:57 +02:00
Michael Teeuw
207a9ba723 Merge branch 'develop' into bryanzzhu-weather 2020-09-18 12:15:44 +02:00
Michael Teeuw
f9bf17d701 Merge pull request #2105 from rejas/tests
Cleanup clock tests
2020-09-18 12:12:29 +02:00
dependabot[bot]
43b96ccd1e Bump node-fetch from 2.6.0 to 2.6.1
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-10 22:35:52 +00:00
rejas
14e8cdd9b2 Update Changelog 2020-09-02 13:42:35 +02:00
rejas
259068b860 Remove unused dependency, update eslint 2020-09-02 13:42:35 +02:00
rejas
a1a4192835 Fix clock test, remove now unneeded dependency 2020-09-02 13:42:35 +02:00
rejas
45f09dcc8c Add test for analog clock face 2020-09-02 13:42:35 +02:00
Michael Teeuw
15c3f11f4a Merge pull request #2121 from sdetweil/develop
fix full day recurring events not showing
2020-09-02 09:04:08 +02:00
Michael Teeuw
1a21027850 Fix Prettier issues. 2020-09-02 09:03:46 +02:00
Michael Teeuw
8427a9fc68 Merge pull request #2103 from rejas/issue_1985
Fix "undefined" in weather modules header.
2020-09-02 08:59:53 +02:00
Sam Detweiler
f09b89f975 fix , prettier not run 2020-09-01 15:13:42 -05:00
sam detweiler
7bec84f767 fix formatting, prettier did not run 2020-09-01 21:00:14 +01:00
sam detweiler
8f4cbcf817 Merge branch 'develop' of https://github.com/sdetweil/MagicMirror into develop 2020-09-01 14:41:09 +01:00
sam detweiler
c3382274a2 remove old master branch code 2020-09-01 14:40:07 +01:00
sam detweiler
493055f861 Merge branch 'develop' into develop 2020-09-01 08:15:24 -05:00
sam detweiler
11fbbd49f3 add changelog 2020-09-01 14:10:25 +01:00
sam detweiler
8ce37d53cd fix recurring full date events 2020-09-01 14:04:35 +01:00
sam detweiler
baa4012872 Merge pull request #98 from MichMich/master
catch up
2020-08-31 19:15:08 -05:00
rejas
16c5eba2be Update Changelog 2020-08-13 21:51:18 +02:00
rejas
ec08cb32aa Set visibility of header more explicitly 2020-08-13 21:51:18 +02:00
rejas
86fb1b938b Check for undefined header data in weather modules 2020-08-13 21:51:18 +02:00
rejas
5aa7097a6e Add test for displaying the header 2020-08-13 21:51:18 +02:00
rejas
fd3f520e95 Fix typos 2020-08-13 21:51:18 +02:00
rejas
49ff92892f Warn user if he uses the sample value in the config for the apiid 2020-08-13 21:51:18 +02:00
Michael Teeuw
904f5a2656 Merge pull request #2112 from rejas/issue_2109
Fix config check after merge of prettier
2020-08-13 21:44:08 +02:00
Michael Teeuw
bb105dd832 Merge pull request #2101 from rejas/jsdoc
Cleanup jsdoc comments
2020-08-13 21:43:27 +02:00
Michael Teeuw
fd934c0514 Merge pull request #2100 from Bee-Mar/develop
Added --dry-run to fetch call within updatednotification module
2020-08-13 21:42:38 +02:00
rejas
66609428a2 Remove thrown Errors and add some color to the ouput 2020-08-08 22:16:27 +02:00
rejas
0056e0bc6d Update CHANGELOG 2020-08-07 09:58:55 +02:00
rejas
056b66a764 Dont use the prettier based config for verifying the syntax 2020-08-07 09:57:06 +02:00
rejas
3438a5a374 Cleanup newsfeed jsdoc 2020-08-03 11:36:29 +02:00
rejas
9f3806dabf Update eslint jsdoc plugin 2020-08-03 11:20:11 +02:00
rejas
1d4d5cc4e7 Cleanup calendar jsdoc 2020-08-03 11:19:54 +02:00
Bryan Zhu
3901543697 readded processing for numEntries option that I accidentally took out 2020-08-02 00:22:19 -04:00
Bryan Zhu
a4d73e2a67 amended code according to pull request reviews 2020-08-01 17:39:58 -04:00
Bryan Zhu
f6854f58ff ran prettier on weather module code 2020-08-01 14:03:48 -04:00
Bryan Zhu
ad7f7d2890 Merge branch 'bryanzzhu-weather' of https://github.com/bryanzzhu/MagicMirror into bryanzzhu-weather 2020-08-01 13:33:21 -04:00
Bryan Zhu
498db63cac Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2020-08-01 13:32:29 -04:00
rejas
05659820d0 Minor cleanups 2020-08-01 17:06:56 +02:00
rejas
02779ef725 Cleanup main jsdoc 2020-08-01 17:06:46 +02:00
rejas
935c9b6a42 Cleanup loader jsdoc 2020-08-01 16:38:42 +02:00
rejas
522f7644a3 Add typedef for Module, use it in other jsdocs 2020-08-01 16:31:42 +02:00
Bryan Zhu
b1a67d1fc5 integrated onecall usage into existing types 2020-08-01 02:59:08 -04:00
rejas
0674c0aff6 Updated changelog 2020-07-30 13:00:02 +02:00
rejas
c8664d5952 Cleanup weatherprovider jsdoc 2020-07-30 12:58:35 +02:00
rejas
8ce1e2c956 Cleanup calendar jsdoc 2020-07-30 12:54:39 +02:00
rejas
90cca28e01 Cleanup clock jsdoc 2020-07-30 09:36:01 +02:00
rejas
e489b7101c Cleanup notificationFx jsdoc 2020-07-30 09:33:19 +02:00
rejas
eee64c8064 Cleanup clientonly jsdoc 2020-07-29 22:13:19 +02:00
Brandon Marlowe
a0d4e8dafc updated changelog 2020-07-28 23:55:39 -04:00
Brandon Marlowe
e6b94df06d Merge branch 'mmpm-integration' of github.com:Bee-Mar/MagicMirror into develop 2020-07-28 23:53:03 -04:00
Brandon Marlowe
6f1c7d6253 added --dry-run option to prevent updatenotification module from consuming fetch result 2020-07-28 23:51:38 -04:00
rejas
2d5a19b676 Cleanup module jsdoc 2020-07-28 17:29:21 +02:00
rejas
d1e8dded68 Cleanup class jsdoc 2020-07-28 17:29:16 +02:00
rejas
9888f66c84 Cleanup check_config jsdoc 2020-07-28 17:29:10 +02:00
rejas
5ec51d0ccc Cleanup app jsdoc 2020-07-28 16:49:02 +02:00
rejas
79f9331073 Cleanup translator jsdoc 2020-07-27 21:37:08 +02:00
rejas
43bcf4ab98 Run eslint over files, see what gets fixed automatically and clean up 2020-07-27 14:25:43 +02:00
rejas
f4eae72c48 Install eslint jsdoc plugin 2020-07-27 13:10:07 +02:00
Michael Teeuw
9d14d3e5b7 Merge pull request #2095 from rejas/issue_2072_take_2
Fix clock face-006
2020-07-20 19:27:55 +02:00
rejas
26d3141489 Fix face-006 too 2020-07-20 19:13:12 +02:00
Michael Teeuw
5c44f51d6d Merge pull request #2079 from rejas/issue_2023
Added config option to calendar-icons for recurring- and fullday-events
2020-07-19 20:41:22 +02:00
rejas
50f3f32ba8 Add tests for custom icons 2020-07-19 11:54:03 +02:00
rejas
8fa858ca8c Cleanup test descriptions 2020-07-18 22:16:44 +02:00
rejas
8b1d1671f7 Add test for changing the calendar symbol 2020-07-18 21:10:36 +02:00
rejas
73aa35ea2c Pass maximumEntries for each calender to fetcher
Fixes failing test
2020-07-18 17:51:21 +02:00
rejas
a391445e5f Add test setup for custom calendar configuration 2020-07-18 13:58:05 +02:00
rejas
530c5d416a Remove now unused test data 2020-07-18 11:32:01 +02:00
rejas
319a13c0ef Remove orphaned ical entry 2020-07-17 18:20:48 +02:00
rejas
ec2fedd797 Make sure default symbol is first from right-to-left 2020-07-17 18:00:27 +02:00
rejas
7489d19784 Merge calendar symbols 2020-07-17 18:00:27 +02:00
rejas
3b5a0e8d66 Added config option to calendar-icons for recurring- and fullday-events 2020-07-17 18:00:27 +02:00
Michael Teeuw
29ed63286c Merge pull request #2089 from rejas/newsfeed
Cleaned up newsfeed module code
2020-07-17 16:28:44 +02:00
Michael Teeuw
108da4b6d4 Merge pull request #2084 from easyas314/wxGov
Wx gov
2020-07-17 16:26:20 +02:00
Michael Teeuw
a00a1c64d1 Merge pull request #2083 from sthuber90/backward-browser-compatability
Backward browser compatability
2020-07-17 16:25:35 +02:00
Michael Teeuw
275825cfe1 Merge pull request #2082 from rejas/istanbul
Add test coverage tool Istanbul
2020-07-17 16:25:00 +02:00
Michael Teeuw
cd2fce56a6 Merge branch 'develop' into istanbul 2020-07-17 16:23:59 +02:00
Michael Teeuw
cab850fb35 Merge pull request #2080 from larryare/develop
Add lithuanian translation
2020-07-17 16:21:19 +02:00
Michael Teeuw
045dc600b0 Merge branch 'develop' into develop 2020-07-17 16:21:12 +02:00
Michael Teeuw
1b199c1682 Merge pull request #2077 from oemel09/fix-maxNumberOfDays-2018
Fixes getting only full day forecasts
2020-07-17 16:18:57 +02:00
Michael Teeuw
936fa637ec Merge pull request #2078 from cjbrunner/cbrunner/weatherforecast-openweather-onecall-api-support
weatherforecast OpenWeather onecall api support
2020-07-17 16:18:17 +02:00
rejas
b9ccb7a892 Add new test to see if coverage improves
it does :-)

  calendar.js                       |    8.97 |     9.57 |   11.54 |     8.7 | 63-413,446-659,690-693,699,733-771

->

  calendar.js                       |    9.97 |    10.64 |   11.54 |     9.7 | 63-413,446-659,699,733-771
2020-07-15 13:15:03 +02:00
rejas
95b33be3cf Update vendor dependencies 2020-07-15 12:14:48 +02:00
rejas
cde27b89c2 Update CHANGELOG 2020-07-14 07:51:19 +02:00
rejas
476e52e004 Use let/const and arrow functions 2020-07-12 13:21:36 +02:00
rejas
8dc88fe64b Remove unused helper function and its unit test 2020-07-12 10:32:16 +02:00
rejas
d00da790af Move configuration change warning into general translation 2020-07-12 08:25:07 +02:00
rejas
c61fac75e4 Rename Newsfeed Fetcher for clarity 2020-07-12 08:10:43 +02:00
easyas314
e949af6fd5 revert package.json 2020-07-11 16:13:31 -04:00
easyas314
c1e38b917e update CHANGELOG 2020-07-11 15:06:24 -04:00
easyas314
1244121216 change weathergov.js for multi-URL api 2020-07-11 15:01:16 -04:00
easyas314
46543daa13 Merge branch 'wxGov' of github.com:easyas314/MagicMirror into wxGov 2020-07-11 14:56:35 -04:00
Brad Simmons
6277384bf9 Merge pull request #3 from MichMich/develop
Merge MM/Develop
2020-07-11 14:54:22 -04:00
Stephan Huber
17549fed9c Update CHANGELOG.md 2020-07-11 08:25:01 +02:00
Stephan Huber
377e42affc fix display style for older browsers 2020-07-10 23:12:17 +02:00
Stephan Huber
0ac5d56865 must be const for backward compatibility 2020-07-10 23:03:36 +02:00
rejas
b59ee6ad7e Update dependencies 2020-07-09 22:43:08 +02:00
rejas
2d7c5a827f Cleanup test expectation 2020-07-09 20:44:52 +02:00
Veeck
85c32ef843 Use const in test requires 2020-07-09 20:30:43 +02:00
rejas
dc089d7db9 Remove stripCommentsFromJson code and test
Since we dont allow comments in the json anymore anyway
2020-07-09 20:30:26 +02:00
rejas
d570f910f8 Added test coverage with istanbul 2020-07-09 20:29:38 +02:00
Bryan Zhu
8f2731911b added changelog entry 2020-07-08 23:12:01 -04:00
Bryan Zhu
9d22420027 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into bryanzzhu-weather 2020-07-08 23:06:29 -04:00
larryare
029da3791b Update CHANGELOG.md
Added lithuanian language entry.
2020-07-08 23:57:57 +03:00
Laurynas Kerezius
caa51b1029 Add lithuanian language 2020-07-08 20:52:24 +00:00
Chris Brunner
2973a03d40 Prettier... 2020-07-08 10:11:12 -07:00
Chris Brunner
679d464f4c Update chagelog 2020-07-08 09:53:50 -07:00
Chris Brunner
93c0787efd Add support for OpenWeather onecall API 2020-07-08 09:48:03 -07:00
oemel09
a1708a1469 Fixes getting only full day forecasts 2020-07-08 10:19:49 +02:00
Michael Teeuw
862bf78e63 Merge pull request #2071 from chamakura/develop
Fixing double conversion of time between UTC and local timezone
2020-07-05 22:06:59 +02:00
Michael Teeuw
8c01df50a2 Merge pull request #2073 from rejas/issue_2072
Fix incorrect namespace links in svg clockfaces
2020-07-05 12:42:42 +02:00
rejas
921932920d Fix incorrect namespace links in svg clockfaces
Fixes #2072
2020-07-05 11:58:37 +02:00
chamakura
d021c9b4ae Removing debug log statements 2020-07-04 20:23:09 -07:00
chamakura
309a18e9c0 Fixing double conversion of time between UTC and local timezone 2020-07-04 20:12:34 -07:00
Michael Teeuw
73322c96a6 Merge pull request #2070 from rejas/fix_log_level
Fix log level
2020-07-04 22:10:16 +02:00
rejas
121e7db330 Add CHANGELOG entry 2020-07-04 22:03:13 +02:00
rejas
9f5e1b59fb Set logLevel after loading config 2020-07-04 22:02:39 +02:00
Michael Teeuw
3282ed4fea Add TODO 2020-07-04 21:49:14 +02:00
Michael Teeuw
c7d9192f18 Merge pull request #2060 from bryanzzhu/bryanzzhu-weather-patch
fixed minor typo (apiKey vs. appid) in weather.js
2020-07-04 21:47:52 +02:00
Michael Teeuw
bd0f707aed Add changelog. 2020-07-04 21:40:31 +02:00
Michael Teeuw
8b30634ebe Merge branch 'develop' into pr/bryanzzhu/2060 2020-07-04 21:38:29 +02:00
Michael Teeuw
ca8acb14f1 Merge pull request #2057 from wolfen351/wolfen351-patch-1
Correct calendar display - account for current timezone
2020-07-04 21:34:32 +02:00
Michael Teeuw
26b8f8d0d5 Merge branch 'develop' into pr/bryanzzhu/2060 2020-07-04 21:33:50 +02:00
Michael Teeuw
a066153556 Add updated changelog. 2020-07-04 21:26:22 +02:00
Michael Teeuw
2ee7131c28 Merge branch 'develop' into pr/wolfen351/2057 2020-07-04 21:24:48 +02:00
Michael Teeuw
cb1f65732e Merge branch 'develop' into pr/wolfen351/2057 2020-07-04 21:15:14 +02:00
Michael Teeuw
37237d9c10 Merge pull request #2066 from oemel09/fix-maxNumberOfDays-2018
Adjusts maxNumberOfDays depending on the endpoint
2020-07-03 22:02:26 +02:00
Michael Teeuw
92cc41dec6 Fix linting issue. 2020-07-03 21:53:18 +02:00
oemel09
246dc663c4 Applies suggestions from prettier, floor instead of ceil 2020-07-02 22:22:04 +02:00
oemel09
4ed3235590 Adds fix to changelog 2020-07-02 20:56:48 +02:00
oemel09
0939e405b4 Adjusts maxNumberOfDays depending on the endpoint 2020-07-02 20:54:20 +02:00
Bryan Zhu
584c51ef56 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into bryanzzhu-weather 2020-07-01 14:49:05 -04:00
Michael Teeuw
26ed05ba3a Prepare 2.13.0-develop 2020-07-01 20:07:12 +02:00
Michael Teeuw
018cb91526 Merge pull request #2064 from MichMich/develop
Release 2.12.0
2020-07-01 20:04:36 +02:00
Michael Teeuw
e16db2233f Fix contributor list. 2020-07-01 19:52:38 +02:00
Michael Teeuw
5d90a08011 Prepare release 2.12.0 2020-07-01 19:47:09 +02:00
Michael Teeuw
2d3849a671 Merge pull request #2061 from ZoneMR/patch-1
Fix #2030 - Clock can be off by a minute
2020-07-01 19:38:11 +02:00
Michael Teeuw
e0dcdc2110 Merge pull request #2063 from lyubomirv/develop
Updated the BG translation
2020-07-01 19:31:08 +02:00
Michael Teeuw
22fcee2a16 Merge branch 'develop' into pr/ZoneMR/2061 2020-07-01 19:29:41 +02:00
Michael Teeuw
8c0141367b Fix EOF issue. 2020-07-01 19:25:00 +02:00
Bryan Zhu
5bb72cfed8 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into bryanzzhu-weather 2020-07-01 08:38:46 -04:00
Michael Teeuw
6d829fa575 Merge pull request #2059 from bryanzzhu/bryanzzhu-currentweather
added config option to hide sunrise/sunset in Current Weather module
2020-07-01 13:16:48 +02:00
Bryan Zhu
85ed1b85ae added functional current, hourly, and daily forecasts via OpenWeatherMap One Call API 2020-07-01 05:08:04 -04:00
Lyubomir Vasilev
c9d0bd2d7f Updated the BG translation 2020-07-01 10:08:41 +03:00
ZoneMR
ea31d34649 Fix #2030 - Clock can be off by a minute
Set minute/second in our model based on the actual time from moment() rather than our own attempt to track the time - which can drift or fail to respond to time changes.

Also, schedule time refreshes to happen 50ms after the minute/second is expected to change - preventing premature fires and rapid re-firings of notifications due to accuracy limits in setTimeout
2020-06-30 19:51:25 +01:00
Bryan Zhu
1d2f929d3f Rename wdataHourly.njk to wdatahourly.njk 2020-06-30 13:21:50 -04:00
Bryan Zhu
ffbf0804d9 added default values for lat and lon 2020-06-30 12:41:14 -04:00
Bryan Zhu
ca0b89ecd3 backtracked apiKey change to appid 2020-06-30 12:36:23 -04:00
Bryan Zhu
dc9d6f6b79 fixed minor typo (apiKey vs. appid) 2020-06-30 12:29:00 -04:00
Bryan Zhu
f73520559e typo and bug fixes 2020-06-30 12:06:16 -04:00
Bryan Zhu
a4df38d963 fixed config parameter typo 2020-06-30 04:18:03 -04:00
Bryan Zhu
4a162543f6 added OpenWeatherMap One Call API function to default Weather module, added wDataHourly type 2020-06-30 02:40:41 -04:00
Bryan Zhu
7a3ea37798 added config option to hide sunrise/sunset in Current Weather module 2020-06-29 12:44:24 -04:00
Michael Teeuw
fdd389d6b7 Merge pull request #2058 from XBCreepinJesus/develop
UK Met Office DataHub weather provider
2020-06-28 13:40:17 +02:00
CreepinJesus
b91fccc0e3 Update metofficedatahub.js 2020-06-28 12:09:16 +01:00
CreepinJesus
d911b075ab Met Office DataHub weather provider 2020-06-28 11:13:44 +01:00
CreepinJesus
4339cdd8a4 Included check for Met Office DataHub provider.
The new Met Office provider also returns precipitation as a probability percentage.
2020-06-28 11:00:10 +01:00
CreepinJesus
dd32d3a492 New Met Office provider
This is a provider for the Met Office's new DataHub API (which will eventually replace their current DataPoint service).
2020-06-28 10:57:19 +01:00
wolfen351
d5caadd906 Correct calendar display - account for current timezone 2020-06-27 19:43:09 +12:00
Michael Teeuw
c4bc3e2687 Merge pull request #2054 from MichMich/revert-pr-2021
Revert PR #2021
2020-06-24 12:36:28 +02:00
Michael Teeuw
2c5909a138 Update CHANGELOG.md 2020-06-24 09:50:25 +02:00
Michael Teeuw
42c13fa584 Update compliments.js 2020-06-24 09:49:14 +02:00
Michael Teeuw
3b442d4bfc Merge pull request #2048 from rejas/issue_1926
Updated ical library to latest version
2020-06-22 18:19:18 +02:00
rejas
9831f81b6e Merge branch 'develop' into issue_1926 2020-06-20 20:43:09 +02:00
Michael Teeuw
d3282506c9 Merge pull request #2052 from chamakura/develop
Bug fix to correctly handle the logic for 'maxEntries' Issue #2050
2020-06-20 20:35:32 +02:00
chamakura
2afff6c432 Updating files to the latest versions from 'develop' branch 2020-06-20 11:18:37 -07:00
chamakura
be3616abe2 Bug fix to correctly handle the logic for 'maxEntries' Issue #2050 2020-06-20 11:01:37 -07:00
rejas
daa6f5051c Use object.entries to iterate over data 2020-06-20 09:01:35 +02:00
rejas
1e5bd98f02 Make calendar debuger use const stuff and add npm script for it 2020-06-20 08:45:46 +02:00
rejas
7e5bfa8dd2 Fix slice parameter type 2020-06-20 08:45:22 +02:00
rejas
53363b0618 Simplify return call to make a better diff 2020-06-20 08:45:03 +02:00
rejas
b2f71a2ce1 Update dependencies 2020-06-20 08:33:19 +02:00
rejas
5d4a575919 Undo switch to fetch, use request like ical did 2020-06-20 08:32:54 +02:00
rejas
7d521ed3ce More var -> let/const conversions 2020-06-18 21:54:51 +02:00
rejas
bb9ad3daa9 Use some const/let instead of var 2020-06-17 21:37:49 +02:00
rejas
442f270ee0 Update CHANGELOG 2020-06-17 21:24:50 +02:00
rejas
7ab74c6cc9 Remove old ical version 2020-06-17 21:17:35 +02:00
rejas
6d60baa2d6 Install latest ical version and use it 2020-06-17 21:17:26 +02:00
Michael Teeuw
6d3308621f Merge pull request #2017 from rejas/config_logger
Make logger a little more configurable
2020-06-14 14:33:06 +02:00
Michael Teeuw
fd49be1d9b Remove unreachable code. 2020-06-14 14:14:30 +02:00
Michael Teeuw
c40a5648dd Merge branch 'develop' into config_logger 2020-06-14 14:02:48 +02:00
Michael Teeuw
d9a8d2627a Merge pull request #2046 from rejas/issue_1928
Throw error when check_config fails
2020-06-14 14:00:19 +02:00
rejas
c7a88e2f12 Throw error when check_config fails 2020-06-14 11:04:11 +02:00
easyas314
9d2d170c2d add additional URLs per API 2020-06-13 11:58:06 -04:00
easyas314
df3aa22c59 current appears to be working 2020-06-04 23:35:32 -04:00
easyas314
a4aabfcdae add the lock file 2020-06-04 19:26:09 -04:00
easyas314
ce99e70bf9 tweak package; my wxgov.js 2020-06-04 19:25:13 -04:00
rejas
963b1aa6b1 Final cleanups I think 2020-06-02 15:05:31 +02:00
rejas
008ac2876b More console -> Logger conversions 2020-06-02 15:05:31 +02:00
rejas
2330b166f6 Totall forgot we need a changelog entry 2020-06-02 15:04:58 +02:00
rejas
23c0e01565 Use logger in node_helpers 2020-06-02 15:04:58 +02:00
Veeck
13073bc98d Lint stuff 2020-06-02 15:03:59 +02:00
Veeck
8c319903dd Cleanup outcommented logging 2020-06-02 15:03:59 +02:00
Veeck
2334cbd78a User logger in checkconfig script 2020-06-02 15:03:59 +02:00
rejas
0cae954f80 Use Log in loader too 2020-06-02 15:03:59 +02:00
rejas
c60446a015 Fix tests 2020-06-02 15:03:59 +02:00
Veeck
d0c6a4ee6d Make logger configurable 2020-06-02 15:03:59 +02:00
rejas
f2d03a511e User logger in node files 2020-06-02 15:03:59 +02:00
rejas
367233c318 Add console-stamp to node-logger 2020-06-02 15:03:59 +02:00
rejas
9461c1692a Add node/browser wrapper around logger 2020-06-02 15:03:59 +02:00
Michael Teeuw
3b32605b5e Merge pull request #2036 from DarthBrento/develop
Fix #1109 - multiple calendar instances with different config
2020-06-02 10:16:09 +02:00
Michael Teeuw
4d21f8d022 Merge branch 'develop' into develop 2020-06-02 09:17:43 +02:00
Michael Teeuw
aac67570d4 Merge pull request #2035 from Ekristoffe/develop
Fix for #2018
2020-06-02 09:17:03 +02:00
Michael Teeuw
5f2c465274 Merge pull request #2032 from radokristof/weather-module
[weather] Ability to hide sun details
2020-06-02 09:15:31 +02:00
Michael Teeuw
fdaa0bc876 Merge pull request #2031 from radokristof/calendar-module
[calendar] Use wrapEvents to also truncate the location
2020-06-02 09:13:42 +02:00
Kristof Rado
a692d6be09 Reworked titleTransform. 2020-06-01 22:25:07 +02:00
Kristof Rado
efbb9648c4 Introduce new function for location title shortening. 2020-06-01 20:23:59 +02:00
Kristof Rado
3d73153e59 Revert "Renamed function"
This reverts commit 6aa0a4a4
2020-06-01 20:19:03 +02:00
DarthBrento
8fa2256fb0 linted 2020-06-01 17:19:41 +02:00
DarthBrento
4fe974e7a8 Check identifier for type, too 2020-06-01 13:31:46 +02:00
DarthBrento
21f76a8f27 Attach identifier to socket notifications to allow multiple instances 2020-06-01 13:14:54 +02:00
DarthBrento
aeb287fa1d Attach identifier to socket notifications to allow multiple instances 2020-06-01 13:12:54 +02:00
DarthBrento
1405e8821c Update calendar.js 2020-06-01 00:38:05 +02:00
DarthBrento
37e31bac5b Update node_helper.js 2020-06-01 00:36:47 +02:00
DarthBrento
d31b696846 updated changelog 2020-06-01 00:24:13 +02:00
Chris
cc01c1f0db Update weatherforecast.js 2020-05-31 11:57:53 +09:00
Chris
4a7076e01c Prettier correction 2020-05-31 11:46:50 +09:00
Chris
d306bb25dc Update CHANGELOG.md 2020-05-31 00:20:42 +09:00
Chris
457c80fe76 Correct #2018
Weather forecast need the maxNumberOfDays as argument &cnt=**
The minimum is 1 and the maximum is 17.
2020-05-31 00:15:54 +09:00
Kristof Rado
bb972f8449 Updated CHANGELOG.md 2020-05-30 00:11:14 +02:00
Kristof Rado
e6ef64968b Disable Sunrise/Sunset in Config option 2020-05-30 00:06:20 +02:00
Kristof Rado
6f3b87cfd1 Merge branch 'develop' into weather-module 2020-05-29 23:56:09 +02:00
Kristof Rado
f449feb3f8 Updated CHANGELOG.md 2020-05-29 23:53:07 +02:00
Kristof Rado
b179c8e2b7 Merge branch 'develop' into calendar-module 2020-05-29 23:50:24 +02:00
Kristof Rado
6aa0a4a47f Renamed function 2020-05-29 23:50:01 +02:00
Kristof Rado
766140f483 Ability to hide sun details 2020-05-28 10:57:01 +02:00
Kristof Rado
52aa8b868a Truncate event title 2020-05-28 10:09:34 +02:00
Michael Teeuw
8a3a4d6fae Merge pull request #2027 from rejas/fix_travis_error
Fix travis error
2020-05-25 20:18:37 +02:00
Veeck
94f212a411 Fix travis error due to merge before prettier run 2020-05-25 20:00:59 +02:00
Michael Teeuw
4e1dce70a3 Merge pull request #2013 from rejas/prettier
Add Prettier for an even cleaner code-experience
2020-05-25 18:46:36 +02:00
Michael Teeuw
bbf48a0dd0 Merge pull request #2021 from ndom91/update-compliments-module-advice-api
Update Compliments Module - Add Advice API
2020-05-24 13:47:30 +02:00
ndo@ndo3
a35e8f3315 update: spaces -> tabs 2020-05-14 15:00:09 +02:00
ndo@ndo3
205de7233e add: advice api to compliments module 2020-05-14 14:56:38 +02:00
Veeck
abb5dc5739 Run prettier over ALL files once
No other changes done in this commit
2020-05-11 22:22:32 +02:00
Veeck
3a5a29efc0 Add pretty-quick 2020-05-11 21:59:45 +02:00
GeorgeTravelbacon
9d249406e3 Forgot CHANGELOG.MD 2020-05-10 17:07:34 +02:00
Joris
42d9e7a090 Changed "Gevoelstemperatuur" to "Voelt als". This is shorter and saves mirror space. 2020-05-10 15:18:24 +02:00
rejas
c202c0d705 Add prettier, configs and editorconfig 2020-05-07 14:09:22 +02:00
Michael Teeuw
8a1f9b7de6 Merge pull request #2012 from rejas/issue_2011
Use correct object in browser context
2020-05-07 09:02:17 +02:00
Veeck
18820c383d Use correct object in browser context 2020-05-06 22:19:07 +02:00
Michael Teeuw
b38b879ee3 Merge pull request #2010 from rejas/no_undef_and_more
Cleanup eslints no-undef warnings Part 2
2020-05-05 15:16:27 +02:00
Veeck
7fc7d626bc Add Module to globals, cleanup comments 2020-05-05 14:55:15 +02:00
Veeck
c8a0f1d0de Fix some more undefs that popped up out of nowhere 2020-05-05 14:54:49 +02:00
Michael Teeuw
c8aedc6f29 Merge pull request #1997 from andrezibaia/patch-1
Literal translation (not used in Portuguese)
2020-05-05 14:32:45 +02:00
Michael Teeuw
1e7ce8bb5c Merge pull request #2007 from rejas/no_undef
Cleanup eslints no-undef warnings
2020-05-05 14:31:41 +02:00
Veeck
5386ca1592 Merge branch 'develop' into no_undef 2020-05-05 14:20:24 +02:00
Michael Teeuw
08ed019426 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2020-05-05 14:18:14 +02:00
Michael Teeuw
55c6a5aa27 remove unused file 2020-05-05 14:17:46 +02:00
rejas
bd6bbf864a Update dependencies 2020-05-03 20:52:58 +02:00
rejas
703335c2f1 Update changelog 2020-05-03 20:50:52 +02:00
rejas
c04fa496bf Second round of undef fixes 2020-05-03 18:59:26 +02:00
rejas
b9d19cfcb4 First round of undef fixes 2020-05-03 12:40:48 +02:00
rejas
d8f093b226 Cleanup some globals 2020-05-02 10:33:24 +02:00
rejas
63a2d83d26 Start checking for undef 2020-05-02 10:32:53 +02:00
Michael Teeuw
7e42e98cb6 Merge pull request #2002 from rejas/https
Replace insecure links with https
2020-04-30 09:19:17 +02:00
rejas
93deebe923 Update changelog 2020-04-28 23:09:29 +02:00
rejas
1eecf4b2c7 Fix docs, grunt is removed 2020-04-28 23:07:14 +02:00
rejas
e7fc4ef1e7 Replace unsecure links with https ones 2020-04-28 23:05:28 +02:00
Michael Teeuw
3c54d4af15 Merge pull request #1996 from rejas/eslint_recommend
Update eslint config to use eslint:recommended
2020-04-23 10:23:40 +02:00
andrezibaia
ebfbf0e1f8 Literal translation (not used in Portuguese) 2020-04-23 04:41:05 +02:00
rejas
14aa4036e0 Some spelling and doc fixes 2020-04-22 22:09:31 +02:00
Veeck
0c60d54c3f Add eqeqeq rule to not confuse == with === 2020-04-21 15:13:06 +02:00
Veeck
e510d279a2 Cleanup some more header comments 2020-04-21 14:58:17 +02:00
Veeck
be6f1f9c4a Move eslint to dependencies, update some devdependcies 2020-04-21 14:41:34 +02:00
rejas
b1fb177e4b Undo "fix" in main.js that broke the tests 2020-04-21 12:38:29 +02:00
Veeck
ec187fe109 Update changelog and commen tags 2020-04-21 12:23:50 +02:00
Veeck
9ec329b7ae Final fixes for eslint:recommended 2020-04-21 12:23:50 +02:00
rejas
d08bd4e866 Fix lots of warnings 2020-04-21 12:23:50 +02:00
rejas
941d5d7cd9 Fix mixed tabs and whitespace errors 2020-04-21 12:23:50 +02:00
rejas
ef8d85773c Run automatic fix 2020-04-21 12:23:50 +02:00
rejas
e668d488b4 Use eslint:recommend 2020-04-21 12:23:50 +02:00
Michael Teeuw
d4eb5facfd Merge pull request #1992 from rejas/update_fonts
Update font package
2020-04-21 11:55:08 +02:00
Veeck
a1285b120b Remove some other prefixed styles since we are at it 2020-04-20 12:13:13 +02:00
Veeck
8650876e2b Remove yarn.locks 2020-04-20 12:10:58 +02:00
Veeck
81ab12c89c Update changelog 2020-04-20 12:10:58 +02:00
Veeck
4ddb8cec85 Update roboto fonts, remove ttf entries 2020-04-20 12:10:58 +02:00
Michael Teeuw
711c566498 Merge pull request #1995 from rejas/cleanup_alert
Cleanup default alert module
2020-04-20 12:06:18 +02:00
Veeck
cc5336900c Update dependencies 2020-04-20 11:34:24 +02:00
Veeck
291a8f5c1f Fix warnings for jsonlint 2020-04-20 11:34:16 +02:00
Veeck
8c0e98ed43 Ignore some other files when linting markdown too 2020-04-20 11:30:05 +02:00
Veeck
7a976c0239 Fix tests, use non-spread object extend version again 2020-04-20 11:24:03 +02:00
Veeck
fb557b9130 Update ignored files for eslint 2020-04-20 11:15:11 +02:00
Veeck
b56a930f60 Update changelog 2020-04-20 10:59:04 +02:00
Veeck
5819ef346b Rename stylesheet for clarity that its about the notificationFX 2020-04-20 10:58:27 +02:00
Veeck
b3dcc82c71 Remove old webkit prefix styles 2020-04-20 10:52:53 +02:00
Veeck
06e8308dc2 Replace old js files with modern code 2020-04-20 10:51:27 +02:00
Michael Teeuw
c8a9c9b84e Merge pull request #1991 from rejas/cleanup_config_check
Cleanup config check script
2020-04-19 09:10:41 +02:00
Veeck
e85b49c573 Update changelog 2020-04-19 08:22:48 +02:00
Veeck
c7c6dc4e67 Move config check into js folder, cleanup var usage 2020-04-19 07:55:56 +02:00
Michael Teeuw
172d668416 Merge pull request #1963 from AndreKoepke/feature/client_https
add https support for clientonly-mode
2020-04-15 09:57:53 +02:00
AndreKoepke
b651dc845b no single quotes 2020-04-14 14:10:29 +02:00
Michael Teeuw
c755f44153 Merge pull request #1981 from rejas/remove_grunt
Remove grunt, use non-grunt linters instead
2020-04-10 21:55:41 +02:00
rejas
ed28ce1874 Update changelog and lock 2020-04-10 16:12:51 +02:00
rejas
194af0e985 Run linter and npm audit 2020-04-10 15:09:08 +02:00
rejas
ab3015df6b Remove rest of grunt calls 2020-04-10 14:43:58 +02:00
rejas
f36df159e0 Replace grunt-jsonlint with jsonlint 2020-04-10 12:24:08 +02:00
rejas
61462cf57e Replace grunt-eslint with eslint 2020-04-10 07:48:28 +02:00
rejas
427d186c86 Replace grunt-markdownlint with markdownlint-cli 2020-04-10 07:48:28 +02:00
rejas
84e9c47a67 Replace grunt-stylelint with stylelint 2020-04-10 07:48:28 +02:00
rejas
18989d593a Replace grunt-yamllint with yaml-lint 2020-04-10 07:48:28 +02:00
Michael Teeuw
fc624359c5 Merge pull request #1980 from khassel/socketclient_fix
socketclient.js: add backward compatibility for old module code
2020-04-09 13:50:38 +02:00
Karsten Hassel
1914573634 fixed again ... 2020-04-07 20:26:09 +02:00
Karsten Hassel
1fd36458a6 update CHANGELOG.md 2020-04-07 19:42:16 +02:00
Karsten Hassel
37ee0e568f socketclient.js: add backward compatibility for old module code 2020-04-07 19:35:21 +02:00
Michael Teeuw
3f8363a5b2 Merge pull request #1976 from Legion2/develop
Added basename config
2020-04-06 21:55:10 +02:00
Leon Kiefer
e6c0011789 renamed basename to basePath 2020-04-06 21:29:55 +02:00
Leon Kiefer
eb37a495a2 changed headings in Changelog 2020-04-05 23:18:00 +02:00
Leon Kiefer
54542f7f07 added basename config
use basename in socket.io path fix #1973
2020-04-05 23:00:38 +02:00
AndreKoepke
8e38910dd8 Merge branch 'develop' into feature/client_https 2020-04-03 14:22:41 +02:00
Andre
31b3f778fc no single quotes 2020-04-03 12:37:33 +02:00
Michael Teeuw
ca3275757b Fix release date. 2020-04-01 15:40:14 +02:00
Michael Teeuw
501a314597 Start of 2.12.0-develop 2020-04-01 12:28:40 +02:00
Michael Teeuw
447c0bffdc Merge pull request #1968 from MichMich/develop
Release 2.11.0
2020-04-01 12:21:33 +02:00
Michael Teeuw
46df59d77a Prepare release 2.11.0 2020-04-01 11:52:39 +02:00
Michael Teeuw
8c85e240b7 Merge pull request #1967 from MichMich/rejas-date
Rejas date
2020-04-01 11:15:31 +02:00
Michael Teeuw
2464d01891 Fix date test. 2020-04-01 10:57:50 +02:00
Michael Teeuw
66642a19c5 Merge branch 'date' of https://github.com/rejas/MagicMirror into rejas-date 2020-04-01 10:08:33 +02:00
Michael Teeuw
f7f4e92e0a Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2020-04-01 09:58:55 +02:00
Michael Teeuw
2674bf22d8 Let's use sensible defaults. :) 2020-04-01 09:44:22 +02:00
Andre
351e0f3a0b add https support 2020-03-28 12:37:50 +01:00
rejas
ff7dc95e93 Implement suggestions from Michael 2020-03-28 09:24:30 +01:00
rejas
4e4d3418b3 LInt mockdate helper 2020-03-25 06:53:09 +01:00
rejas
3659b5b5c9 Update mockdate info 2020-03-25 06:40:23 +01:00
rejas
65e1b60fb7 Fix error when no compliments are set 2020-03-25 06:40:23 +01:00
rejas
e2427fe299 Try out a mockdate class 2020-03-25 06:40:23 +01:00
rejas
b08f882324 Add (failing) test for new date field 2020-03-25 06:40:23 +01:00
rejas
2a31ece0c6 Refactor code 2020-03-25 06:40:23 +01:00
rejas
cafa4211a6 Update changelog and add another birtday 2020-03-25 06:40:23 +01:00
rejas
82b50d3059 Add basic compliment on a specific day of the year 2020-03-25 06:39:24 +01:00
Michael Teeuw
39cb582e07 Merge pull request #1960 from effelle/develop
Update pt-br.json
2020-03-24 21:16:41 +01:00
Michael Teeuw
fe6645a420 Merge pull request #1955 from rejas/jshint
Remove jshint dependency
2020-03-24 21:16:12 +01:00
Michael Teeuw
a49816f4eb Merge pull request #1948 from rejas/lint
Run linter tests on travis (was: Run linter before commit)
2020-03-24 21:15:41 +01:00
Michael Teeuw
7ac97f854c Merge pull request #1937 from Legion2/develop
use relative path for socket.io
2020-03-24 21:13:36 +01:00
Federico Leoni
8f203852ca Update CHANGELOG.md 2020-03-24 10:06:12 -03:00
Federico Leoni
c342f7bce6 Update pt-br.json 2020-03-23 14:55:36 -03:00
Michael Teeuw
fe1c5df9d5 Merge pull request #1958 from bugsounet/master
issue #1956
2020-03-19 19:17:03 +01:00
bugsounet
8aa7a55559 issue #1956 2020-03-19 19:03:25 +01:00
rejas
e9461586cb Update changelog 2020-03-15 21:25:11 +01:00
rejas
a91f2de26a Remove jshint dependency, use eslint for config verification 2020-03-15 20:38:52 +01:00
rejas
5a4ae99283 Add no-multi-spaces rule to eslint and run it 2020-03-15 15:49:34 +01:00
rejas
437d030502 Remove some dead files, fix stylelint error 2020-03-11 12:44:44 +01:00
rejas
f3d45eff69 Fix js error but add a stylelint error 2020-03-11 11:43:45 +01:00
rejas
f22e39e22b Add switch to auto fix eslint and stylelint issues 2020-03-11 11:29:59 +01:00
rejas
7470a3b813 Dont fix eslint errors automatically 2020-03-11 10:48:43 +01:00
rejas
0b2e836e3d Commit a faulty js to see if travis complains 2020-03-11 09:01:21 +01:00
rejas
c3d57eef4f Remove husky again, move lint as test to travis 2020-03-11 08:52:25 +01:00
rejas
ca2571b438 Update changelog 2020-03-08 16:31:34 +01:00
rejas
6c926b8876 Add husky for pre-commit hook 2020-03-08 16:25:26 +01:00
rejas
5517a913d4 Run linter manually 2020-03-08 16:20:54 +01:00
Michael Teeuw
ef7720ff06 Merge pull request #1939 from dtreskunov/dtreskunov/fix-moon-illumination-percent-calc
fix floating point bug in moon illumination calc
2020-02-27 16:35:38 +01:00
Michael Teeuw
daa13b4b30 Merge pull request #1941 from bibaldo/bibaldo-currentweather
Add new default config to 'current weather' module
2020-02-27 16:34:26 +01:00
Michael Teeuw
9d4e237c09 Merge pull request #1938 from tosbaha/develop
Turkish translation update
2020-02-27 16:32:40 +01:00
Michael Teeuw
883c169ef7 Merge branch 'develop' into develop 2020-02-27 16:31:10 +01:00
Michael Teeuw
2b2b07f6b4 Merge pull request #1936 from buxxi/develop
Using promises to resolve which modules has a git remote
2020-02-27 16:30:23 +01:00
Jose Forte
f338b68f36 Update CHANGELOG.md 2020-02-21 10:31:40 -03:00
Jose Forte
c877b5fc70 Add new default config to 'current weather' module 2020-02-21 10:17:05 -03:00
Leon Kiefer
6aeec81072 removed additional slash from the socket.io path 2020-02-19 20:58:58 +01:00
Denis Treskunov
3f78c664eb fix floating point bug in moon illumination calc 2020-02-19 09:31:02 -08:00
mustafa
3b7df1d5c2 Changelog updated 2020-02-19 15:25:46 +03:00
mustafa
b6fc063c75 Turkish translation updated 2020-02-19 15:21:25 +03:00
Leon Kiefer
7b56817ae6 use relative path for socket.io fix #1934 2020-02-18 17:09:25 +01:00
buxxi
75c8c3f50b Using promises to resolve which modules has a git remote so the modules wont be skipped on the first check 2020-02-17 22:56:06 +01:00
Michael Teeuw
be07ff2129 Merge pull request #1923 from wast/patch-1
Fix Croatian translation for Calendar module word FEELS.
2020-02-12 16:34:45 +01:00
Michael Teeuw
56846b258c Merge branch 'develop' into patch-1 2020-02-12 16:34:33 +01:00
Michael Teeuw
f67310c8fa Merge pull request #1927 from fewieden/fix/weather-tests
1840 fix weather tests
2020-02-12 16:33:31 +01:00
Michael Teeuw
3dff3a1d4a Merge branch 'develop' into fix/weather-tests 2020-02-12 16:33:19 +01:00
Michael Teeuw
142d30b1c6 Merge pull request #1929 from buxxi/develop
Adding support for ignoring update check for certain modules
2020-02-11 19:21:46 +01:00
buxxi
c925e88475 Adding support for ignoring update check for certain modules 2020-02-11 18:13:39 +01:00
fewieden
56392e41d0 Add 1840 to changelog 2020-02-10 22:05:43 +01:00
fewieden
cd7b6450c6 Run tests also on lts and last stable version of nodejs 2020-02-10 21:51:29 +01:00
Felix Wiedenbach
de6a9f5811 fix timing issue in weather tests => returning response by url instead of index 2020-02-10 18:56:55 +01:00
Michael Teeuw
d7295948fd Merge pull request #1925 from dtreskunov/dtreskunov/fix-clock-module-moon-widget
fix bugs in showMoonTimes in clock module
2020-02-10 07:40:10 +01:00
Denis Treskunov
f4c3e412a2 fix bugs in showMoonTimes in clock module
1. as reported on https://github.com/MichMich/MagicMirror/pull/1885,
toLocaleString is not supported on old iPad Safari

2. SunCalc.getMoonTimes returns moonRise/moonSet times for the given date,
so moonRise can be after moonSet. We want to display the most relevant
times, which are today's moonRise and the next moonSet.
2020-02-09 22:03:35 -08:00
Stjepan
0d461e14d9 Merge pull request #1 from wast/patch-2
Update CHANGELOG.md
2020-02-09 10:26:54 +01:00
Stjepan
845c2571fe Update CHANGELOG.md
Fix FEELS translation in Croatian
2020-02-09 10:24:20 +01:00
Stjepan
d5c02d1031 Update hr.json
Fix FEELS translation in Croatian.
2020-02-09 10:22:41 +01:00
Michael Teeuw
30e93a9372 Merge pull request #1915 from normankong/develop
Support HTTPS Magicmirror (resubmit)
2020-02-06 10:10:06 +01:00
Michael Teeuw
e5cdcd190c Merge pull request #1918 from sergge1/develop
to make logic of parameter name to its actual behavior
2020-02-06 10:09:22 +01:00
sergge1
271f1cd71b to make logic of name to actual behaviour
hideTemp = false -> temp shold appear at the MM
hideTemp === true -> should not appear.
This is the logic. Worked vise versa, just corrected in the code
2020-02-06 00:04:48 +02:00
Michael Teeuw
4abb790e12 Merge pull request #1916 from d-Rickyy-b/log-date-timestamp
Log date timestamp
2020-02-05 12:43:26 +01:00
Michael Teeuw
89c9d4dfc4 Merge branch 'develop' into develop 2020-02-05 12:42:43 +01:00
karenorman
5511c15921 Update description in config.js.sample 2020-02-05 10:23:49 +08:00
Rico
e160f9a0f6 docs: add info about changed timestamp in changelog 2020-02-03 21:43:45 +01:00
Rico
65ea341ed0 feat: use date in log timestamp
I find it quite hard to look something up in the logs, when there is no date in the log file. The time itself is not sufficient for debugging, hence I suggest also logging the date.
2020-02-03 21:39:46 +01:00
Michael Teeuw
561827e896 Remove logging. 2020-02-01 19:12:05 +01:00
Michael Teeuw
1315aceb44 Remove duplicate 2.11 entry. 2020-02-01 17:41:49 +01:00
Michael Teeuw
19afd89df5 Fix Typo 2020-02-01 16:48:35 +01:00
Michael Teeuw
cbcc893f64 Restore MM.sh to keep PM2 working. 2020-02-01 15:16:23 +01:00
Michael Teeuw
a41bae3132 Cleanup 2020-02-01 15:05:26 +01:00
Michael Teeuw
8ef8388c32 Set default DISPLAY in package.json. 2020-02-01 15:02:47 +01:00
Michael Teeuw
e2d4a0fde8 Improve Feedback. 2020-02-01 14:52:52 +01:00
Michael Teeuw
65b1d61295 Improve feedback. 2020-02-01 14:43:43 +01:00
Michael Teeuw
1b38e73eb2 Fix install scripts. 2020-02-01 14:41:46 +01:00
Michael Teeuw
e2afee3275 Add feedback. 2020-02-01 14:39:50 +01:00
Michael Teeuw
7f2ecbd04f Cleanup. 2020-02-01 14:32:38 +01:00
Michael Teeuw
21dbaa1a03 Move DISPLAY default to electron script. 2020-02-01 13:59:13 +01:00
Michael Teeuw
09c1ea992c Update start methods. 2020-02-01 13:56:15 +01:00
karenorman
c8c327b6ab Add HTTPS support 2020-02-01 20:46:26 +08:00
Michael Teeuw
3bb801f579 Merge pull request #1914 from kblankenship1989/fix-iso-string
fix: add missing +1 for month
2020-02-01 04:57:12 +01:00
Kurtis Blankenship
ca49d8adb3 fix: correcting syntax 2020-01-31 20:46:43 -06:00
Kurtis Blankenship
88b15797a0 fix: add missing +1 for month 2020-01-31 20:35:46 -06:00
Michael Teeuw
28ebbd229c Merge pull request #1910 from sergge1/develop
added Ukrainian (uk) translation
2020-01-31 19:51:48 +01:00
sergge1
d7f6f46805 2.11.0 - added Ukrainian translation 2020-01-31 11:28:00 +02:00
sergge1
c41d6965ab added Ukrainian translation 2020-01-31 11:18:43 +02:00
sergge1
602119fa41 Ukrainian translation added 2020-01-31 11:17:11 +02:00
Michael Teeuw
4c2a9b47f5 Merge pull request #1906 from mmphego/develop
Grammar fixes on config.js.sample file
2020-01-26 16:46:48 +01:00
Michael Teeuw
5a26fefd6b Merge pull request #1903 from roramirez/not-log-error-vendor-test
Revert error logging introduced in 1e97b5c
2020-01-26 16:46:06 +01:00
Mpho Mphego
85d26f7320 Grammar fixes to config.
This PR does the following:

- [x] Corrects grammar on `config.js.sample`
2020-01-26 14:10:24 +02:00
Michael Teeuw
9487af1852 Merge pull request #1901 from kolbyjack/fix-97e5d92-regression
Fix regression causing 'undefined' to show up when config.hideTemp is…
2020-01-24 17:46:45 +01:00
Jon Kolb
a5b09d7846 Update CHANGELOG.md 2020-01-24 10:51:24 -05:00
Jon Kolb
6ba5056c96 Fix regression causing 'undefined' to show up when config.hideTemp is false 2020-01-24 10:42:45 -05:00
Michael Teeuw
50b4d05ef5 Merge pull request #1899 from MichMich/Skip-weather
Skip weather tests for now
2020-01-23 19:56:23 +01:00
Michael Teeuw
13ebe6d0e1 Check method 2020-01-23 19:52:07 +01:00
Michael Teeuw
95dedf0d80 Skip weather tests for now 2020-01-23 19:38:15 +01:00
Michael Teeuw
89a9368166 Merge pull request #1896 from sejka/patch-1
adds PRECIP polish translation
2020-01-23 19:29:43 +01:00
Michael Teeuw
c10e6159da Merge pull request #1895 from adi-miller/heb
Add Hebrew translation
2020-01-23 19:29:26 +01:00
Michael Teeuw
c30693b8a8 Merge pull request #1894 from roramirez/mode-permission-changelog
Revert permission mode for CHANGELOG
2020-01-23 19:28:59 +01:00
Michael Teeuw
7fc4f61182 Merge pull request #1892 from roramirez/upgrade-electron-6
Upgrade to Electron 6:
2020-01-23 19:28:37 +01:00
Karol Sejka
b44ab88927 adds PRECIP polish translation 2020-01-23 02:24:47 +01:00
adimi
2ca81f965a Add hebrew translation 2020-01-22 22:03:34 +02:00
Michael Teeuw
9f4dc1e382 Merge pull request #1887 from dtreskunov/dtreskunov/sun-and-moon
fix calculation of duration until next sunrise
2020-01-22 15:23:01 +01:00
Michael Teeuw
5ec9704e7f Merge pull request #1893 from roramirez/vendor-fix-test
Fix the vendor_spec test:
2020-01-22 15:22:29 +01:00
Denis Treskunov
7ad0cfd5f6 update CHANGELOG.md 2020-01-21 19:16:42 -08:00
Denis Treskunov
ac8f679dfd Merge remote-tracking branch 'upstream/develop' into dtreskunov/sun-and-moon 2020-01-21 19:13:51 -08:00
Rodrigo Ramírez Norambuena
a7ee2ef3a6 Upgrade to Electron 6:
New version of Electron has enable by default sandbox
http://www.atom.pe/docs/api/sandbox-option/

There was some issues to migrate a new version of Electron for
MagicMirror. Using the new version in Travis CI was failing at this
time. The problem is because the testing runner is a Docker enviroment

The issue experimented is the same topic mentioned here:
 - https://github.com/electron/electron/issues/17972
 - https://github.com/electron-userland/spectron/issues/443

The fix for to all of this is to set the `--no-sandbox` mode in CI
testing https://electronjs.org/docs/all#--no-sandbox

This change use the feature to set and disable Sandbox using
by enviroment variable `ELECTRON_DISABLE_SANDBOX=1`
https://github.com/electron/electron/pull/16576

This change has reference #1800
2020-01-20 22:19:10 +00:00
Rodrigo Ramírez Norambuena
6e7edd9824 Revert error logging introduced in 1e97b5c 2020-01-19 08:50:37 -03:00
Rodrigo Ramírez Norambuena
81b310086f Revert permission mode for CHANGELOG
This change revert change of permission mode for file CHANGELOG.md
introduced in commit a619fc4fef
2020-01-19 04:40:05 -03:00
Rodrigo Ramírez Norambuena
cce57c7229 Fix the vendor_spec test:
This change set after startApplication the configuration to run this
test.

The previous statement when e2e are running using --recursive the
MM_CONFIG_FILE was setting by the test running before this one.
2020-01-19 04:06:21 -03:00
Denis Treskunov
9cffa3dd67 fix calculation of duration until next sunrise 2020-01-18 17:02:40 -08:00
Michael Teeuw
7b3a59455d Merge pull request #1885 from dtreskunov/dtreskunov/sun-and-moon
add sun/moon rise/set times
2020-01-18 21:29:41 +01:00
Michael Teeuw
fefe5659d3 Merge branch 'develop' into dtreskunov/sun-and-moon 2020-01-18 21:20:35 +01:00
Michael Teeuw
db72e22e61 Fuck it. 2020-01-18 21:17:54 +01:00
Michael Teeuw
a85ed709af Remove newlines. 2020-01-18 21:09:18 +01:00
Michael Teeuw
e24d1a1261 Fix newlines? 2020-01-18 21:02:49 +01:00
Michael Teeuw
d6f1bf18de Merge pull request #1884 from kblankenship1989/fix-timeshift-calendar
fix: Issue #1798 - fixing recurrent calendar events crosstime DST
2020-01-18 19:59:24 +01:00
Michael Teeuw
97e5d923fa Merge pull request #1882 from adi-miller/hide_weather
Added the ability to hide the temp label and weather icon in the `cur…
2020-01-18 19:54:30 +01:00
Denis Treskunov
36762a6e46 add duration until next sunset/sunrise 2020-01-18 09:50:43 -08:00
Denis Treskunov
40a9f9dd85 fix stylelint:simple 2020-01-18 08:45:52 -08:00
Denis Treskunov
85a52523cf show sun/moon as bright rather than bold if obj is visible 2020-01-18 08:43:33 -08:00
Kurtis Blankenship
5ed7974099 Merge branch 'fix-timeshift-calendar' of github.com:kblankenship1989/MagicMirror into fix-timeshift-calendar 2020-01-18 06:38:13 -06:00
Kurtis Blankenship
70ca9ce2e0 fix: fixing lint error 2020-01-18 06:38:01 -06:00
kblankenship1989
af9f555e8f fix: fixing copy / paste error on futureLocal 2020-01-18 06:28:21 -06:00
Denis Treskunov
08b9e7b5b5 add sun/moon rise/set times
Icons become bold when the object is above the horizon. Also shows
percent of moon illumination.
2020-01-17 22:28:24 -08:00
Kurtis Blankenship
84f74c53b5 perf: fix wording on changelog 2020-01-17 23:08:34 -06:00
Kurtis Blankenship
762bae907c perf: updating changelog 2020-01-17 23:04:51 -06:00
Kurtis Blankenship
2b738fa14b Merge branch 'develop' of github.com:MichMich/MagicMirror into fix-timeshift-calendar 2020-01-17 22:54:59 -06:00
Kurtis Blankenship
8aa745471b fix: Issue #1798 - fixing recurrent calendar events crosstime DST 2020-01-17 22:53:14 -06:00
Adi Miller
63950f572a Adding trailing enter to avoid build warning. 2020-01-16 16:47:49 +02:00
Adi Miller
81aab7e86f Added the ability to hide the temp label and weather icon in the currentweather module to allow showing only information such as wind and sunset/rise. 2020-01-16 16:26:20 +02:00
Michael Teeuw
1fd5fd4832 Update ISSUE_TEMPLATE.md 2020-01-14 09:20:50 +01:00
Michael Teeuw
ceaf478a84 Merge pull request #1875 from bastilimbach/master
Add different GitHub repos to issue template
2020-01-13 12:29:52 +01:00
Sebastian Limbach
61256f98ca Fix typo 2020-01-13 09:40:38 +01:00
Sebastian Limbach
818ed5d189 Add different GitHub repos
This commit adds the official docker image repo as well as the installation scripts repo to the issue template to avoid the creation of issue which don't belong to the MagicMirror core.
2020-01-12 20:15:04 +01:00
Michael Teeuw
0ca00e5059 Merge pull request #1874 from sdetweil/develop
cleanup installers folder
2020-01-12 17:44:50 +01:00
Sam Detweiler
a2c743167d cleanup installers foldr 2020-01-12 10:19:37 -06:00
Sam Detweiler
786641662c cleanup installers folder 2020-01-12 10:16:59 -06:00
sam detweiler
8380896deb Merge pull request #42 from MichMich/develop
synch with fork source
2020-01-12 10:14:44 -06:00
Michael Teeuw
1152689f34 Remove docs and link to docs.magicmirror.builders. 2020-01-12 13:01:56 +01:00
Michael Teeuw
d2afdc82f1 Merge branch 'master' into develop. 2020-01-10 22:27:44 +01:00
Michael Teeuw
5bf90ae31d Merge pull request #1872 from MichMich/2.10.1-docs
2.10.1 docs
2020-01-10 22:23:18 +01:00
Michael Teeuw
b533e3d3e1 Add install link. 2020-01-10 22:16:19 +01:00
Michael Teeuw
4d9df309c8 Use https. 2020-01-10 22:14:13 +01:00
Michael Teeuw
65126365a6 Add links to documentation site. 2020-01-10 22:11:10 +01:00
Michael Teeuw
0afe403057 Merge pull request #1861 from khassel/develop
fix run-start.sh: if running in docker-container, just start electron…
2020-01-08 16:25:57 +01:00
Michael Teeuw
d500353722 Merge pull request #1871 from shahrukh-alizai/patch-1
Remove the extra two "of" words from Manifesto content.
2020-01-08 16:24:29 +01:00
Shahrukh Khan
eea8b4dfbf Update README.md
Remove extra two "of" words
2020-01-08 18:10:36 +05:00
Karsten Hassel
20a9150ea3 fix run-start.sh: if running in docker-container, just start electron, see #1859 2020-01-03 19:17:50 +01:00
sam detweiler
c51e613568 Merge pull request #34 from MichMich/develop
sync Develop
2020-01-02 09:31:24 -06:00
Michael Teeuw
69a887fb05 Merge pull request #1851 from ZakarFin/fi-translations
Add missing translations for fi
2020-01-02 16:16:00 +01:00
Michael Teeuw
01c1d150c6 Merge branch 'develop' into fi-translations 2020-01-02 16:15:47 +01:00
Michael Teeuw
c51c09348e Merge pull request #1857 from HeikoGr/master
force declaration of public ip adress in config file (ISSUE #1852)
2020-01-02 16:14:14 +01:00
Michael Teeuw
0a4df191a7 Merge branch 'develop' into master 2020-01-02 16:13:30 +01:00
HeikoGr
760995773e Update CHANGELOG.md 2020-01-02 16:04:38 +01:00
HeikoGr
94ff8a9b04 force declaration of public ip adress in config file (ISSUE #1852) 2020-01-02 14:15:24 +00:00
Sami Mäkinen
10d5529f79 Add missing translations for fi 2020-01-02 00:04:59 +02:00
Michael Teeuw
2b511b67c3 Prepare for 2.11.0 2020-01-01 22:21:55 +01:00
Michael Teeuw
b595cdd31e Merge pull request #1850 from MichMich/develop
Version 2.10.0
2020-01-01 22:06:34 +01:00
Michael Teeuw
e64870ca58 Prepare 2.10.0 release. 2020-01-01 21:50:02 +01:00
Michael Teeuw
a40f8d5b3a Merge pull request #1848 from oemel09/fix-calendar-full-multiple-day-events
Display still ongoing multiple day events as happening today
2020-01-01 21:47:54 +01:00
Michael Teeuw
61b8871ead Update package lock. 2020-01-01 21:23:25 +01:00
Michael Teeuw
4b5a3ed44d Downgrade Electron to check Travis. 2020-01-01 21:12:31 +01:00
Michael Teeuw
7d6b7b2691 Reverse tests for debugging. 2020-01-01 21:01:17 +01:00
Michael Teeuw
3dba46b74f Downgrade test utils. 2020-01-01 20:26:16 +01:00
Michael Teeuw
2767e31a28 Downgrade Spectron 2020-01-01 20:18:48 +01:00
Michael Teeuw
40886bcf08 Remove Snyk 2020-01-01 19:48:10 +01:00
Michael Teeuw
04dde74572 Move and alias node_module. 2020-01-01 19:17:23 +01:00
Michael Teeuw
29f3ac065f Re-enable weather tests. 2020-01-01 19:03:32 +01:00
Michael Teeuw
d2b30b4f9c Merge pull request #1849 from roramirez/fix-ci
Fix CI
2020-01-01 18:59:34 +01:00
Rodrigo Ramírez Norambuena
3a42663dea Update changelog for revert commit 2019-12-31 19:40:59 +00:00
Rodrigo Ramírez Norambuena
905d0ca409 Update package-lock* 2019-12-31 19:33:21 +00:00
Rodrigo Ramírez Norambuena
7e2c78666e Revert "stop helper class being erased"
This reverts commit 2fbedca746.
2019-12-31 19:31:13 +00:00
oemel09
6a5f0225fe Display still ongoing multiple day events as happening today 2019-12-31 13:59:58 +01:00
Michael Teeuw
ddb01fca31 Merge pull request #1847 from oemel09/fix-full-day-events
Fixes some events not being recognized as full day events
2019-12-31 13:20:18 +01:00
oemel09
684a3cd49e Fixes some events not being recognized as full day events 2019-12-31 12:37:29 +01:00
Michael Teeuw
ad5e42115b Merge pull request #1846 from oemel09/fix-calendar-debug
Fixes authentication in calendar debug script
2019-12-31 11:31:09 +01:00
oemel09
2d6b8d0c47 Fixes authentication in calendar debug script 2019-12-31 11:27:15 +01:00
Michael Teeuw
61471e5449 Merge pull request #1844 from RGMTAMU/minorREADMEFix
Very minor README spelling error fix
2019-12-30 14:34:15 +01:00
Shiva
b6f7ab7a9c Very minor README spelling error fix 2019-12-29 16:38:47 -06:00
Michael Teeuw
2d061be98e Fix corrupted file. 2019-12-29 15:12:50 +01:00
Michael Teeuw
d6e97b8c76 Cleanup. 2019-12-29 14:52:26 +01:00
Michael Teeuw
9e44660746 Merge pull request #1841 from MichMich/skip-weather-tests
Skip weather tests.
2019-12-29 14:37:31 +01:00
Michael Teeuw
03e6ca58ab Link to issue. 2019-12-29 14:34:07 +01:00
sam detweiler
e884cc1f75 Merge pull request #32 from MichMich/develop
sync Develop
2019-12-29 07:33:57 -06:00
Michael Teeuw
94c63b0554 Skipping weather tests for now. 2019-12-29 14:30:12 +01:00
Michael Teeuw
c7c8c40a70 disable test 2019-12-29 13:56:53 +01:00
Michael Teeuw
91c726c706 Merge branch 'pr/SpencerCornish/1834' into develop 2019-12-29 13:51:18 +01:00
Michael Teeuw
c9805e7ac9 Updated package.lock files. 2019-12-29 13:47:05 +01:00
Michael Teeuw
a4db0e40e3 Merge pull request #1815 from sdetweil/newservermode
fix regression and add support for commented lines in config.js
2019-12-29 00:01:23 +01:00
Michael Teeuw
305b55cb2a Merge pull request #1814 from sdetweil/newscripts
updates for libc6++ on pi 0, node 10
2019-12-29 00:00:03 +01:00
Sam Detweiler
272ca1ac4f synch package-lock.json for testing 2019-12-28 15:46:10 -06:00
Sam Detweiler
bbc6a1b38f synch package-lock for testing 2019-12-28 15:39:57 -06:00
sam detweiler
525c235d3b Merge pull request #31 from MichMich/develop
synch to Develop
2019-12-28 15:01:54 -06:00
Michael Teeuw
0e93713464 Merge pull request #1826 from sdetweil/fixcompliments
Fix compliments to support \n
2019-12-28 22:01:16 +01:00
sam detweiler
8f60e103f9 Merge branch 'develop' into fixcompliments 2019-12-28 14:58:01 -06:00
Michael Teeuw
9cc702241d Merge pull request #1827 from sdetweil/fix_helper
Fix helper being erased accidentally
2019-12-28 21:44:10 +01:00
sam detweiler
0d61c44232 Merge branch 'develop' into newscripts 2019-12-28 14:42:06 -06:00
sam detweiler
9a8faac316 Merge branch 'develop' into fix_helper 2019-12-28 14:36:49 -06:00
Michael Teeuw
05f710cb5c Merge pull request #1838 from tbouron/fix/module-header
Module header updates correctly, if a module need to dynamically show/hide its header based on a condition
2019-12-28 19:41:42 +01:00
Michael Teeuw
c6184769e7 Merge pull request #1836 from akraus53/patch-2
Added a padding between days in dateheader mode
2019-12-28 19:41:15 +01:00
Michael Teeuw
515d1bd920 Merge branch 'develop' into fixcompliments 2019-12-28 19:38:18 +01:00
Michael Teeuw
b19cb17bba Merge branch 'develop' into newservermode 2019-12-28 19:37:41 +01:00
Michael Teeuw
c1e808bce6 Merge pull request #1806 from sdetweil/newElectron
New electron version
2019-12-28 19:35:57 +01:00
Thomas Bouron
d8b7292d4b Fix module header update if using customising from module.getHeaders() 2019-12-26 14:07:13 +00:00
Sam Detweiler
edd5e2f5bc move lxsession screensaver checking to last, some systems still have the folder but don't use it 2019-12-24 06:55:12 -06:00
Alexander Kraus
efc6cb73b2 Added my contribution to the changelog 2019-12-20 15:22:14 +01:00
Alexander Kraus
ecd79dc34b Added a padding between days in dateheader mode 2019-12-20 15:20:12 +01:00
Spencer Cornish
cdfc8b825d Changelog 2019-12-19 21:11:57 -07:00
Spencer Cornish
301344c96d Update unsecure dependencies 2019-12-19 21:02:39 -07:00
sam detweiler
5279995c3b Merge branch 'develop' into newservermode 2019-12-13 08:03:06 -06:00
Sam Detweiler
5176b06b59 add check for root user and abort 2019-12-13 08:01:32 -06:00
Sam Detweiler
ed61ac624d http default if no address is 0.0.0.0, not localhost, hard code localhost as per readme 2019-12-10 12:15:30 -06:00
Sam Detweiler
4da6e3ecee add test for error on 200 rc test path 2019-12-10 11:29:26 -06:00
Sam Detweiler
9e5561936a Merge branch 'newElectron' of https://github.com/sdetweil/MagicMirror into newElectron 2019-12-10 10:54:18 -06:00
Sam Detweiler
843cd0eff6 change spectron version to match doc, update locak file 2019-12-10 10:53:41 -06:00
sam detweiler
6b6ee934a1 Merge branch 'develop' into newElectron 2019-12-10 08:31:50 -06:00
Sam Detweiler
aea57ffaf4 add new run_start.sh script 2019-12-10 08:29:18 -06:00
Sam Detweiler
87b48661fa remove forced npm install 2019-12-09 16:41:56 -06:00
Sam Detweiler
556fa44858 move travis to node 10 , latest npm 2019-12-09 16:26:49 -06:00
Sam Detweiler
1c3e196508 move travis to node 10 and latest npm 2019-12-09 16:24:16 -06:00
Sam Detweiler
9b6812ad0c add package-lock file 2019-12-09 11:15:50 -06:00
Sam Detweiler
b7944c7fa4 add changelog 2019-12-09 10:36:21 -06:00
Sam Detweiler
2fbedca746 stop helper class being erased 2019-12-09 10:33:35 -06:00
Sam Detweiler
340d04a48c add changelog entry 2019-12-09 09:52:15 -06:00
Sam Detweiler
460a383ffc add changelog 2019-12-09 09:46:45 -06:00
Sam Detweiler
52c4e3a256 add changelog update 2019-12-09 09:43:32 -06:00
sam detweiler
4338f11eb1 Merge branch 'develop' into newscripts 2019-12-09 09:40:06 -06:00
Sam Detweiler
42bab052e0 fix comment 2019-12-08 10:07:55 -06:00
Sam Detweiler
0cb377618e add support for sequential compliments usage 2019-12-08 09:28:50 -06:00
Sam Detweiler
5e4d25b957 add support for newline (\n) in compliment text 2019-12-08 08:50:00 -06:00
Sam Detweiler
153d1853fa add apt get upgrade to actually upgrade files, as OS repos are lagging 2019-12-08 08:46:41 -06:00
Sam Detweiler
22a3448461 latest fixes for install and pm2 2019-12-08 08:40:01 -06:00
Sam Detweiler
2cad869680 latest fixes for install and pm2 2019-12-08 08:35:50 -06:00
Your Name
bc912a8ea4 Merge branch 'newscripts' of https://github.com/sdetweil/MagicMirror into newscripts 2019-11-27 08:38:12 -06:00
Your Name
db9176c284 fix pm2 install needing sudo 2019-11-27 08:37:51 -06:00
Sam Detweiler
06308210c0 add support for secured apt-get repositories 2019-11-23 06:57:10 -06:00
Sam Detweiler
63d9904370 regression checking for macOS 2019-11-22 06:30:46 -06:00
Sam Detweiler
caaeff5cb7 add support for commented lines in config.js 2019-11-22 06:22:21 -06:00
Sam Detweiler
d8c93d3455 Merge branch 'newscripts' of https://github.com/sdetweil/MagicMirror into newscripts 2019-11-22 06:18:31 -06:00
Sam Detweiler
cb28e5fddc watch out for commented lines in config 2019-11-22 06:18:04 -06:00
Sam Detweiler
7d7ec1a00b updates for libc6++ on pi 0, node 10 2019-11-21 22:32:48 -06:00
Sam Detweiler
a5bc8dfa3f add package.json to update 2019-11-19 19:50:46 -06:00
sam detweiler
d74f055180 Merge pull request #28 from MichMich/develop
sync changes
2019-11-19 17:15:00 -08:00
Michael Teeuw
73be6c35a6 Merge pull request #1808 from FritzJay/develop
Use config.decimalSymbol when displaying the predicted amount of rain in weatherforecast
2019-11-13 08:01:42 +01:00
Fritz Jay
24f74e1400 Fixed spelling error. 2019-11-12 19:30:42 -08:00
Fritz Jay
8900e069f3 Updated changelog 2019-11-12 19:26:38 -08:00
Fritz Jay
1dfec119bb Fixed bug that was causing predicted amount of rain value to use DOT as a decimal separator regardless of the decimalSymbol config value. 2019-11-12 18:16:55 -08:00
Sam Detweiler
9e23d35f01 update elecgtron version 2019-11-08 13:20:39 -08:00
Sam Detweiler
cd2b240308 upgrade electron 2019-11-08 11:43:17 -08:00
Michael Teeuw
749f366a4a Merge pull request #1796 from sdetweil/fix-untrack
Fix untrack-css on MacOS
2019-10-27 15:27:29 +01:00
Sam Detweiler
420aaa92fa fix for MacOS 2019-10-27 09:14:55 -05:00
Sam Detweiler
985698bbc3 fix for no 'Xorg' process on MacOS 2019-10-27 09:13:44 -05:00
Michael Teeuw
f9c9139f20 Merge pull request #1790 from sdetweil/patch-1
left electron left in dependencies section vs pr 1788
2019-10-25 16:38:35 +02:00
Michael Teeuw
f308e7541f Merge pull request #1791 from sdetweil/newscripts
New scripts cleanuo
2019-10-25 16:09:14 +02:00
Sam Detweiler
cb7ccd7854 update readme and upgrade script to work from website, fix tabs in config sample 2019-10-25 08:46:41 -05:00
Sam Detweiler
a4953028d0 remove electron from dependencies section 2019-10-25 08:13:25 -05:00
sam detweiler
3d6485588d pr merge order left electron in dependencies section 2019-10-25 07:37:21 -05:00
Michael Teeuw
51bb9fede7 Merge pull request #1789 from sdetweil/newscripts
New scripts for install, update and pm2 config
2019-10-25 14:26:13 +02:00
Michael Teeuw
269c429959 Merge branch 'develop' into newscripts 2019-10-25 14:25:57 +02:00
Michael Teeuw
fcdc84a12a Merge pull request #1788 from sdetweil/newservermode
New servermode
2019-10-25 14:24:05 +02:00
Michael Teeuw
ecdd9734eb Merge branch 'develop' into newservermode 2019-10-25 14:23:50 +02:00
Michael Teeuw
84fc2c65af Merge pull request #1784 from MichMich/dependabot/npm_and_yarn/nwmatcher-1.4.4
Bump nwmatcher from 1.4.3 to 1.4.4
2019-10-25 14:21:31 +02:00
Sam Detweiler
c8849a17b6 add detection of xwindows running 2019-10-25 06:22:10 -05:00
Sam Detweiler
d8b49218e9 Merge branch 'newscripts' of https://github.com/sdetweil/MagicMirror into newscripts 2019-10-24 22:14:19 -05:00
Sam Detweiler
e95023e8cc remove forced arch parm for armv6 to armv7, doesn't work 2019-10-24 22:13:46 -05:00
sam detweiler
878710e2cf Add text for new upgrade script 2019-10-24 14:21:38 -05:00
Sam Detweiler
0677d0a810 add changelog info 2019-10-24 09:36:15 -05:00
Sam Detweiler
9c98fea8f4 add new upgrade/pm2 scripts, update installer script 2019-10-24 09:33:34 -05:00
Sam Detweiler
e958f33450 add support for armv6l using serveronlymode, make serveronly config option, electron install optional 2019-10-24 09:20:33 -05:00
sam detweiler
937080b011 Merge pull request #19 from MichMich/master
catch up to 2.9
2019-10-24 07:06:53 -05:00
Michael Teeuw
aee5803dd2 Merge pull request #1773 from qistoph/timestamp_log
Timestamp log
2019-10-23 13:07:06 +02:00
Chris van Marle
f1f394b871 Add merge to package-lock to fix Travis fail 2019-10-23 10:44:30 +00:00
Chris van Marle
81a32b56f0 Fix TravisCI error 2019-10-23 10:16:01 +00:00
Chris van Marle
a6aae70a55 Add UTC timestamp to console log 2019-10-23 10:16:01 +00:00
dependabot[bot]
823eb23773 Bump nwmatcher from 1.4.3 to 1.4.4
Bumps [nwmatcher](https://github.com/dperini/nwmatcher) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/dperini/nwmatcher/releases)
- [Commits](https://github.com/dperini/nwmatcher/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-22 17:12:07 +00:00
Michael Teeuw
1ff51822df Prepare 2.10.0-develop 2019-10-01 19:47:40 +02:00
Michael Teeuw
500147e130 Merge pull request #1776 from MichMich/develop
v2.9.0
2019-10-01 19:45:34 +02:00
Michael Teeuw
d90de18d99 Prepare 2.9.0 2019-10-01 19:36:51 +02:00
Michael Teeuw
ba4f48662f Merge pull request #1770 from buxxi/develop
Changes to the clock module regarding the notifications sent.
2019-10-01 18:14:41 +02:00
buxxi
d208437c05 Changes to the clock module regarding the notifications sent. Disable sending of CLOCK_SECOND when displaySeconds not set. Avoid drifting by calculating the interval each time and use setTimeout instead of setInterval. Make sure the values sent with CLOCK_SECOND and CLOCK_MINUTE has the correct values instead of starting at 00:00 on startup 2019-09-22 17:33:01 +02:00
Michael Teeuw
01faa2e1d7 Merge pull request #1768 from fewieden/feature/automated-forecast-tests
Automated weather forecast tests
2019-09-13 18:57:26 +02:00
Felix Wiedenbach
c630c387d6 it should render colored rows 2019-09-13 17:06:58 +02:00
Felix Wiedenbach
a774718607 it should render custom table class 2019-09-13 16:21:12 +02:00
Felix Wiedenbach
9430c70d0d it should render fading rows in weather forecast 2019-09-13 15:44:38 +02:00
Felix Wiedenbach
f3e893fddb it should render min and max temperatures 2019-09-13 15:08:44 +02:00
Felix Wiedenbach
11e144ca64 it should render days and icons in weather forecast 2019-09-13 14:58:04 +02:00
Felix Wiedenbach
fbceab707e draft for default weather forecast test cases 2019-09-13 13:54:55 +02:00
Felix Wiedenbach
5b2efc43b9 default weather forecast test config 2019-09-13 13:54:17 +02:00
Felix Wiedenbach
8d85d1aa2d move mocks to separate directory for better overview 2019-09-13 13:53:15 +02:00
Michael Teeuw
b469fc7577 Merge pull request #1755 from buxxi/develop
Fixing weatherforecast module not displaying rain amount if using fal…
2019-09-11 16:51:04 +02:00
Michael Teeuw
9db54831c8 Merge pull request #1766 from fewieden/feature/automated-weather-tests
Automated tests for new weather module
2019-09-11 16:45:28 +02:00
Michael Teeuw
9b88bde09a Merge pull request #1767 from roramirez/prevent-error-404-test-vendor
Prevent error CI build for 404 Test vendors
2019-09-11 16:44:24 +02:00
Felix Wiedenbach
aad03a74c5 fix test path and eslint 2019-09-11 15:58:51 +02:00
fewieden
55eb6e2e5c Add changelog entry 2019-09-11 13:51:19 +02:00
fewieden
ca07355873 adjust tests to new translations 2019-09-11 13:30:54 +02:00
fewieden
11a59e26b2 update package locks 2019-09-11 13:13:08 +02:00
fewieden
ec6d9e3521 Merge branch 'develop' into feature/automated-weather-tests
# Conflicts:
#	modules/default/weather/weather.js
#	package-lock.json
#	package.json
2019-09-11 13:07:31 +02:00
fewieden
230accd31e fix current weather tests 2019-09-11 12:59:55 +02:00
fewieden
a24a4a747e current weather tests 2019-09-11 12:27:06 +02:00
Rodrigo Ramírez Norambuena
1e97b5c27a Prevent error CI build for 404 Test vendors 2019-09-10 18:24:45 -03:00
buxxi
a314ea1aa3 Fixing weatherforecast module not displaying rain amount if using fallback endpoint 2019-08-18 12:44:28 +02:00
Michael Teeuw
a77128d5f7 Merge pull request #1752 from roramirez/mode-en.json-translation
Revert change mode file en.json for translations
2019-08-16 13:18:01 +02:00
Michael Teeuw
1b2673367e Merge pull request #1753 from roramirez/tests-404-vendors
Tests 404 vendors
2019-08-16 13:17:46 +02:00
Rodrigo Ramírez Norambuena
ce10e91a60 Merge remote-tracking branch 'origin/develop' into tests-404-vendors 2019-08-09 01:47:35 -04:00
Rodrigo Ramírez Norambuena
5244b37d2c Revert change mode file en.json for translations
This change it done in commit c80e04fe8d
and this patch revert to old status for this file.
2019-08-09 01:29:01 -04:00
Michael Teeuw
1239c6716b Merge pull request #1749 from putera/develop
Adding a Malay translations
2019-08-06 07:48:03 +02:00
Zulkifli Mohamed
67f6258ab0 Adding a Malay translations 2019-08-06 08:39:57 +08:00
Zulkifli Mohamed
9f63172b43 Adding a Malay translations 2019-08-06 08:36:39 +08:00
Michael Teeuw
bd8bfeb525 Merge pull request #1745 from roramirez/update-year-license
Update year Copyright License
2019-08-03 18:47:28 +02:00
Michael Teeuw
4918c4ef4b Merge pull request #1744 from roramirez/custom-css-step-1
Skip from worktree the css/custom.css:
2019-08-03 18:47:04 +02:00
Michael Teeuw
00d9ea9344 Merge pull request #1743 from roramirez/lint
linter fixes
2019-08-03 18:45:58 +02:00
Michael Teeuw
33537cde76 Merge pull request #1742 from roramirez/es-update
Add PRECIP for the Spanish translation
2019-08-03 18:45:27 +02:00
Michael Teeuw
3d5db5c9ca Merge pull request #1741 from roramirez/remove-comment-bash-lines
installer: Remove comment lines added in PR #1715
2019-08-03 18:44:58 +02:00
Michael Teeuw
fdf339514d Merge pull request #1748 from roramirez/fix-build
Fix Build Failed in Travis CI:
2019-08-03 18:32:01 +02:00
Rodrigo Ramírez Norambuena
937c4e485a Merge remote-tracking branch 'origin/develop' into remove-comment-bash-lines 2019-08-02 00:48:44 -04:00
Rodrigo Ramírez Norambuena
837c060e1f Merge remote-tracking branch 'origin/develop' into custom-css-step-1 2019-08-02 00:47:24 -04:00
Rodrigo Ramírez Norambuena
00bacd7dde Merge remote-tracking branch 'origin/develop' into es-update 2019-08-02 00:46:54 -04:00
Rodrigo Ramírez Norambuena
781031775e Merge remote-tracking branch 'origin/develop' into lint 2019-08-02 00:46:32 -04:00
Rodrigo Ramírez Norambuena
97aee3d375 Merge remote-tracking branch 'origin/develop' into update-year-license 2019-08-02 00:46:06 -04:00
Rodrigo Ramírez Norambuena
34698751f2 Fix Build Failed in Travis CI:
This commit set trusty as image to use and revert this commit changes

Add xvfb as service: 3c31460f2f
Remove failing script: d5cb60b19c
2019-08-02 00:31:43 -04:00
Michael Teeuw
3c31460f2f Add xvfb as service. 2019-07-31 09:53:46 +02:00
Michael Teeuw
d5cb60b19c Remove failing script. 2019-07-31 09:49:22 +02:00
Rodrigo Ramírez Norambuena
3a7cfe3208 Enable Test e2e/vendor_spec.js 2019-07-26 02:21:56 -04:00
Rodrigo Ramírez Norambuena
f079cdad64 Merge remote-tracking branch 'origin/develop' into tests-404-vendors 2019-07-26 02:19:10 -04:00
Rodrigo Ramírez Norambuena
2822303138 Skip from worktree the css/custom.css:
On the next release the css/custom.css will rename to
css/custom.css.sample

This change run git instructions to detach the file from own local
repository. This instructions are called in untrack-css.sh file from
run-start.sh and npm postinstall step

Reference #1540
2019-07-26 02:12:10 -04:00
Rodrigo Ramírez Norambuena
e38de75520 Update year Copyright License 2019-07-26 02:04:38 -04:00
Rodrigo Ramírez Norambuena
2723604d3e installer: Remove comment lines added in PR #1715 2019-07-26 01:25:54 -04:00
Rodrigo Ramírez Norambuena
82ee051c1a linter fixes 2019-07-26 01:25:26 -04:00
Rodrigo Ramírez Norambuena
7bdf49b7e0 Add PRECIP for the Spanish translation 2019-07-26 01:24:59 -04:00
Michael Teeuw
32521aba6b Merge pull request #1724 from vincep5/develop
Fix for weather module not refreshing data after exception
2019-07-11 20:04:30 +02:00
vincep5
819c4cde1c Fix for weather module not refreshing data after exception 2019-07-11 12:49:24 -05:00
Michael Teeuw
776c486b1a Merge pull request #1720 from nischi/master
Fixing send notification in newsfeed module
2019-07-09 10:43:09 +02:00
Michael Teeuw
bcd97120a4 Merge branch 'develop' into master 2019-07-09 10:33:29 +02:00
Thierry Nischelwitzer
312bfb8509 add changes to changelog 2019-07-09 10:24:43 +02:00
Thierry Nischelwitzer
11c9a50931 send NEWS_FEED notification also for the first newsmessage which are shown 2019-07-09 10:20:02 +02:00
Thierry Nischelwitzer
94c0656bcd update to 2.8 2019-07-02 19:38:17 +02:00
Michael Teeuw
13313d0b25 Fix changelog. 2019-07-01 20:27:37 +02:00
Michael Teeuw
3a20db1d76 Merge pull request #1716 from sdetweil/newupdater
fix updatenotification module to not crash
2019-07-01 20:25:59 +02:00
Michael Teeuw
00148b4cc8 Prepare 2.9.0-develop 2019-07-01 20:22:52 +02:00
Michael Teeuw
a31546b1ff Merge pull request #1717 from MichMich/develop
Release 2.8.0
2019-07-01 20:11:40 +02:00
Michael Teeuw
361b62b8e2 Add update info. 2019-07-01 20:05:28 +02:00
sam detweiler
37327b77a7 Merge branch 'develop' into newupdater 2019-07-01 12:56:01 -05:00
Sam Detweiler
7ef8a5bb11 fix conflict with develop branch 2019-07-01 12:45:40 -05:00
Sam Detweiler
11cfb8af32 Merge branch 'newupdater' of https://github.com/sdetweil/MagicMirror into newupdater
pull update
2019-07-01 12:36:52 -05:00
Sam Detweiler
7315f7d283 fix conflict with master repo develop branch 2019-07-01 12:35:47 -05:00
Michael Teeuw
7d58eb718e Prepare release 2.8.0 2019-07-01 19:06:26 +02:00
Michael Teeuw
651be76776 Merge pull request #1715 from sdetweil/newinstaller
update installer to handle non-pi and other issues
2019-07-01 18:36:08 +02:00
sam detweiler
4a5c6f1d39 Update CHANGELOG.md
add info on updatenotification module improvements
2019-06-30 07:18:45 -05:00
sam detweiler
5745d71d6a Update CHANGELOG.md
add info on installer changes
2019-06-30 06:57:41 -05:00
Sam Detweiler
db62b7421a update installer for npm missing, non-PI platforms, mac option on pm2 install 2019-06-29 16:02:44 -05:00
Sam Detweiler
4084c57789 fix updatenotification to not crash 2019-06-29 15:59:03 -05:00
Michael Teeuw
f90bec985a Fix merge issue. 2019-06-27 09:29:01 +02:00
Michael Teeuw
90f911c529 Fix Merge Issue 2019-06-27 09:27:24 +02:00
Michael Teeuw
6c88b106db Merge pull request #1713 from alltopafi/weather-module-location-header
allow location property in config,js to be used as header
2019-06-27 09:24:28 +02:00
Michael Teeuw
cef69d1b97 Merge pull request #1711 from NiekertDev/patch-1
Fix missing '#' (pound) in link
2019-06-27 09:23:10 +02:00
Jesse Alltop
f76a7fb331 allow location property in config,js to be used as header 2019-06-26 19:31:16 -05:00
Niekert
3e7b8b0663 Fix missing '#' (pound) in link 2019-06-24 17:41:51 +02:00
Josef Spitzlberger
a6eb3ad037 added three more class names to 'newsfeed.js'
added to 'newsfeed.js' in order to design the news article better with css, three more class-names were introduced: newsfeed-desc, newsfeed-desc, newsfeed-desc
2019-06-21 13:08:36 +02:00
Josef Spitzlberger
9468749384 added three class names
in order to design the news article better with css, three more class-names were introduced: newsfeed-desc, newsfeed-desc, newsfeed-desc
2019-06-21 13:05:40 +02:00
Michael Teeuw
37417fa1bb Merge pull request #1706 from vincep5/develop
Adding sunrise/sunset to weathergov
2019-06-18 14:06:52 +02:00
vincep5
217146351e changelog notes 2019-06-17 10:25:33 -05:00
vincep5
818ec33cef Adding sunrise/sunset to weathergov 2019-06-17 10:20:49 -05:00
Michael Teeuw
cd1671830a Merge pull request #1704 from Hg347/develop
Develop
2019-06-15 13:27:21 +02:00
Christoph Hagedorn
a5fca87dd0 updated info: fixed race condition on module update 2019-06-15 11:49:57 +02:00
Christoph Hagedorn
f06ce55626 Merge remote-tracking branch 'upstream/develop' into develop 2019-06-15 11:33:44 +02:00
Christoph Hagedorn
853085e755 added null check for moduleWrapper
(fixes race condition if element is updated)
2019-06-15 11:32:03 +02:00
Michael Teeuw
2b7accaf68 Merge pull request #1703 from rejas/fix_eslint_errors_automatically
Fix tests
2019-06-14 14:39:12 +02:00
Veeck
5533d93172 Update changelog 2019-06-14 14:06:36 +02:00
Veeck
f0e8c865fe Fix markdown error 2019-06-14 14:03:58 +02:00
Veeck
36400c0a83 Fix some eslint errors from previous merges 2019-06-14 14:03:07 +02:00
Veeck
c5383557b5 Pass fix options to eslint 2019-06-14 14:02:48 +02:00
Michael Teeuw
b645007884 Updated the fetchedLocationName (See PR: #1702) 2019-06-14 13:42:59 +02:00
Michael Teeuw
63ac137206 Merge branch 'mattdb-calendar-rrule' into develop 2019-06-14 13:32:20 +02:00
Michael Teeuw
808cbf8e0b Fix Typecheck. 2019-06-14 13:32:07 +02:00
Michael Teeuw
8ed77ba0c7 Merge 2019-06-14 13:31:59 +02:00
Michael Teeuw
66c74c51e4 Merge branch 'rejas-cleanups' into develop 2019-06-14 13:19:43 +02:00
Michael Teeuw
7a272ef0ab Merge conflict. 2019-06-14 13:19:29 +02:00
Michael Teeuw
60b817ec8e Merge branch 'cybex-dev-develop' into develop 2019-06-14 13:05:36 +02:00
Michael Teeuw
a41ecaf7cc Merge 2019-06-14 13:05:22 +02:00
Matt Bauer
d41afa0e53 Calendar fetch error is still a loading result
Also log error on node side as well.
2019-06-13 15:52:49 -05:00
Matt Bauer
a6284e05e5 Update rrule and request dependencies for calendar’s vendored ical.js
rrule-alt has not been updated in some time, while the main rrule has. ical.js is using updated rrule. Getting rid of rrule-alt would affect some third-party modules, however, so we should keep it around for now at least.
2019-06-13 14:45:32 -05:00
Matt Bauer
e56f61441d Repeating event handling “robustified” 2019-06-13 13:44:54 -05:00
Matt Bauer
7b4b7dffa2 Update calendar’s vendored ical.js 2019-06-13 13:44:54 -05:00
Michael Teeuw
77a214ef9c Merge pull request #1695 from Jason-Cooke/patch-2
docs: fix typo
2019-06-13 20:16:15 +02:00
Michael Teeuw
cf2723aafb Merge pull request #1699 from Hg347/calendar-1696
fixed calendar, issue 1696, ics file start date is not date type
2019-06-13 20:15:53 +02:00
Christoph Hagedorn
499e99cfc5 fixed url 2019-06-13 18:11:41 +02:00
Michael Teeuw
a7b83e9fe3 Merge pull request #1637 from maloakes/master
Add Weather provider UK Met Office
2019-06-13 16:51:09 +02:00
Christoph Hagedorn
964504b9c3 curr.exdates[i] might not be a date, so toISOString() may fail too 2019-06-11 23:24:03 +02:00
Christoph Hagedorn
ec65e66c58 added fixed issue in changelog 2019-06-11 22:43:48 +02:00
Christoph Hagedorn
e694b080be curr.start is not always a date type (depends on ics file). A type check
has been added.
2019-06-09 17:46:48 +02:00
Malcolm Oakes
70894b3938 Corrected merge problem 2019-06-08 15:34:37 +01:00
Malcolm Oakes
fb7115fc13 Merge remote-tracking branch 'upstream/develop' 2019-06-07 16:44:42 +01:00
Malcolm Oakes
a619fc4fef Allow temp and wind units to be specified separately if required. 2019-06-07 15:27:08 +01:00
Jason Cooke
7c6c5fd06f docs: fix typo 2019-06-07 10:34:55 +12:00
Malcolm Oakes
2970568eab Merge branch 'master' of https://github.com/maloakes/MagicMirror
Merge latest from github
2019-06-06 10:59:47 +01:00
rejas
62cb3a610e Actually only test json files in jsonlint, rename stylelintrc for clarity 2019-06-05 20:33:53 +02:00
rejas
f600c163ca Fix intendation 2019-06-05 18:30:04 +02:00
rejas
77cb68e5ac Remove unnecessary entry 2019-06-05 18:29:51 +02:00
rejas
c6314576aa Fix duplicate json entry 2019-06-05 17:04:51 +02:00
rejas
515c183070 Fix a comparison that was an assignement 2019-06-05 17:01:54 +02:00
rejas
63b9c0e6b8 More dependency updates and cleanup of old ones 2019-06-05 16:54:32 +02:00
rejas
84893b1664 Upgrade markdown lint to latest 2019-06-05 10:26:20 +02:00
rejas
835668d96d Add eslint semi rule 2019-06-05 10:23:58 +02:00
rejas
2bce15dc6e Remove multiple-empty-lines 2019-06-05 10:03:28 +02:00
rejas
8f1a212b52 More typo fixes 2019-06-05 09:46:59 +02:00
rejas
5c08bde0fa More == -> === and != -> !== fixes 2019-06-05 09:32:10 +02:00
rejas
98a84c031e Better fix for translator comparison 2019-06-05 08:55:17 +02:00
rejas
ea1715384e Revert "Revert "Fix some == with ===""
This reverts commit d9a4ee4f65.
2019-06-05 08:48:22 +02:00
rejas
d9a4ee4f65 Revert "Fix some == with ==="
This reverts commit 5d39d85215.
2019-06-04 11:04:47 +02:00
rejas
62017c4661 Update changelog 2019-06-04 10:43:16 +02:00
rejas
702b98f510 Cleanup imports 2019-06-04 10:43:06 +02:00
rejas
69aafd7d6a Fix missing ; and == and some missing vars 2019-06-04 10:19:25 +02:00
rejas
c1559dd8c8 More spelling fixes 2019-06-04 10:15:50 +02:00
rejas
4df1895560 Fix badge for travis which moved to .com from .org 2019-06-04 10:14:37 +02:00
rejas
cac92da6e4 Remove unused dependency, move mocha-logger to dev 2019-06-04 10:13:58 +02:00
rejas
5d39d85215 Fix some == with === 2019-06-04 09:51:51 +02:00
rejas
99b4c43fd5 Fix typos and some whitespaces 2019-06-04 09:33:53 +02:00
Charles Dyason
b2f59d6813 Added clock notifications for elapsed time.
Added notifications to default `clock` module to broadcast:
 - `CLOCK_SECOND` for a clock second, and 
 - `CLOCK_MINUTE` for a clock minute having elapsed.

Each notification is broadcasted with the corresponding value i.e. `CLOCK_SECOND` -> `30` and `CLOCK_MINUTE` -> `5` .
2019-06-03 14:01:27 +02:00
Charles Dyason
c7d79bb893 Updated config.js.sample with new configuration entries
Added `broadcastNewsFeeds: true` and `broadcastNewsUpdates: true` to the `config.js.sample` file
2019-05-31 19:45:58 +02:00
Charles Dyason
aa80c468c4 Added broadcasting of news feeds with incremental updates
Added ability to enable broadcasting of news feed items with `NEWS_FEED` notification and broadcasting updated news feed items with `NEWS_FEED_UPDATE` to other modules. This is merged into the default `newsfeed` module.

One can set ability to broadcast the whole news feed or broadcast only updated news feed items.
2019-05-31 16:37:47 +02:00
Charles Dyason
6008cba2db Minor typo corrections 2019-05-31 16:17:09 +02:00
Michael Teeuw
caf56671dc Merge pull request #1682 from kolbyjack/update/optimize-clock-update
Only call updateDom in clock.js when the content has changed
2019-05-19 07:34:05 +02:00
Jon Kolb
44eccf5ee4 Only call updateDom in clock.js when the content has changed 2019-05-18 20:02:22 -04:00
Michael Teeuw
8f96e4847c Merge pull request #1674 from eouia/develop
allow html5 autoplay
2019-05-17 16:29:48 +02:00
Michael Teeuw
ae3e307f33 Merge pull request #1677 from mattdb/develop
Calendar: only slice multi-day events when they actually span midnight
2019-05-17 16:28:30 +02:00
Michael Teeuw
3fe0c758ed Merge pull request #1678 from vincep5/develop
Fix City List
2019-05-17 16:27:18 +02:00
vincep5
7240fb32d2 update city list url 2019-05-14 15:00:30 -05:00
vin p
e23a3461ba Merge pull request #6 from MichMich/develop
Develop
2019-05-14 14:45:48 -05:00
Matt Bauer
727eb0cfd7 Calendar: only slice multi-day events when they actually span midnight 2019-05-14 10:08:53 -05:00
Seongnoh Sean Yi
3796076360 change Squotes to Dquotes 2019-05-13 23:24:59 +02:00
Seongnoh Sean Yi
ef9576f8c4 Fixed:allowance HTML5 autoplay
From commit: 94fc4cb8a2
2019-05-13 21:26:28 +02:00
Seongnoh Sean Yi
94fc4cb8a2 allow html5 autoplay policy
From Chrome 66, autoplay policy is changed. This 1 line can help to play html5 audio and video without user-gesture-allowance in MagicMirror
2019-05-13 21:19:50 +02:00
Michael Teeuw
ccb248db91 Create stale.yml 2019-05-07 21:09:11 +02:00
Michael Teeuw
e7de447725 Merge pull request #1655 from spitzlbergerj/master
default module calendar - added config option nextDaysRelative
2019-05-07 20:49:43 +02:00
Michael Teeuw
7ff5429cb7 Remove newline. 2019-05-07 20:41:02 +02:00
Michael Teeuw
17c581b4aa Update changelog. 2019-05-07 20:35:29 +02:00
Josef Spitzlberger
41e5c2939f added config option nextDaysRelative
added configuration option nextDaysRelative to always display today's and tomorrow's appointments in relative mode, even if timeformat is set to absolute
2019-05-07 20:35:28 +02:00
Josef Spitzlberger
7e2ab51298 added Config Option nextDaysRelative
added configuration option nextDaysRelative to always display today's and tomorrow's appointments in relative mode, even if timeformat is set to absolute
2019-05-07 20:34:35 +02:00
Michael Teeuw
03f917fd9c Update changelog. 2019-05-07 20:31:41 +02:00
Josef Spitzlberger
d24e10a728 added config option nextDaysRelative
added configuration option nextDaysRelative to always display today's and tomorrow's appointments in relative mode, even if timeformat is set to absolute
2019-05-07 20:18:32 +02:00
Josef Spitzlberger
a17ac1c16e added Config Option nextDaysRelative
added configuration option nextDaysRelative to always display today's and tomorrow's appointments in relative mode, even if timeformat is set to absolute
2019-05-07 20:18:08 +02:00
Michael Teeuw
dd6b972be4 Merge pull request #1628 from kolbyjack/feature/calendar-past-events
Add includePastEvents global and calendar-specific settings
2019-05-07 20:12:37 +02:00
Michael Teeuw
7d0c9ba0d9 Merge pull request #1666 from kevbodavidson/patch-1
Update config.js.sample
2019-05-07 20:07:32 +02:00
Michael Teeuw
6fa211634f Merge branch 'develop' into patch-1 2019-05-07 20:07:17 +02:00
Michael Teeuw
1ca24c7f38 Merge branch 'patch-1' of https://github.com/kevbodavidson/magicmirror into pr/kevbodavidson/1666 2019-05-07 20:06:06 +02:00
Michael Teeuw
bcfbccae59 Update changelog. 2019-05-07 20:06:03 +02:00
kevbodavidson
20b75ce6ed Update config.js.sample 2019-05-07 20:04:55 +02:00
Michael Teeuw
2ea15d7bf5 Merge pull request #1660 from magic21nrw/master
Update ical.js #1631
2019-05-07 19:53:04 +02:00
Michael Teeuw
18e14c597f Merge branch 'master' of https://github.com/magic21nrw/magicmirror-1 into pr/magic21nrw/1660 2019-05-07 19:46:26 +02:00
Michael Teeuw
06d75999d7 Update changelog. 2019-05-07 19:46:23 +02:00
magic21nrw
7047a7cae6 Update ical.js
Fixed Bug with more than one calendar.
2019-05-07 19:45:28 +02:00
Michael Teeuw
20d2124867 Merge pull request #1661 from vincep5/develop
Update Feels to Feels like
2019-05-07 19:41:01 +02:00
kevbodavidson
3c7a85361e Update config.js.sample 2019-04-24 17:19:47 -04:00
vincep5
1ffbbdac99 Update English Feels to Feels like 2019-04-17 21:16:36 -05:00
vin p
eeccca8842 Merge pull request #5 from MichMich/develop
Develop
2019-04-17 21:08:04 -05:00
magic21nrw
e2d2dbd2ba Update ical.js
Fixed Bug with more than one calendar.
2019-04-17 20:05:33 +02:00
Jon Kolb
c61f0409fb Rename includePastEvents calendar config option to broadcastPastEvents 2019-04-17 08:16:04 -04:00
Jon Kolb
806be39a6d Add includePastEvents global and calendar-specific settings 2019-04-17 08:13:51 -04:00
Michael Teeuw
6170b0d059 Merge pull request #1653 from darkniki/patch-2
Update CHANGELOG.md
2019-04-17 13:51:49 +02:00
Michael Teeuw
bca838495e Merge pull request #1652 from michaelarnauts/1651-calendar-fix
Fix sliceMultiDayEvents so it respects maximumNumberOfDays
2019-04-17 13:51:07 +02:00
Michael Teeuw
e31a747250 Merge pull request #1636 from darkniki/patch-1
Update ru.json
2019-04-17 13:49:46 +02:00
Michael Teeuw
4cf430e146 Merge pull request #1646 from michaelarnauts/patch-3
sliceMultiDayEvents is false by default
2019-04-17 12:17:44 +02:00
darkniki
ef554cf6ec Update CHANGELOG.md 2019-04-11 14:46:32 +03:00
Thierry Nischelwitzer
fcd91daee6 Merge remote-tracking branch 'upstream/master'
Update MagicMirror
2019-04-10 18:07:55 +02:00
Michaël Arnauts
396c78b46a Changelog 2019-04-10 10:35:11 +02:00
Michaël Arnauts
4677a3fd89 Fix many issues with sliceMultiDayEvents 2019-04-10 10:31:55 +02:00
Michael Teeuw
834ab5c6b9 Merge pull request #1642 from michaelarnauts/patch-2
Handle SIGTERM messages
2019-04-09 09:53:16 +02:00
Michael Teeuw
1599e8f7ff Merge pull request #1647 from retroflex/develop
Added option to show location of calendar events
2019-04-09 09:52:39 +02:00
Michael Teeuw
7430704002 Merge pull request #1635 from ZakarFin/translations
Add translations for FI week/feels
2019-04-09 09:50:31 +02:00
retroflex
4d7b19c8cb Added calendar event location 2019-04-08 21:57:32 +02:00
retroflex
40f535cf3c Added possibility to show event location. 2019-04-08 21:49:19 +02:00
Michaël Arnauts
17425dcaf7 Add CHANGELOG entry. Fix test. 2019-04-07 16:41:05 +02:00
Michaël Arnauts
6b87fc64af sliceMultiDayEvents is false by default 2019-04-07 15:26:25 +02:00
Thierry Nischelwitzer
35174b0348 bugfixing calendar module 2019-04-07 11:15:16 +02:00
Michaël Arnauts
fd53541719 Handle SIGTERM messages 2019-04-06 20:50:54 +02:00
Malcolm Oakes
7c68bff9f5 Update from develop branch 2019-04-03 16:24:42 +01:00
Malcolm Oakes
6c64991951 Update from develop branch 2019-04-03 16:23:55 +01:00
Malcolm Oakes
ca04ff0f37 Update from develop branch 2019-04-03 16:22:26 +01:00
Malcolm Oakes
7742575cab Merge latest from develop branch 2019-04-03 16:16:59 +01:00
Malcolm Oakes
cdcdce702d Changes for UK Met Office weather data provider 2019-04-03 15:46:45 +01:00
Malcolm Oakes
c80e04fe8d Add new weather data provider UK Met Office (Datapoint) 2019-04-03 15:19:32 +01:00
darkniki
c3b3ea107a Update ru.json
Added "FEELS" translation
2019-04-03 08:31:40 +03:00
Sami Mäkinen
1dc530c549 Add translations for FI week/feels 2019-04-02 22:59:34 +03:00
Michael Teeuw
8b0b70e757 Prepare 2.8.0-develop. 2019-04-02 09:55:20 +02:00
Michael Teeuw
b508a629e8 Merge pull request #1632 from MichMich/fix-2.7.1
Fix package.json version number.
2019-04-02 09:50:36 +02:00
Michael Teeuw
abb0dadead Fix package.json version number. 2019-04-02 09:34:42 +02:00
Michael Teeuw
e6fb18df56 Merge pull request #1627 from MichMich/develop
Release 2.7.0
2019-04-01 21:54:05 +02:00
Michael Teeuw
43ba13f3bc Prepare 2.8.0-develop. 2019-04-01 21:26:39 +02:00
Michael Teeuw
ba705f5563 Fix Lint Issue. 2019-04-01 20:55:24 +02:00
Michael Teeuw
34e188ec1f Typo. 2019-04-01 20:48:30 +02:00
Michael Teeuw
b0d97dd170 Prepare for release. 2019-04-01 20:47:07 +02:00
Michael Teeuw
7caeae61f5 Merge pull request #1625 from qistoph/fix_weather_title
Update current weather header only if not undefined
2019-04-01 20:36:37 +02:00
Chris van Marle
416ace4c86 Update current weather header only if not undefined 2019-03-29 13:15:58 +01:00
Chris van Marle
979041ee91 Fix typo in variable name fetchedLocationName 2019-03-29 13:13:56 +01:00
Michael Teeuw
f0939b8af5 Merge pull request #1622 from JasMich/develop
Develop
2019-03-28 19:12:17 +01:00
Jasper Michalke
d7a7002bdd Finally added all required files for Klingon translations 2019-03-28 14:57:45 +01:00
Jasper Michalke
d9601de075 Update translations.js
Added Klingon translations file to translations list
2019-03-28 14:55:01 +01:00
Jasper Michalke
ef570558cf Update CHANGELOG.md 2019-03-28 14:53:28 +01:00
Michael Teeuw
db3e81408f Merge pull request #1618 from dgburr/newsfeed-article-info-request
Add support for the ARTICLE_INFO_REQUEST notification
2019-03-28 12:45:19 +01:00
Michael Teeuw
e8771cdea8 Merge branch 'develop' into newsfeed-article-info-request 2019-03-28 12:11:06 +01:00
Michael Teeuw
057eab2173 Merge pull request #1619 from dgburr/changelog-fix
Fix changelog
2019-03-28 12:09:53 +01:00
Michael Teeuw
e2a7024eeb Merge pull request #1620 from garyray-k/master
Spelling correction in README.md
2019-03-28 12:09:35 +01:00
Michael Teeuw
4650986dfa Merge pull request #1621 from kolbyjack/feature/calendar-name
Add name property to calendars
2019-03-28 12:09:09 +01:00
Jon Kolb
868b5e4617 Add name property to calendars
When consuming CALENDAR_EVENTS broadcasts, it is useful for other
modules to be able to identify which calendar a specific event
came from, for filtering/display purposes.
2019-03-26 19:51:44 -04:00
Gary Krause
f12860c7b1 Spelling correction in README.md
small spelling correction.
2019-03-25 14:07:53 -04:00
Daniel Burr
8f751812a6 The note which I added to the changelog in commit 80eef2ab8c was in the 2.6.0 section instead of 2.7.0 2019-03-25 01:19:00 +01:00
Daniel Burr
07a5092eb3 Add note to changelog 2019-03-25 01:13:02 +01:00
Daniel Burr
29c9c92ba6 Add support for the ARTICLE_INFO_REQUEST notification
Upon reception of an ARTICLE_INFO_REQUEST notification, newsfeed will
respond with the notification ARTICLE_INFO_RESPONSE, containing the
fields 'title', 'source', 'date', 'desc' and 'url'.
2019-03-25 01:08:59 +01:00
Michael Teeuw
edfa327158 Merge pull request #1602 from qistoph/develop
Notifications delay time and background color
2019-03-19 09:36:24 +01:00
Michael Teeuw
869a6e66cc Merge pull request #1611 from ZakarFin/node-upgrade
Node.js upgrade to 10.x (installer)
2019-03-19 09:36:13 +01:00
Sami Mäkinen
36abbfc048 Changelog 2019-03-18 23:12:44 +02:00
Sami Mäkinen
cfc3e6d2f4 Merge branch 'master' into develop 2019-03-18 22:51:23 +02:00
Sami Mäkinen
e38dbee6a6 Node 9 -> 10 (LTS) 2019-03-18 22:23:10 +02:00
Michael Teeuw
68a7c857c0 Merge pull request #1610 from dgburr/documentation-fix
Fix documentation of `useKMPHwind` option in currentweather
2019-03-18 17:09:04 +01:00
Daniel Burr
80eef2ab8c Fix documentation of useKMPHwind option in currentweather 2019-03-18 16:23:03 +01:00
Michael Teeuw
1d652aa746 Merge branch 'develop' into develop 2019-03-18 16:08:13 +01:00
Michael Teeuw
b07c43aa36 Merge pull request #1599 from rejas/use_getHeader
Use getHeader instead of data.header
2019-03-18 16:04:45 +01:00
Chris van Marle
3880c8dc2c Restyle notification colors 2019-03-14 14:11:14 +01:00
Chris van Marle
c0ab2ac297 Support timer in notifications too 2019-03-14 14:11:10 +01:00
Veeck
de684dcb63 Fix typos in jsdoc 2019-03-11 14:03:01 +02:00
Veeck
29ef1db86b Remove whitespace 2019-03-08 11:33:02 +01:00
Veeck
5dfd8a61be Update changelog 2019-03-08 11:29:48 +01:00
Veeck
358e2b3ccf Use getHeader instead of data.header when creating the DOM 2019-03-08 11:25:38 +01:00
Michael Teeuw
4203065a06 Merge pull request #1590 from vincep5/develop
Adding new weather provider for weather.gov
2019-03-07 09:18:40 +01:00
vincep5
bc4e0190a0 readme formatting 2019-03-06 21:33:13 -06:00
Michael Teeuw
dd7004cbc9 Merge pull request #1598 from rejas/more_verbose_error_message
More verbose error message when config.js is broken
2019-03-06 11:48:45 +01:00
Veeck
bdc5c8f620 Fix typos in changelog 2019-03-06 10:02:01 +01:00
Veeck
02d36e22ee Show more verbose error message on console if the config is malformed 2019-03-06 10:01:44 +01:00
Michael Teeuw
331e8c4aa6 Merge pull request #1594 from rejas/patch-1
Updated modernizr code in alert module
2019-03-05 10:26:47 +01:00
Veeck
d622277c11 Updated modernizr code to latest version 2019-03-02 08:40:20 +01:00
Veeck
8f781ea4ab Small typo fix in link 2019-03-02 08:30:08 +01:00
vincep5
ebc1e5bf12 tidy up code for weather 2019-02-27 09:09:37 -06:00
Michael Teeuw
ce9a61622e Merge pull request #1592 from MichMich/revert-1564-develop
Revert "Added autoLocation and autoTimezone option for weather modules and clock respectively."
2019-02-27 13:41:13 +01:00
Michael Teeuw
e4891e699f Revert "Added autoLocation and autoTimezone option for weather modules and clock respectively." 2019-02-27 13:33:14 +01:00
vincep5
d8765578c8 weather.gov N arrow 2019-02-26 14:51:09 -06:00
vincep5
3a034ecec8 Adding new weather provider for weather.gov 2019-02-26 14:06:00 -06:00
vin p
a3dea45089 Merge pull request #4 from MichMich/develop
Develop
2019-02-26 13:59:38 -06:00
Michael Teeuw
de99c8a5e4 Merge pull request #1589 from hudashot/calendar
Regularly trigger ADD_CALENDAR to ensure calendar fetcher is running
2019-02-26 11:17:30 +01:00
hudashot
d3b8dbeea0 Regularly trigger ADD_CALENDAR to ensure calendar fetcher is running 2019-02-26 08:12:02 +00:00
Michael Teeuw
cff2f64155 Merge pull request #1586 from Tom-Hirschberger/feature/alert-fontawesome
Feature/alert fontawesome
2019-02-24 19:58:44 +01:00
Thomas Hirschberger
7b8de35405 Update CHANGELOG.md 2019-02-24 11:55:46 +01:00
Tom Hirschberger
02ae0df2cc add font-awesome.css to styles of alert.js 2019-02-24 11:48:14 +01:00
Michael Teeuw
b386cea69d Merge pull request #1582 from mdobsovic/develop
Slovak translation added
2019-02-23 12:09:48 +01:00
Michal Dobsovic
758ffb75a9 Added sk to translations.js 2019-02-23 10:37:24 +01:00
Michal Dobsovic
78fbc7f392 Modified CHANGELOG.md 2019-02-20 22:15:24 +01:00
Michal Dobsovic
9c58472576 Merge branch 'develop' of https://github.com/mdobsovic/MagicMirror into develop 2019-02-20 22:07:19 +01:00
Michal Dobsovic
f8c4afc228 Slovak translation added 2019-02-20 22:02:42 +01:00
Michael Teeuw
b169d65619 Merge pull request #1577 from sdetweil/develop
fix relative date fulldate events to use start of day to start of day diff… issue 1572
2019-02-19 15:47:57 +01:00
Michael Teeuw
9bf0d4f804 Merge pull request #1580 from lavolp3/lavolp3-patch-1
Changed defaut dateEndFormat
2019-02-19 15:47:41 +01:00
Dirk
4443f57f8a Update CHANGELOG.md 2019-02-19 14:10:17 +01:00
Sam Detweiler
ea5d8590d5 Merge branch 'develop' of https://github.com/sdetweil/MagicMirror into develop 2019-02-19 07:08:46 -06:00
sam detweiler
5d5feb4c71 Merge pull request #1 from MichMich/develop
Develop
2019-02-19 07:08:13 -06:00
Dirk
feb5351ec3 changed default calendarEndDate to "LT"
changed default calendarEndDate to "LT" to show local times for event end times. 
Can still be set to a different value by the user
2019-02-19 14:07:01 +01:00
Sam Detweiler
7630c25ef3 add future date offset correction for emergency date values in absolute mode 2019-02-19 07:06:22 -06:00
Michael Teeuw
24238094e5 Fix url. 2019-02-19 13:43:23 +01:00
Michael Teeuw
7cc9a03db8 Merge pull request #1578 from lavolp3/splitDates
Add "sliceMultiDayEvents" option in calendar module
2019-02-19 09:13:33 +01:00
Dirk
2b2e8508d9 Update calendar.js
Small updates for travis cr check
2019-02-18 22:38:28 +01:00
Dirk
a70716f225 Merge branch 'splitDates' of https://github.com/lavolp3/MagicMirror into splitDates 2019-02-18 21:11:58 +01:00
Dirk
d9fcc46994 included split function to split multiday events 2019-02-18 21:11:24 +01:00
Dirk
2d8acec6f0 Update CHANGELOG.md 2019-02-18 21:04:56 +01:00
Dirk
cd06d8c63a Merge pull request #5 from MichMich/develop
Develop
2019-02-18 21:02:46 +01:00
Sam Detweiler
a06ca55107 fix relative date fulldate events to use start of dat to start of day difference, fix extra space in changelog 2019-02-18 07:30:46 -06:00
Sam Detweiler
9686a9ba77 fix relative date fulldate events to use start of dat to start of day difference 2019-02-18 07:18:07 -06:00
Michael Teeuw
f7f4043ccd Merge pull request #1571 from kolbyjack/develop
Fix null dereference in moduleNeedsUpdate when the module isn't visible
2019-02-15 13:57:24 +01:00
Michael Teeuw
b7b55173a6 Merge pull request #1573 from vincep5/develop
weather module adjustments for rain and snow
2019-02-15 13:56:58 +01:00
Michael Teeuw
954253c7e2 Remove Slack. 2019-02-15 11:15:06 +01:00
vincep5
cbe4d2cd7f weather module adjustments for rain and snow 2019-02-14 13:00:40 -06:00
vin p
40101129b5 Merge pull request #3 from MichMich/develop
Develop
2019-02-14 12:20:52 -06:00
Michael Teeuw
4bb32c6d09 Merge pull request #1514 from fwitte/features/weather_forecast_and_forecast_daily_support
Add forecast and forecast/daily support to new weather module
2019-02-14 17:41:10 +01:00
Michael Teeuw
6e09ceeda6 Merge branch 'develop' into features/weather_forecast_and_forecast_daily_support 2019-02-14 17:34:08 +01:00
fwitte
d6a6a53623 updated weather icon display 2019-02-14 16:48:45 +01:00
Michael Teeuw
4a97052708 Fix linting error. 2019-02-14 13:50:16 +01:00
Jon Kolb
3a4902ad4a Fix null dereference in moduleNeedsUpdate when the module isn't visible 2019-02-14 00:06:45 +00:00
Michael Teeuw
77d14bc218 Add donation link. 2019-02-13 16:12:46 +01:00
Michael Teeuw
1d2a39a855 Merge pull request #1564 from jacob-ebey/develop
Added autoLocation and autoTimezone option for weather modules and clock respectively.
2019-02-13 09:46:25 +01:00
Michael Teeuw
98b53b6b3d Merge branch 'develop' into develop 2019-02-13 09:38:15 +01:00
Michael Teeuw
0148d8beaf Merge pull request #1565 from AnthonyBuisset/fix/calendar
Fix exdate handling when multiple values are specified (comma separated)
2019-02-13 09:37:06 +01:00
Michael Teeuw
5bfd84d3be Merge pull request #1567 from stefsims/patch-2
Added danish translation
2019-02-13 09:36:11 +01:00
Michael Teeuw
351eb95feb Merge pull request #1566 from stefsims/patch-1
Update da.json
2019-02-13 09:35:53 +01:00
stefsims
56788f0933 Update CHANGELOG.md
Added danish translation
2019-02-11 09:02:42 +01:00
stefsims
017a376616 Update da.json
Added FEELS and WEEK
2019-02-11 08:59:16 +01:00
Anthony Buisset
c5888cec66 Fix exdate handling when multiple values are specified (comma separated) 2019-02-10 16:30:12 +01:00
Jacob Ebey
3d5ad29eac - Removed trailing space 2019-02-09 13:51:23 -08:00
Jacob Ebey
c608636b7a - Added autoTimezone property to the clock 2019-02-09 13:41:42 -08:00
Jacob Ebey
1a97107b2d - Converted indentation to tabs. 2019-02-09 12:49:47 -08:00
Jacob Ebey
5ca3fbeaea Added autoLocation option for weather modules. 2019-02-09 12:42:42 -08:00
Michael Teeuw
44896db668 Merge pull request #1554 from roramirez/replace-console-log-none
serveronly: Replace the console.log of none for a \n new line
2019-01-27 11:22:17 +01:00
Rodrigo Ramírez Norambuena
12efb87a23 serveronly: Replace the console.log of none for a \n new line 2019-01-26 14:42:15 -05:00
Michael Teeuw
9181be86ba Merge pull request #1553 from CriticalPoint/patch-1
Updated README
2019-01-25 09:56:25 +01:00
Mike
053b01e036 Updated README
Scanned through it and corrected some spelling mistakes, nothing that affects the core purpose of the document.
2019-01-25 07:50:24 +00:00
Michael Teeuw
86041d0968 Merge pull request #1541 from amcolash/trim_calendar_events
Add in vertical cutting for long calendar event titles
2019-01-23 13:38:19 +01:00
Michael Teeuw
bd87f63e91 Merge pull request #1542 from vincep5/develop
current.njk JS error and Loading string
2019-01-23 13:37:25 +01:00
Dirk
b79b49e8f3 Merge pull request #3 from MichMich/master
updated from master
2019-01-23 10:36:05 +01:00
Andrew McOlash
a0dde39d97 Fix braces for if check 2019-01-21 00:47:53 -08:00
vincep5
2e03868021 current.njk JS error and Loading string 2019-01-17 08:54:16 -06:00
vin p
29384c2ba3 Merge pull request #2 from MichMich/develop
Develop
2019-01-17 08:48:16 -06:00
Andrew McOlash
320743ab8d fix spacing 2019-01-16 22:53:28 -08:00
Andrew McOlash
399e171083 Add in cutting of long vertical titles 2019-01-16 22:51:44 -08:00
Michael Teeuw
184164b677 Merge pull request #1535 from fdahms/develop
forgot one sudo in installation script
2019-01-15 12:48:11 +01:00
fewieden
a8bd196234 current weather tests 2019-01-13 23:59:05 +01:00
fewieden
239d425940 webdriver ajax stub 2019-01-13 23:58:35 +01:00
fewieden
baa3c1461c test setup 2019-01-13 23:57:19 +01:00
fewieden
fa8e398e90 dependencies 2019-01-13 23:50:29 +01:00
fdahms
6d9675a299 forgot one sudo 2019-01-13 20:07:20 +01:00
Michael Teeuw
91e8ce62d4 Merge pull request #1534 from PalatinCoder/patch-1
fix: only show repeating count if the event is actually repeating
2019-01-13 16:36:45 +01:00
Jan Syring-Lingenfelder
06e641015f docs: update changelog 2019-01-13 16:25:57 +01:00
Jan Syring-Lingenfelder
1c83059482 fix: only show repeating count if the event is actually repeating 2019-01-13 16:18:52 +01:00
Michael Teeuw
90b24d824a Merge pull request #1531 from fdahms/develop
Fixing raspbian installation script
2019-01-13 11:58:30 +01:00
Michael Teeuw
62457d0e48 Merge pull request #1532 from oddswop/patch-1
Update README.md - just fixing a typo :)
2019-01-13 11:57:27 +01:00
Yvonne
90c96f7479 Update README.md 2019-01-13 09:26:37 +11:00
fdahms
f87adebe41 Fixing raspbian installer
* fixing issue #1377
* fixing problem with old node installation from fresh raspbian
* add feature for disable screen saver
2019-01-12 18:11:48 +01:00
fdahms
8f24cc8d13 editing CHANGELOG 2019-01-12 18:06:52 +01:00
Michael Teeuw
992802d196 Merge pull request #1525 from ianperrin/develop
Fix conflict between font awesome versions as per #1522
2019-01-10 13:50:14 +01:00
Ian
8546d6730c Update CHANGELOG.md 2019-01-10 12:44:35 +00:00
Ian
0092289105 revert font awesome reference 2019-01-09 21:38:07 +00:00
Ian
7c3923ad00 Use Font Awesome 5 (with backwards compatibility) for all modules 2019-01-09 21:32:43 +00:00
Ian
ef82039401 Allow multiple css to be included for one vendor 2019-01-09 21:29:49 +00:00
Ian
b01b9758e0 remove Font Awesome 4 dependency 2019-01-09 21:24:14 +00:00
vin p
88b00f689b Merge pull request #1 from MichMich/develop
Develop
2019-01-08 20:55:46 -06:00
Michael Teeuw
0a340d5d57 Merge pull request #1512 from fwitte/features/currentweather_weatherforecost_degreesign
still show degree sign if degreeLabel/scale is false
2019-01-08 09:36:26 +01:00
Michael Teeuw
50545a83b8 Merge pull request #1515 from andogit7/andogit7-MM-develop
Andogit7 mm develop
2019-01-08 09:34:50 +01:00
Michael Teeuw
4a57ff40d8 Merge pull request #1518 from fwitte/features/fade_forecast_and_maxnumberdays
Features/fade forecast and maxnumberdays
2019-01-08 09:33:26 +01:00
Michael Teeuw
0238455a5a Merge pull request #1521 from Bardo98/patch-1
Added Italian translation of "FEELS"
2019-01-08 09:10:22 +01:00
Bardo98
a53e963001 Merge pull request #1 from Bardo98/patch-2
Update CHANGELOG.md
2019-01-07 22:19:01 +01:00
Bardo98
984608e23f Added Italian translation of "FEELS" 2019-01-07 22:05:26 +01:00
Bardo98
f680c83d2d Update CHANGELOG.md 2019-01-07 21:55:18 +01:00
fwitte
a79e51c76f updated +CHANGELOG 2019-01-07 08:51:17 +01:00
fwitte
2dfb349609 fixed missing last day display in forecast/hourly 2019-01-07 08:19:50 +01:00
fwitte
766f21b525 adjusted default values 2019-01-06 12:34:44 +01:00
fwitte
733dfa1467 adjusted README 2019-01-06 12:34:27 +01:00
fwitte
63aa840b55 replaced tabs with spaces 2019-01-06 12:30:26 +01:00
fwitte
8b2d544576 added fade and maxnumberofdays options for forecast 2019-01-06 12:24:26 +01:00
fwitte
d6046d2422 simplified fetchForecastHourly function 2019-01-06 10:24:16 +01:00
fwitte
409939360f do not show 0 mm rain value 2019-01-06 10:23:15 +01:00
andogit7
1d21f39fbc Update CHANGELOG.md 2019-01-05 17:09:15 +00:00
andogit7
a477140a4b Update CHANGELOG.md 2019-01-05 17:08:55 +00:00
andogit7
1bbf2d8ce6 Update clock.js 2019-01-05 17:04:33 +00:00
fwitte
40a65eec51 adjusted CHANGELOG 2019-01-05 17:16:50 +01:00
fwitte
8431ebf2e8 adjusted README 2019-01-05 17:16:37 +01:00
fwitte
bdcc0c5373 another typo fix 2019-01-05 17:16:19 +01:00
fwitte
9cbf331533 fixed typo in daily data fetcher 2019-01-05 16:56:47 +01:00
fwitte
77640714cc adjusted openweathermap module to work with /forecast and forecast/daily 2019-01-05 16:54:45 +01:00
fwitte
9457d95c3f Merge remote-tracking branch 'origin' into develop 2019-01-05 15:27:05 +01:00
fwitte
c2ff949f2d adjusted CHANGELOG 2019-01-05 13:14:10 +01:00
fwitte
ba8685a122 readded degreesign 2019-01-05 13:13:53 +01:00
Francesco Witte
55464ed0dd Merge pull request #1 from MichMich/develop
Develop
2019-01-05 12:59:23 +01:00
Michael Teeuw
fdf3691c87 Merge pull request #1510 from fewieden/feature/weather-module-improvements
Fixed issues with the new weather module
2019-01-05 12:29:12 +01:00
fewieden
aa6699cf3e link issues to changelog 2019-01-05 10:33:58 +01:00
fewieden
b79b48baac link issues to changelog 2019-01-05 10:32:09 +01:00
fewieden
5d22dbd99e changelog 2019-01-05 10:26:13 +01:00
Michael Teeuw
4686bb5584 Merge pull request #1509 from shbatm/bug-fix
Fixes Incomplete fix for MichMich/MagicMirror#1507
2019-01-05 07:09:35 +01:00
shbatm
1f62b8f0b6 Update node_helper.js 2019-01-04 18:12:12 -06:00
fewieden
5759ed3728 implemented config option decimal symbol, align indoor elements vertical, add humidity support to nunjuck unit filter, do not display degree symbol for kelvin 2019-01-04 20:14:28 +01:00
fewieden
827fbfb78f dimmed loading indicator for weather forecast 2019-01-04 20:14:28 +01:00
fewieden
dc363de610 fix weather forecast table height 2019-01-04 20:14:28 +01:00
shbatm
b9d6a235e3 Fixes Incomplete fix for MichMich/MagicMirror#1507 2019-01-04 12:37:58 -06:00
Michael Teeuw
ebc57fe494 Merge pull request #1507 from shbatm/bug-fix
Error handling for bad git data in updatenotification
2019-01-04 17:00:27 +01:00
Michael Teeuw
e224ec4ae0 Merge branch 'develop' into bug-fix 2019-01-04 17:00:18 +01:00
Michael Teeuw
a5da347177 Merge pull request #1506 from fwitte/fwitte/weather_forecast_daily_openweather
Fix openweather forecast in new weather module, fetch daily data
2019-01-04 16:59:35 +01:00
shbatm
a257b15f86 Error handling for bad git data in updatenotification
Update CHANGELOG
2019-01-04 09:23:10 -06:00
Michael Teeuw
a70cc53d82 Merge branch 'develop' into fwitte/weather_forecast_daily_openweather 2019-01-04 13:04:02 +01:00
fwitte
1df2de9202 updated README 2019-01-04 12:34:29 +01:00
fwitte
9e394ea349 updated CHANGELOG 2019-01-04 12:34:12 +01:00
fwitte
b55685d610 added comments 2019-01-04 12:13:39 +01:00
fwitte
2156aac046 fixed typos, fetching forecast parameters by day 2019-01-04 12:07:02 +01:00
Michael Teeuw
6914465e3d Remove "Focus" to pass test. 2019-01-03 16:42:31 +01:00
Michael Teeuw
f3847ec6f3 Bump Node version to 8. 2019-01-03 16:35:30 +01:00
Michael Teeuw
e1fe8d1d89 Bump Electron to v3.0.13 - Issue: #1500 2019-01-03 16:04:33 +01:00
Michael Teeuw
675c937a4a Merge pull request #1505 from fwitte/fwitte/change_temperature_unit_display
Remove degree symbol for Kelvin scale
2019-01-03 15:25:24 +01:00
fwitte
c8f53bdf8e updated CHANGELOG.md 2019-01-03 12:35:52 +01:00
fwitte
3541d5adde removed degree symbol display for Kelvin scale, match source code in currentweather and weatherforecast 2019-01-03 12:06:52 +01:00
Michael Teeuw
b52da7c9fc Prepare for 2.7.0 dev branch. 2019-01-01 17:15:37 +01:00
Michael Teeuw
de57daa3cd Merge pull request #1498 from MichMich/develop
Release 2.6.0.
2019-01-01 17:09:33 +01:00
Michael Teeuw
e70e011a9c Add dependency. 2019-01-01 16:57:16 +01:00
Michael Teeuw
99febb99f1 Additional update info. 2019-01-01 16:48:12 +01:00
Michael Teeuw
874d79be36 Upgrade Electron to 2.0.16 2019-01-01 16:33:59 +01:00
Michael Teeuw
b33663c9f8 Prepare for release 2.6.0. 2019-01-01 15:52:29 +01:00
Michael Teeuw
7e69fa39eb Merge pull request #1497 from fewieden/feature/weather-module-improvements
fix rain amount information for different units and providers, docume…
2019-01-01 15:19:27 +01:00
Michael Teeuw
de06490539 Merge pull request #1496 from janfrode/patch-1
Update README.md
2019-01-01 15:18:45 +01:00
fewieden
40a30c24a0 link provider readme in module readme 2018-12-30 20:52:27 +01:00
fewieden
de04c12d3c fix rain amount information for different units and providers, documentation 2018-12-30 20:46:25 +01:00
Jan-Frode Myklebust
38fb53b058 Update README.md
Wrong delimiter used for electronOptions. Use : instead of =.
2018-12-30 20:33:16 +01:00
Michael Teeuw
ed617c5943 Merge pull request #1485 from djgalloway/wip-endtime
Document endTime variables
2018-12-30 15:42:04 +01:00
Michael Teeuw
986337da0c Merge pull request #1495 from fewieden/feature/weather-module-improvements
weather module feels like temperature
2018-12-30 15:40:22 +01:00
fewieden
8dd7621f29 add original feels like temperature and fixed it for imperial units 2018-12-30 14:17:13 +01:00
fewieden
88d862303d fixed beaufortwindspeed for imperial units 2018-12-30 14:14:17 +01:00
fewieden
cc274ffebe fixed darksky metric units 2018-12-30 14:11:16 +01:00
Michael Teeuw
28a108f79b Merge pull request #1491 from devpwnz/patch-1
Update ro.json
2018-12-29 10:51:28 +01:00
Michael Teeuw
b9f75bf7d2 Merge pull request #1489 from fewieden/feature/weather-module-improvements
WIP: weather module improvements
2018-12-29 10:49:18 +01:00
devpwnz
39994d5797 Update CHANGELOG.md 2018-12-29 10:08:57 +02:00
devpwnz
8e28be6558 Update ro.json 2018-12-29 10:00:29 +02:00
fewieden
8a65bef004 add unit and language handling for weather provider darksky 2018-12-28 19:39:00 +01:00
Michael Teeuw
b94dc5044b Merge pull request #1488 from fewieden/weather
Weather refactoring
2018-12-28 08:56:58 +01:00
fewieden
b853c00dd4 Add changelog entry 2018-12-27 23:12:28 +01:00
fewieden
7a0bc81f48 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into weather
# Conflicts:
#	css/main.css
2018-12-27 23:03:41 +01:00
fewieden
10bc326490 cleanup 2018-12-27 19:37:02 +01:00
fewieden
1920f8158e config options and documentation 2018-12-27 18:52:35 +01:00
fewieden
0ed2ba0183 darksky forecast and darksky current weather fixes 2018-12-27 17:56:34 +01:00
fewieden
95adc0aec1 forecast 2018-12-27 17:14:03 +01:00
fewieden
ebee80d10e small improvements 2018-12-27 17:13:49 +01:00
fewieden
63836185d9 weatherprovider 2018-12-27 17:13:06 +01:00
David Galloway
d0195e0509 Document endTime variables
Missed docs in 188aa14d82

Signed-off-by: David Galloway <dgallowa@redhat.com>
2018-12-20 11:40:50 -05:00
Michael Teeuw
5d9bcd9918 Merge pull request #1476 from wast/patch-1
Create hr.json
2018-12-19 16:18:32 +01:00
Michael Teeuw
db04c26d24 Merge pull request #1480 from michael5r/newsfeed-removestarttags-bug
[FIX] Bug in newsfeed module using removeStartTags on a description
2018-12-19 16:17:52 +01:00
Michael Teeuw
56b399655e Merge pull request #1483 from balassy/feature/weatherforecast-degree-labels
Always display the degree symbol in the Weather Forecast module
2018-12-19 16:15:18 +01:00
Michael Teeuw
24e15c0568 Add ajv dependency to fix linting error. 2018-12-19 16:04:52 +01:00
György Balássy
f0c516e82d CHANGED: The Weather Forecast module by default displays the &deg; symbol after every numeric value to be consistent with the Current Weather module. 2018-12-14 11:32:58 +01:00
György Balássy
f38203ef62 Merge pull request #5 from MichMich/develop
Update the develop branch from the original repo
2018-12-14 09:13:37 +01:00
mschmidt
a77c026803 Add issue number to changelog 2018-12-10 14:06:55 -06:00
mschmidt
5b6306671c Initial 2018-12-10 14:02:50 -06:00
Stjepan
25610222bc Update translations.js
Added Croatian.
2018-12-06 11:41:01 +01:00
Stjepan
c17f941fb9 Update CHANGELOG.md
Added Croatian translation to the changelog.
2018-12-06 11:38:34 +01:00
Stjepan
ae6ab1d203 Create hr.json
Croatian translation.
2018-12-06 10:00:34 +01:00
Michael Teeuw
92accf99b4 Merge pull request #1468 from ax42/patch-1
Update README.md
2018-11-29 10:18:39 +01:00
Michael Teeuw
b02702fe80 Merge pull request #1467 from lavolp3/calendar_issues
Fading for dateheaders, fixed bug for fulldayevents
2018-11-29 10:18:09 +01:00
Alexis Iglauer
5c549ec6e5 Update README.md
Typo
2018-11-22 23:28:04 +01:00
Dirk
af459a5a28 formatting corrected
Corrected formatting due to Travis CI errors
2018-11-21 12:10:39 +01:00
Dirk
07770601f6 Update CHANGELOG.md
- Fading for dateheaders timeFormat in Calendar [#1464](https://github.com/MichMich/MagicMirror/issues/1464)
- Bug showing FullDayEvents one day too long in calendar fixe
2018-11-21 10:24:53 +01:00
Dirk
cc96b86b3a Fading for dateheaders
Included fading for dateheaders option
Removed unnecessary switch statement in dateheaders option
2018-11-21 09:32:56 +01:00
Michael Teeuw
1547f4d8b2 Merge pull request #1456 from EdgardosReis/develop
Portuguese translation for "Feels"
2018-11-08 08:57:28 +01:00
Michael Teeuw
75054fcc70 Merge pull request #1458 from tomwardill/ignore-rrule-errors
Ignore RRULE errors for unparseable elements.
2018-11-08 08:56:50 +01:00
Tom Wardill
390b3b173b Update CHANGELOG.md 2018-11-07 18:53:54 +00:00
Tom Wardill
78daa65d28 Ignore rrule errors 2018-11-07 18:53:04 +00:00
EdgardosReis
3bbdd08d24 Portuguese translation for "Feels" 2018-11-07 00:34:02 +00:00
Michael Teeuw
cec1f12918 Merge pull request #1424 from thobach/develop
Allow to parse recurring calendar events where the start date is before 1900
2018-10-30 16:20:33 +01:00
Thomas Bachmann
d923ae2107 Merge branch 'develop' into develop 2018-10-29 20:30:37 +01:00
Thomas Bachmann
85931155e6 Fixed eslint issues
.. as requested in Pull Request #1424
2018-10-29 20:26:54 +01:00
Michael Teeuw
4fd87aca09 Change showEnd default to false. 2018-10-26 15:22:05 +02:00
Michael Teeuw
600e0ec7e3 Merge pull request #1425 from Ybbet/addClassCellCalendar
Add class cell calendar
2018-10-26 15:14:31 +02:00
Michael Teeuw
51fbff1a4a Merge branch 'develop' into addClassCellCalendar 2018-10-26 15:14:17 +02:00
Michael Teeuw
03b1389ee5 Merge pull request #1426 from gberg927/develop
Changed OpenWeatherMap URL in ReadME
2018-10-26 15:12:34 +02:00
Michael Teeuw
8f014e9d82 Merge pull request #1427 from P-Storm/develop
Added Font-awesome 5
2018-10-26 15:11:55 +02:00
Michael Teeuw
cecc6f7561 Merge branch 'develop' into develop 2018-10-26 15:11:46 +02:00
Michael Teeuw
62ba81c6a6 Merge pull request #1430 from shade34321/weather_forecast_screenshot
Added in 5 day forecast screenshot
2018-10-26 14:42:02 +02:00
Michael Teeuw
c5e3422fcd Merge branch 'develop' into weather_forecast_screenshot 2018-10-26 14:40:57 +02:00
Michael Teeuw
bd5a46b4ab Merge pull request #1431 from shade34321/weather_screenshot
Added in screenshot for current weather module.
2018-10-26 14:38:07 +02:00
Michael Teeuw
3a972bbbab Merge pull request #1432 from shade34321/clock_screenshot
Added in screenshot
2018-10-26 14:37:21 +02:00
Michael Teeuw
7768ea28bd Merge pull request #1433 from shade34321/compliments_screenshot
Added in compliments screenshot
2018-10-26 14:36:22 +02:00
Michael Teeuw
75add44e86 Merge pull request #1434 from shade34321/news_feed_screenshot
Added in screenshot for the newfeed module
2018-10-26 14:35:53 +02:00
Michael Teeuw
7d94365cbf Merge pull request #1437 from Duske/patch-1
(doc) showEnd config
2018-10-26 14:34:23 +02:00
Michael Teeuw
2d830fb8e7 Merge pull request #1441 from cphamlet/patch-1
Fix Broken Link
2018-10-26 14:33:36 +02:00
Michael Teeuw
633bf36fe7 Merge pull request #1447 from Santanachia/master
Fix polish translation
2018-10-26 14:31:44 +02:00
Marcin
c0a5e23d95 Merge branch 'develop' into master 2018-10-23 09:00:20 +02:00
Marcin Bielecki
d3798344dd fix polish translation 2018-10-23 08:57:53 +02:00
Teddy
ed37460402 Merge branch 'master' into addClassCellCalendar 2018-10-21 22:38:50 +02:00
cphamlet
9b6ba65cdb Fix Broken Link
http://www.openweathermap.org/help/city_list.txt is a dead link, suggest replacing with https://openweathermap.org/city
2018-10-14 15:08:55 -05:00
Dustin
42a9631926 Merge branch 'develop' into patch-1 2018-10-09 10:51:09 +02:00
Shade Alabsa
676a8a6421 Fixed README formatting errors. 2018-10-08 19:40:54 -04:00
Dustin
cdbf022ce0 Update CHANGELOG.md 2018-10-08 21:19:55 +02:00
Dustin
db79e1271e (doc) showEnd config
Add documentation for showEnd configuration
2018-10-08 21:11:28 +02:00
Shade Alabsa
d2b3efacf9 Added in screenshot for the newfeed module 2018-10-07 15:20:11 -04:00
Shade Alabsa
a2ab94f971 Added in compliments screenshot 2018-10-07 15:16:10 -04:00
Shade Alabsa
a0d92d764b Added in screenshot 2018-10-07 15:12:10 -04:00
Shade Alabsa
649b78e3f2 Added in screenshot for current weather module. 2018-10-07 15:01:51 -04:00
Shade Alabsa
e7df1c3e56 Added in 5 day forecast screenshot 2018-10-07 14:55:07 -04:00
P-Storm
53833ae0c3 Spaces to tab 2018-10-05 01:42:28 +02:00
P-DESK\P-Storm
66b914774a Updated changelog 2018-10-05 01:24:47 +02:00
P-DESK\P-Storm
fc89feec4e * Added font awesome 5, keeping shims in place for the calendar app (https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4)
* Updated example sample config
2018-10-05 01:16:25 +02:00
Dennis Glasberg
d311dbd9d5 Update README.md 2018-10-03 21:28:30 -04:00
Dennis Glasberg
f97aa67100 Merge pull request #2 from gberg927/Weather-Module-Readme-URL
Weather module readme url
2018-10-03 21:23:56 -04:00
Dennis Glasberg
9a8add780c Update README.md 2018-10-03 21:20:38 -04:00
Teddy Payet
3b48f1d042 - Possibility to add classes to the cell of symbol, title and time of the events of calendar. 2018-10-04 02:07:08 +02:00
Teddy Payet
332b54e7a5 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into addClassCellCalendar 2018-10-04 02:02:20 +02:00
Thomas Bachmann
007b2f0c88 Allow to parse recurring calendar events where the start date is before 1900
Some birthday calendar events have a start date before 1900.
2018-10-03 22:43:29 +02:00
Thomas Bachmann
3f083862e7 Allow to parse recurring calendar events where the start date is before 1970
Some birthday calendar events have a start date before 1970.
2018-10-03 22:05:51 +02:00
Thomas Bachmann
39619d5277 Allow to parse recurring calendar events where the start date is before 1970
Some birthday calendar events have a start date before 1970.
2018-10-03 22:03:50 +02:00
Michael Teeuw
d4fe01f9b9 Prepare for 2.6.0-dev. 2018-10-01 08:20:15 +02:00
Michael Teeuw
6db61b4357 Merge pull request #1418 from MichMich/develop
Develop
2018-10-01 08:16:04 +02:00
Michael Teeuw
f245cbf7f2 Merge pull request #1419 from rudibarani/master
Details to install the latest version of Node.js
2018-10-01 08:05:22 +02:00
rudibarani
6f2b04669f Details to install the latest version of Node.js
Added the direct code to always install the latest version of Node.js for the manual installation.
Maybe you could also include this in the automatic setup script, which does not seem to install the latest version of Node.js.
2018-09-30 23:39:22 +02:00
Michael Teeuw
9a46081d0b Prepare for release 2.5.0 2018-09-30 21:36:04 +02:00
Teddy Payet
3c7e507ca1 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2018-09-26 10:03:26 +02:00
Michael Teeuw
7117725e69 Merge pull request #1405 from ubertao/multi-line-compliments
Multi-line compliments
2018-09-25 11:36:27 +02:00
ubertao
ba428c6cfe Use 'white-space: pre-line' for multi-line compliment. 2018-09-24 23:01:17 +08:00
ubertao
d76c924ad1 Update compliments README.md for multi-line support. 2018-09-20 09:09:06 +08:00
ubertao
cad7debc5b Replace innerHTML() with createElement() and appendChild() for security. 2018-09-20 08:49:17 +08:00
ubertao
40725aa2a2 Update CHANGELOG.md with multi-line compliments support. 2018-09-17 00:54:01 +08:00
ubertao
6034891fed Support multi-line compliments. 2018-09-17 00:51:37 +08:00
Michael Teeuw
9dd9862d33 Merge pull request #1402 from ubertao/pr-zh-cn-2.5.0
Update zh-cn translation for 2.5.0
2018-09-13 08:59:57 +02:00
Michael Teeuw
48c72e319b Merge pull request #1401 from ubertao/pr-calender-gzip
Pr calender gzip
2018-09-13 08:58:13 +02:00
ubertao
4b6208fd9c Update CHANGELOG.md for zh-cn translation updates. 2018-09-12 09:35:58 +08:00
ubertao
168904a159 Update zh-cn translation to 2.5.0 2018-09-12 09:31:46 +08:00
ubertao
28f1498ec3 update CHANGELOG.md adding gzip fix for calendar module 2018-09-12 08:17:10 +08:00
ubertao
d3028e10d3 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into pr-calender-gzip 2018-09-12 08:15:52 +08:00
Teddy Payet
5eb0b77a8a Merge upstream/develop 2018-09-08 23:40:39 +02:00
ubertao
4aace5b95a update changelog with gzip calendar fix 2018-09-08 23:44:12 +08:00
ubertao
044dbd4a65 Add gzip support to calendar fetcher. 2018-09-08 23:05:19 +08:00
Michael Teeuw
5dbae7c9d7 Merge pull request #1383 from balassy/bugfix/updatenotification-localization
Making the word "commit" localizable in the UpdateNotification module message
2018-09-05 09:12:04 +02:00
György Balássy
ec44cb2761 CHANGED: The wording in CHANGELOG is modified to be more descriptive. 2018-09-05 04:41:09 +02:00
György Balássy
b06cf55c0b FIXED: Character encoding issue in pl.json occurred during rebase. 2018-09-05 04:33:42 +02:00
György Balássy
b601f6a138 CHANGED: The UPDATE_INFO key in the localization file is changed to UPDATE_INFO_SINGLE and UPDATE_INFO_MULTIPLE to allow different localization for single and multiple commits. 2018-09-05 04:30:57 +02:00
György Balássy
ddebc63488 ADDED: CHANGELOG entry. 2018-09-05 04:30:23 +02:00
György Balássy
35440822be CHANGED: The COMMIT_COUNT placeholder in the UPDATE_INFO message of the UpdateNotification module does not contain the word "commit" or "commits" any more, so language files can independently localize them. 2018-09-05 04:30:22 +02:00
György Balássy
f4c6bcfb8e Merge pull request #4 from MichMich/develop
Update Develop from the original repo
2018-09-05 04:26:13 +02:00
Michael Teeuw
6365c5c9ef Merge pull request #1396 from matt08/patch-4
Updated Polish translation
2018-09-04 11:42:16 +02:00
matt08
dd0334d30d Update pl.json 2018-08-31 09:24:18 +02:00
matt08
c462a44973 Polish translate for "Feels" 2018-08-31 09:17:04 +02:00
Michael Teeuw
6f88f5db83 Merge pull request #1385 from el97/patch-4
Update sv.json
2018-08-31 09:14:33 +02:00
matt08
93617f62a2 Updating "feels" translation 2018-08-31 09:14:16 +02:00
György Balássy
61d5f39408 Merge pull request #3 from MichMich/develop
Update the develop branch from the original repository
2018-08-30 00:00:56 +02:00
Michael Teeuw
c1fddaa7dd Merge pull request #1392 from vlebourl/develop
support for showing the end time of non full day events and the end date of several day long
2018-08-29 09:12:02 +02:00
vlb
188aa14d82 added support for showing end of events in calendar 2018-08-28 18:11:38 +02:00
Vincent Le Bourlot
5c25dd5b6d Update CHANGELOG.md 2018-08-28 18:00:13 +02:00
vlb
7c579cf7b7 added support for showing end of events through config parameters showEnd and dateEndFormat 2018-08-28 17:35:53 +02:00
vlb
c755c823fa added support for events having a duration instead of an end 2018-08-28 17:29:42 +02:00
Michael Teeuw
116588c237 Merge pull request #1390 from ccrlawrence/patch-1
ClientOnly: Global variable name used in callback function
2018-08-28 15:37:55 +02:00
Michael Teeuw
f02c1e4dc7 Merge branch 'develop' into patch-1 2018-08-28 15:36:58 +02:00
Michael Teeuw
c4e8cc1641 Correct changelog entry. 2018-08-28 15:33:53 +02:00
Michael Teeuw
93e68ad147 Merge branch 'develop' into patch-1 2018-08-28 15:32:47 +02:00
vlb
7ba88a83f0 consider events lasting several full days as full day events 2018-08-28 13:05:06 +02:00
ccrlawrence
c9293327ce Update CHANGELOG.md 2018-08-26 16:01:41 +01:00
ccrlawrence
fa1f35a89e ClientOnly: Global variable name used in callback function.
The global 'config' variable is used in the callback function, changed to local one. Unwanted behaviour when accessing server on docker or if using 0.0.0.0 or blank address in config file as it just passes this to electron to display.
2018-08-26 15:53:01 +01:00
Michael Teeuw
845ce7a711 Merge pull request #1384 from YangVincent/develop
Update OpenWeather city list instructions
2018-08-21 16:31:08 +02:00
el97
2b40007563 Update sv.json
Small changes. Added "FEELS": "Känns som".
2018-08-21 15:29:20 +02:00
Vincent Yang
217034c4a7 Update Changelog for weather city link 2018-08-21 01:06:12 -07:00
Vincent Yang
0b9d4f17ab Fix link for finding cities in OpenWeather 2018-08-21 01:04:58 -07:00
Michael Teeuw
7fb0ec12dd Merge pull request #1381 from Elaniobro/rp-zero-w-es6-fix
RaspBerry Pi Zero W default calendar module fix
2018-08-17 12:18:31 +02:00
György Balássy
3581158a7b Merge pull request #2 from MichMich/develop
Update Develop from original repo
2018-08-17 06:40:54 +02:00
Elan Trybuch
facfa73214 Merge branch 'develop' into rp-zero-w-es6-fix 2018-08-16 12:07:38 -04:00
Elan Trybuch
0ef4a86d42 Add patch note to CHANGELOG.md 2018-08-16 11:51:10 -04:00
Elan Trybuch
d4ec4795c3 Fix ES6 syntax bug on RaspberryPi Zero W
Following this issue https://github.com/MichMich/MagicMirror/issues/694 it seems that the Midori Browser does not recoginize ES6 syntax. Further, the use of 'var' is seen throughout the calendar module excpet on line 439, where the error is reported
2018-08-16 11:45:34 -04:00
Michael Teeuw
b13d0aa283 Merge pull request #1373 from jannekalliola/develop
Calendar: Absolute dates do not show absolute even if getRelative and urgency are set to zero
2018-08-16 12:05:22 +02:00
Michael Teeuw
a6965342e7 Update CHANGELOG.md 2018-08-16 12:00:06 +02:00
Michael Teeuw
752dfa5b7f Merge pull request #1369 from heskja/patch-2
Patch 2
2018-08-16 11:56:03 +02:00
Michael Teeuw
87aa283f22 Merge pull request #1376 from vincep5/develop
weatherforecast rainfall rounding
2018-08-16 11:55:25 +02:00
vincep5
6598ae080f weatherforecast rainfall rounding 2018-08-07 11:48:10 -05:00
Janne Kalliola
7c5e8a66e4 Added also description of the change to changelog 2018-08-05 19:49:26 +03:00
Janne Kalliola
c9577bcdc5 Added an if to use absolute dates with all events 2018-08-05 19:47:27 +03:00
heskja
8254c2e83c Merge pull request #1 from heskja/patch-1
Update nb.json
2018-08-03 20:24:46 +02:00
heskja
20a9ac841d Update nn.json
Added translation for "FEELS"
2018-08-03 20:23:19 +02:00
heskja
ae86b75d89 Update nb.json
Added translation for "FEELS"
2018-08-03 20:22:44 +02:00
György Balássy
93a0afe612 Merge pull request #1 from MichMich/develop
Sync Develop from original repo
2018-08-02 06:26:23 +02:00
Michael Teeuw
439027220b Merge pull request #1366 from Ybbet/alert_css
Alert css #1353
2018-08-01 10:19:52 +02:00
Teddy Payet
4a07272d7a Changelog.md updated 2018-08-01 09:42:23 +02:00
Teddy Payet
81432b54a3 Classes for alert module
Use of classes instead of inline style. With those modifications, it will be easier to personnalize the alert with custom.css
2018-08-01 09:37:27 +02:00
Michael Teeuw
b84a6e0c02 Merge pull request #1358 from jagobagascon/develop
Added missing spanish text
2018-07-15 19:47:04 +02:00
jagoba
37dc5a00e8 Merge branch 'bugfix/spanish-missing-localization' into develop 2018-07-15 19:21:59 +02:00
jagoba
e6edf85fbe Added Spanish translation for "FEELS" 2018-07-15 19:13:04 +02:00
Michael Teeuw
cb533a26f2 Merge pull request #1356 from balassy/bugfix/hungarian-localization
Updating the Hungarian localization
2018-07-13 22:01:56 +02:00
György Balássy
a7278f76a8 UPDATED: The CHANGELOG.md file with description of the changes in the Hungarian localization. 2018-07-13 16:42:47 +02:00
György Balássy
80bd32382f CHANGED: The Hungarian localization of the updatenotification module is changed to be more natural, because the existing messages felt like they were created with machine translation, and they were not only unnatural, but also misleading. 2018-07-13 16:32:32 +02:00
György Balássy
db21ced104 ADDED: Missing Hungarian localization for the "FEELS" resource key. 2018-07-13 16:26:15 +02:00
György Balássy
717c6555cb ADDED: Missing Hungarian localization for the "WEEK" resource key. 2018-07-13 16:23:34 +02:00
Michael Teeuw
a412e4af5c Merge pull request #1354 from Ybbet/develop
Wrong mixup… (cf german and spanish)
2018-07-11 02:21:14 +02:00
Teddy Payet
3350bf1ac6 CHANGELOG 2018-07-11 01:52:29 +02:00
Teddy Payet
4aa3353a1d Wrong mixup… (cf german and spanish)
Thanks fewieden.
2018-07-11 01:45:16 +02:00
Michael Teeuw
ff48a58537 Merge pull request #1352 from Ybbet/develop
Add some translations (mostly french).
2018-07-10 16:15:13 +02:00
Teddy Payet
08fa511d17 Add some translations (mostly french). 2018-07-10 15:03:54 +02:00
Michael Teeuw
c295115ffc Merge pull request #1347 from cederstrom/toggle-news-article-fullscreen
Abillity to toggle news article in fullscreen
2018-07-10 12:41:20 +02:00
Michael Teeuw
5fb14610ec Merge pull request #1348 from cederstrom/swedish-translations
Swedish translations
2018-07-10 12:40:04 +02:00
Andreas Cederström
e87c2350b7 Update CHANGELOG.md 2018-07-07 17:36:51 +02:00
Andreas Cederström
44e691e840 Update CHANGELOG.md 2018-07-07 17:35:04 +02:00
Andreas Cederström
b5a7234cf3 Swedish translation for "FEELS" 2018-07-07 17:26:17 +02:00
Andreas Cederström
d12509957f Abillity to toggle article in fullscreen 2018-07-07 16:50:10 +02:00
Michael Teeuw
f01e7b7e20 Prepare for 2.5.0 2018-07-04 11:32:04 +02:00
Michael Teeuw
6aa156d956 Merge pull request #1343 from MichMich/develop
Release 2.4.1
2018-07-04 11:27:05 +02:00
Michael Teeuw
ef5ea93de1 Prepare for release 2.4.1 2018-07-04 11:20:37 +02:00
Michael Teeuw
b4913f51f2 Merge pull request #1341 from jannekalliola/master
Fixed parsing date
2018-07-03 17:08:07 +02:00
Janne Kalliola
dc3e960e79 Fixed parsing date, as dt_txt is missing from certain weather API results 2018-07-02 23:22:09 +03:00
fewieden
0fe79b5288 indoor data, new filter, small cleanup 2018-07-02 15:43:24 +02:00
Michael Teeuw
1f76bd1942 Setup the next release (2.5.0). 2018-07-01 21:01:41 +02:00
Michael Teeuw
3545f80920 Merge pull request #1338 from MichMich/develop
Release 2.4.0
2018-07-01 20:50:46 +02:00
Michael Teeuw
0b2d1564ef Prepare to release 2.4.0 2018-07-01 20:43:04 +02:00
Michael Teeuw
fdacf824b3 Merge pull request #1337 from ShameerAshraf/develop
Fixed Wind Chill and Heat Index for Kelvin
2018-06-30 21:03:19 +02:00
Shameer Ashraf
5c01a44644 Updated changelog 2018-06-29 13:27:55 -04:00
Shameer Ashraf
4eb49d872b Updated changelog 2018-06-29 13:24:28 -04:00
Shameer Ashraf
34e5f29419 Fixed Wind Chill in Kelvin 2018-06-29 01:00:20 -04:00
Shameer Ashraf
f4910f0a8e Fixed Heat Index for Kelvin 2018-06-29 00:23:04 -04:00
Michael Teeuw
c8c14611dc Merge pull request #1334 from mdrayer/quick-fix-readme-raspberry-pi
Correct the "Raspberry Pi" link in the ToC.
2018-06-27 20:22:30 +02:00
Michael Drayer
491201991e Correct the "Raspberry Pi" link in the ToC. 2018-06-27 14:18:25 -04:00
Michael Teeuw
401f3574fd Update CHANGELOG.md 2018-06-27 10:29:49 +02:00
Michael Teeuw
173a86172c Add update translations. 2018-06-27 10:29:08 +02:00
Michael Teeuw
9ecbff024a Update CHANGELOG.md 2018-06-27 10:26:30 +02:00
Michael Teeuw
1b5be34be4 Merge pull request #1333 from ubertao/fixlocale
Fix locale id zh_cn -> zh-cn, zh_tw -> zh-tw, pt_br -> pt-br
2018-06-27 10:25:34 +02:00
Michael Teeuw
ceb3a997b6 Merge pull request #1330 from pintman/patch-1
minor typo in position fixed.
2018-06-27 10:23:15 +02:00
Ubertao
b1ead7fec8 Fix locale id zh_cn -> zh-cn, zh_tw -> zh-tw, pt_br -> pt-br 2018-06-27 14:09:02 +08:00
Michael Teeuw
d534dbb006 Merge pull request #1331 from flyingchipmunk/dev_newsfeed_logging
Add option to newsfeed for logging errors
2018-06-27 02:39:14 +02:00
Matthew Veno
e56377117b Add option to newsfeed for logging errors
- 'logFeedWarnings' added to newsfeed config, defaulted to false
- Only log parse feed errors when logFeedWarnings is true
- Updated README and CHANGELOG
- Fixes #1329
2018-06-26 20:01:28 -04:00
Marco Bakera
63483dc6c3 minor typo in position fixed. 2018-06-24 14:29:55 +02:00
fewieden
66ceafd010 show indoor data, add loading message 2018-06-16 10:53:17 +02:00
Michael Teeuw
dd793650c3 Merge pull request #1314 from Ybbet/develop
Customize classes for table.
2018-06-12 09:19:16 +02:00
Teddy Payet
afd829307d Tabs and spaces from the original files
With a diff, here the orginal tabulations.
2018-06-11 23:09:00 +02:00
Teddy Payet
09abdc0f12 ESLint format
Resolve format ith eslint
2018-06-11 19:59:21 +02:00
Teddy Payet
ed4d17f578 README updated
Update of README for the new option.
2018-06-11 16:41:08 +02:00
Teddy Payet
aeeeb5a37b Add changelog 2018-06-11 14:04:06 +02:00
Teddy
dcb2e51587 Update .gitignore 2018-06-11 14:00:16 +02:00
Teddy Payet
cbc2eaf908 Customize classes for table
MagicMirror offers helper classes in the main.css. Therefore, we give
the possibility to indicate the class that we want.
2018-06-11 12:54:27 +02:00
Michael Teeuw
8808031e7c Merge pull request #1309 from sdetweil/fix_suspend
invoke callback for suspend notification, even if no dom content
2018-06-08 13:21:40 +02:00
Sam Detweiler
23ac7213d3 remove trailing spaces from reformatted else 2018-06-08 06:11:36 -05:00
Michael Teeuw
add7b44d0b Style change. 2018-06-07 16:31:49 +02:00
Michael Teeuw
1e4b7599a7 Merge branch 'develop' into fix_suspend 2018-06-07 16:29:16 +02:00
Sam Detweiler
54443b038a Revert "fix changelog"
This reverts commit c3f03e3f95.
2018-06-07 08:09:39 -05:00
Sam Detweiler
c3f03e3f95 fix changelog 2018-06-07 08:04:49 -05:00
Sam Detweiler
18135624f6 update changelog 2018-06-07 08:02:16 -05:00
Sam Detweiler
11238d6b71 fix tabs 2018-06-07 07:59:07 -05:00
Sam Detweiler
848f94b1e0 invoke callback for suspend notification, even if no dom content 2018-06-07 07:50:42 -05:00
Michael Teeuw
d47cfe9504 Merge pull request #1304 from kjb085/kb/calendar-regex
Add regex filtering to calendar module
2018-06-05 21:02:56 +02:00
Kenn Breece
70dccff293 Add regex filtering to calendar module 2018-06-03 21:12:31 -04:00
Michael Teeuw
e40873710b Merge pull request #1302 from idoodler/develop
Ability to fetch compliments from a remote server
2018-06-03 19:46:01 +02:00
idoodler
b140ef3b7a Ability to fetch compliments from a remote server 2018-06-03 15:47:56 +02:00
Michael Teeuw
3b7b74aa67 Merge pull request #1297 from OiYouYeahYou/linting-fix
Add and lint clientonly/index.js
2018-05-29 11:56:18 +02:00
Jason
de8e5b2d69 Merge branch 'develop' into linting-fix 2018-05-26 19:44:06 +01:00
Jason
afea33b0e3 Changelog 2018-05-26 19:42:58 +01:00
Jason
b44fbc1e4f add and lint clientonly 2018-05-26 19:36:46 +01:00
Michael Teeuw
c4dee3dd8d Merge pull request #1293 from derRAV3N/patch-1
Add note to README.md
2018-05-22 15:27:03 +02:00
derRAV3N
091e024032 Add note to README.md
Add note to README.md to not add calendars that have entries before 1st January 1970.
2018-05-22 15:14:05 +02:00
Michael Teeuw
0e030f7f48 Add information about the Electron update. 2018-05-21 14:06:50 +02:00
fewieden
3341c9e3bf start with forecast template 2018-05-21 10:57:22 +02:00
fewieden
91ddc00f7e fix moment, add unit filter 2018-05-21 10:56:46 +02:00
Michael Teeuw
3049ba0b24 Merge pull request #1290 from edward-shen/develop
newsfeed now remembers user configuration settings for descriptions after fullscreen view. Fixes #1282.
2018-05-16 07:27:38 +02:00
Edward Shen
55a161fafe Fixes #1282.
Added a runtime var isShowingDescription that gets reset to user config.
this.config.showDescription no longer mutates during runtime.
Changelog has been updated to include this fix.
2018-05-15 20:37:45 -04:00
Michael Teeuw
349af24c81 Merge pull request #1287 from ringzer/patch-1
Update README.md
2018-05-12 12:33:25 +02:00
ringzer
788f1c4b3e Update README.md
Included /home/pi/MagicMirror/ path when copying config.js.sample and running npm run config:check
2018-05-11 16:47:03 +01:00
Michael Teeuw
889af461c6 Upgrade to Electron 2.0.0. 2018-05-11 16:23:43 +02:00
Michael Teeuw
df86e59089 Merge pull request #1284 from jrlambs/develop
New calendar display format
2018-05-11 15:36:36 +02:00
=
c6bf69cce4 fix linting errors. add line to changelog 2018-05-10 19:54:01 -04:00
=
e492012004 fix missing s on timeFormat 2018-05-09 22:36:53 -04:00
=
94c46f9881 New calendar display format with date headers for days and times listed next to events for that date
IE:

Sunday, May 1st
  2:00 pm       Soccer
  4:00 pm       Basketball
2018-05-09 22:32:15 -04:00
Michael Teeuw
1eaa9d32ea Merge pull request #1283 from jannekalliola/develop
Changed weatherforecast to use dt_txt field
2018-05-09 09:35:49 +02:00
Janne Kalliola
0e2e8d2e2a Changed weatherforecast to use dt_txt field 2018-05-08 18:45:38 +03:00
Michael Teeuw
cfb39c6364 Merge pull request #1279 from parnic/develop
Fixed coloredSymbolOnly
2018-05-05 18:38:54 +02:00
Parnic
173499f496 Fixed coloredSymbolOnly 2018-05-05 08:31:58 -05:00
Michael Teeuw
1081049074 Merge pull request #1264 from parnic/develop
Fixed heat index
2018-05-01 09:55:42 +02:00
Michael Teeuw
961dc85514 Merge pull request #1275 from john3300/colored-symbol-only
Added option to calendar module that colors only the symbol
2018-05-01 09:55:13 +02:00
Michael Teeuw
6434acd492 Merge branch 'develop' into colored-symbol-only 2018-05-01 09:55:05 +02:00
Michael Teeuw
ccb27c89d8 Merge pull request #1262 from ndom91/patch-1
Updated newsfeed.js - improved fullscreen iframe
2018-05-01 09:53:56 +02:00
Brian Johnson
8053256203 Added option to calendar module that colors only the symbol instead of the whole line 2018-04-27 11:06:45 -05:00
Parnic
4abd7301fd Updated changelog 2018-04-17 19:45:12 -05:00
Parnic
d6fe5ab417 Fixed heat index
Celsius and Fahrenheit were flipped. The index was computed in Fahrenheit but used as if it were Celsius.
2018-04-17 19:43:09 -05:00
Nico Domino
a739fbdf1d Update CHANGELOG.md 2018-04-17 00:39:05 +02:00
Nico Domino
c90a1ab6dc Updated newsfeed.js - improved fullscreen iframe
Had much better performance using 100vw (viewport width) than 100% (why - idk), but with 100% about 5% of my screen (1080x1920) to the right of the scroll bar was left black/blank, with 100vw I legitimately takes up the whole screen/viewport width. 

With the 10000 height the articles would always load about half way scrolled down. So I reduced the height and style.height to 3000. At my resolution at least, which I assume is fairly common, I had much better results. Unfortunately 3000 also isn't perfect - this still requires some tweaking. The article loads perfectly at the top of the iframe at 2500, but 2500 is much too small for most articles. 3000 seemed a good compromise, I could scroll far enoguh to read most articles on Reuters, and also load far enoguh up to read the beginning of the article.

And finally I added a "scroll back up" button notification. This seems to work flawlessly.
2018-04-17 00:25:58 +02:00
Michael Teeuw
05ef68e079 Merge pull request #1258 from jannekalliola/develop
Support for hiding on-going events
2018-04-08 18:14:39 +02:00
Michael Teeuw
dee4a7f3c7 Merge pull request #1257 from parnic/develop
Fixed to work in Midori browser
2018-04-08 18:11:00 +02:00
Janne Kalliola
75753df0d8 Added description of on-going event hiding changes to the changelog 2018-04-08 15:07:20 +03:00
Janne Kalliola
30c5d78647 Support for hiding on-going events 2018-04-08 14:57:28 +03:00
Chris Pickett
6bb4db3842 Midori 0.4.3 support 2018-04-07 20:01:53 -05:00
Chris Pickett
cc0907fcd7 Updated changelog 2018-04-07 20:00:51 -05:00
Michael Teeuw
20b018bcc7 Merge pull request #1250 from bastilimbach/master
Remove yarn-or-npm as it breaks production builds
2018-04-06 14:40:26 +02:00
Michael Teeuw
aafe2fa8d0 Update CHANGELOG.md 2018-04-06 14:39:41 +02:00
Michael Teeuw
ee7bd73b3f Merge branch 'develop' into master 2018-04-06 14:39:04 +02:00
Michael Teeuw
b67f3bd629 Move change to 2.4.0 changelog. 2018-04-06 14:37:26 +02:00
Michael Teeuw
38b81e79f8 Merge pull request #1255 from wonjerry/develop
Error in default/currentWeather
2018-04-06 14:35:19 +02:00
wonjerry
b73c549131 Error in MagicMirror/modules/default/currentWeather/currentWeather.js line 296, 300
Notice that self.config.animationSpeed can not be found because the notificationReceived function does not have "self" variable.
2018-04-06 21:25:10 +09:00
Michael Teeuw
d21d9f0141 Use Electron 2 Beta. 2018-04-06 13:21:53 +02:00
Michael Teeuw
7bb85032a1 Merge pull request #1252 from BerndKohl/feelslike-localisation
enabling translation for "feelsLike" in current weather
2018-04-06 13:11:51 +02:00
Michael Teeuw
d90446ad28 Update CHANGELOG.md 2018-04-06 13:10:41 +02:00
Michael Teeuw
8b5e2f5528 Add dutch 'Feels' temperature. 2018-04-06 13:04:55 +02:00
Michael Teeuw
1bcc3ab7f1 Add default translation. 2018-04-06 13:04:04 +02:00
Michael Teeuw
3359c3cd45 Update currentweather.js 2018-04-06 13:03:06 +02:00
Michael Teeuw
af812f3c90 Fix translation file. 2018-04-06 13:02:27 +02:00
Michael Teeuw
1e6201093b restore windChillInF variable. 2018-04-06 13:01:23 +02:00
BerndKohl
959ea69427 enabling translation for "feelsLike" in current weather
enabled translation
fixed typos in comments
added German translation
2018-04-06 12:28:47 +02:00
Sebastian Limbach
cea744a914 Remove yarn-or-npm 2018-04-03 19:38:00 +02:00
Michael Teeuw
e8baf48764 Update CHANGELOG.md 2018-04-02 14:18:28 +02:00
Michael Teeuw
41242a2ae1 Merge pull request #1248 from E3V3A/patch-5
null check for notification removal
2018-04-02 14:17:25 +02:00
Michael Teeuw
f1dee488a7 Fix indent. 2018-04-02 14:11:21 +02:00
Michael Teeuw
3b4ff1818e Update CHANGELOG.md 2018-04-02 14:03:16 +02:00
E:V:A
497145b1b5 null check for notification removal
Make sure there is something to remove, before we attempt to remove the notifications. 
- This fixes #1240
2018-04-02 14:07:25 +03:00
Michael Teeuw
10eb41d319 FIx wind chill in Fahrenheit. 2018-04-02 12:58:19 +02:00
Michael Teeuw
4daf2e4a3d Merge pull request #1246 from secuflag/develop
Update italian translation
2018-04-01 19:44:24 +02:00
secuflag
f3266a5111 Update italian translation 2018-04-01 19:38:03 +02:00
Michael Teeuw
27cac4e8b8 Merge v2.3.1 2018-04-01 19:17:08 +02:00
Michael Teeuw
60b9a5b9da Merge pull request #1245 from MichMich/electron-downgrade
v2.3.1
2018-04-01 19:12:25 +02:00
Michael Teeuw
eaaa62a7f3 Downgrade Electron. 2018-04-01 19:05:38 +02:00
Michael Teeuw
6ce732ec3d Preparation for v2.4.0. 2018-04-01 14:23:28 +02:00
Michael Teeuw
fb0cc61e09 Merge pull request #1241 from MichMich/develop
Release 2.3.0
2018-04-01 14:16:36 +02:00
Michael Teeuw
be29b5daf8 Prepare for release 2.3.0 2018-04-01 14:08:38 +02:00
Michael Teeuw
f010adabd0 Merge pull request #1232 from Kiina/develop
Update electron to 1.7.13
2018-03-28 12:27:05 +02:00
Dominic Dey-Marckmann
c93b263b1f Update electron to 1.7.13 2018-03-27 21:09:08 +02:00
Michael Teeuw
15f34d6b54 Update CHANGELOG.md 2018-03-25 14:56:20 +02:00
Michael Teeuw
d0eeb55999 Merge pull request #1186 from BonySimon/patch-1
Fix exception on translation of objects
2018-03-25 14:55:52 +02:00
Michael Teeuw
08c0d39b23 Update translator.js 2018-03-25 14:55:42 +02:00
Michael Teeuw
d0ecde3277 Merge pull request #1176 from relm923/forecast_max_days
Forecast - Max Days
2018-03-25 14:53:30 +02:00
Michael Teeuw
45ec57afd7 Merge branch 'develop' into forecast_max_days 2018-03-25 14:52:42 +02:00
Michael Teeuw
b0cd053083 Merge pull request #1202 from iampranavsethi/currentweather-module-updates
Currentweather module updates
2018-03-25 14:52:05 +02:00
Michael Teeuw
698a11be58 Merge branch 'develop' into currentweather-module-updates 2018-03-25 14:51:47 +02:00
Michael Teeuw
efb08fb1e1 Update CHANGELOG.md 2018-03-25 14:51:18 +02:00
Michael Teeuw
f89bc8422e Merge pull request #1224 from bacongobbler/clearer-install-question
capitalize "y/n" for clearer intent
2018-03-25 14:47:35 +02:00
Michael Teeuw
4bf4889a08 Merge pull request #1225 from moham96/patch-1
use shallow clone
2018-03-25 14:47:09 +02:00
Michael Teeuw
01ab8ba38e Merge pull request #1227 from E3V3A/patch-4
removed known issues as they are closed
2018-03-25 14:46:44 +02:00
E:V:A
ae6d15e812 removed known issues as they are closed 2018-03-25 12:07:29 +03:00
MOHAMMAD RASIM
1abfbe1d34 use shallow clone
not need to download the whole repo history
2018-03-24 16:11:57 +03:00
Matthew Fisher
d3095297c2 capitalize "y/n" for clearer intent
If you press enter, `choice` is an empty string and will default to "no". The convention is to capitalize the default answer so users know what happens when they auto-accept prompts.
2018-03-23 16:29:37 -07:00
Michael Teeuw
79d40d5644 Merge pull request #1199 from ThomasMirlacher/develop
Add dc:date to parsing in newsfeed module, which allows parsing of mo…
2018-03-21 12:17:23 +01:00
Thomas Mirlacher
008e305a84 use doublequotes. 2018-03-21 11:58:09 +01:00
Michael Teeuw
0379611edd Merge pull request #1218 from kjb085/kb/calendar-adv-filter
Add advanced filtering to excludedEvents
2018-03-21 11:34:41 +01:00
Kenn Breece
96d883c1c7 Merge branch 'develop' into kb/calendar-adv-filter 2018-03-20 15:38:16 -04:00
Kenn Breece
be0f262e37 Add advanced filtering to excludedEvents 2018-03-18 23:54:23 -04:00
Michael Teeuw
1676adf071 Merge pull request #1209 from E3V3A/patch-3
update node stable to 9.x
2018-03-14 10:26:25 +01:00
E:V:A
a5d5630067 update node stable to 9.x 2018-03-14 11:24:41 +02:00
Pranav Sethi
275956caba Fixed typos in README.md for currentweather. 2018-03-12 22:22:45 -04:00
Michael Teeuw
bf8ed87fc9 Merge pull request #1197 from ptz0n/patch-1
Update README.md
2018-03-12 18:34:21 +01:00
Michael Teeuw
fb3afac097 Merge pull request #1200 from djgalloway/wip-apt-y
Assume yes when installing deps on Raspberry Pi via apt-get
2018-03-12 18:33:36 +01:00
Michael Teeuw
eda8b037a9 Merge pull request #1205 from Tajnymag/develop
Added yarn support
2018-03-12 18:32:31 +01:00
Marek Lukáš
8ef14f7a54 Added changes from [9974e35] to CHANGELOG 2018-03-12 15:33:30 +01:00
Marek Lukáš
9974e35656 Added yarn support 2018-03-12 15:28:43 +01:00
Pranav Sethi
15bc5431b6 Fixed Trailling Spaces 2018-03-12 05:25:33 -04:00
Pranav Sethi
f767531d89 Fixed Trailling Spaces 2018-03-12 05:25:01 -04:00
Pranav Sethi
7285ada9dd Added feels like and kmph wind for currentweather module 2018-03-12 05:06:16 -04:00
Pranav Sethi
b9b9773df9 Merge branch 'develop' into currentweather-module-updates 2018-03-12 03:56:44 -04:00
David Galloway
c29a83b259 Assume yes when installing deps on Raspberry Pi via apt-get
Signed-off-by: David Galloway <dgallowa@redhat.com>
2018-03-11 13:17:33 -04:00
Thomas Mirlacher
fa45e66da6 Add dc:date to parsing in newsfeed module, which allows parsing of more rss feeds. 2018-03-10 00:30:45 +01:00
Erik Eng
7cbcdddac9 Merge branch 'develop' into patch-1 2018-03-07 09:18:07 +01:00
Erik Eng
a2f17900da Update README.md
Correct manual installation step.
2018-03-07 09:13:33 +01:00
Michael Teeuw
fb7e97b8ad Merge pull request #1190 from E3V3A/patch-1
made the module "this" instances into a table
2018-03-06 09:36:04 +01:00
Michael Teeuw
0c92a8a8e9 Merge pull request #1191 from E3V3A/patch-2
fix md header
2018-03-06 09:35:34 +01:00
Michael Teeuw
dcc59380e5 Merge pull request #1194 from bastilimbach/develop
Remove old docker config and link to docker repository
2018-03-06 09:33:50 +01:00
Sebastian Limbach
f9bf25f96d Add changes 2018-03-04 14:07:44 +01:00
Sebastian Limbach
cbcbea8b08 Remove old docker config 2018-03-04 13:59:45 +01:00
Pranav Sethi
62eb4f20da Fixed Trailling Spaces to Pass checks 2018-03-03 05:08:12 -05:00
Pranav Sethi
43d5311e5e Fixed Trailling Spaces 2018-03-03 05:00:26 -05:00
Pranav Sethi
a6f08a09d5 Added Feels Like and Windspeed in KMPH 2018-03-03 04:52:22 -05:00
Pranav Sethi
d93f5d7785 Added Feels Like and Windspeed in KMPH 2018-03-03 04:21:24 -05:00
E:V:A
c7170e6dc2 fix md header 2018-03-01 11:53:10 +02:00
E:V:A
bcf3ca7339 made the module "this" instances into a table 2018-03-01 09:44:57 +02:00
Steelskin3
0388f5787a Fix exception on translation of objects
Sometimes, the content of translations[module.name][key] is not a string but an entire object. It cause a crash on template.replace(...) of createStringFromTemplate(...). It is currently the case of MMM-Voice-Control and the previous commit have broked this module (10 month ago... I am surprised to be the first founded it)
2018-02-23 11:51:59 +01:00
Michael Teeuw
6514df9d96 Merge pull request #1184 from patoberli/patch-1
Update README.md
2018-02-20 11:29:27 +01:00
Michael Teeuw
8f5b9869dc Merge branch 'develop' into patch-1 2018-02-20 11:28:58 +01:00
patoberli
580c5fe23f Update README.md
Added a hint to use the full and not lite version of Raspbian, as the GUI is missing and thus ndm (electron) can't start after the installation.
2018-02-17 21:54:31 +01:00
Michael Teeuw
b0af5b26ba Merge pull request #1183 from fewieden/feature/translations-update
translations update
2018-02-17 10:30:30 +01:00
Michael Teeuw
9e898932f6 Merge pull request #1182 from fewieden/feature/automated-tests
Automated tests
2018-02-17 10:29:23 +01:00
fewieden
1f873b93f6 changelog, linting 2018-02-17 10:17:59 +01:00
fewieden
f414707f11 update translations for updatenotifications 2018-02-17 10:14:37 +01:00
fewieden
505825056c use translation template for updatenotifications 2018-02-17 10:10:57 +01:00
fewieden
38f7716738 linting 2018-02-17 09:20:34 +01:00
fewieden
a69d08b554 changelog 2018-02-17 09:18:12 +01:00
fewieden
3ccdb64833 deprecated unit tests 2018-02-16 22:09:15 +01:00
fewieden
78d8bff599 clone array, clone nested object, add safe checks for objects (memory address) 2018-02-16 19:58:28 +01:00
fewieden
a756fed70b fixed and reenabled lockstring test 2018-02-16 08:43:27 +01:00
fewieden
3e2a1e3548 linting 2018-02-16 00:08:11 +01:00
fewieden
96b2f2b3a4 clone object unit test 2018-02-16 00:01:02 +01:00
fewieden
d81d7d4f68 compare version unit test 2018-02-15 23:53:57 +01:00
fewieden
20244c4fb5 translations integration test 2018-02-15 23:22:52 +01:00
Michael Teeuw
b50d31ffe2 Merge pull request #1178 from E3V3A/develop
Added ToC
2018-02-13 09:24:36 +01:00
fewieden
d709a44960 strip comments unit test 2018-02-13 07:17:46 +01:00
E:V:A
4e4d07ced6 Added ToC
ToDo: Fix ToC links to headers
2018-02-11 18:24:31 +02:00
fewieden
d775bc9d7e loadCoreTranslationsFallback unit test 2018-02-11 09:08:09 +01:00
fewieden
85528761eb only load core callback if there is one available 2018-02-11 09:07:41 +01:00
fewieden
ad3eac9ddb loadcoretransations unit test 2018-02-11 08:58:02 +01:00
Reagan Elm
613f9fccd2 Update changelog 2018-02-10 20:56:10 -05:00
Reagan Elm
3d1741c904 Respect maxNumberOfDays regardless of endpoint 2018-02-10 20:53:38 -05:00
fewieden
26be14ba67 load unit test 2018-02-10 20:33:22 +01:00
fewieden
daa0755920 add missing parameter in documentation 2018-02-10 12:38:55 +01:00
fewieden
305d60e09b translator unit tests 2018-02-10 12:32:43 +01:00
fewieden
d0029efd02 utils unit tests 2018-02-10 12:30:33 +01:00
fewieden
fb4d42bf5b moved test 2018-02-10 12:28:30 +01:00
Michael Teeuw
20eec53b14 Add Manifesto. 2018-02-07 13:04:10 +01:00
Michael Teeuw
8343db44db Merge pull request #1173 from vvzvlad/vvzvlad_local
add variable morning afternoon times
2018-02-07 12:32:42 +01:00
vvzvlad
649652e373 Merge branch 'develop' into vvzvlad_local 2018-02-07 14:10:43 +03:00
vvzvlad
e37ed7c32d add variable morning afternoon times 2018-02-07 14:06:26 +03:00
vvzvlad
f9a525068b add variable morning afternoon times 2018-02-05 18:15:02 +03:00
Michael Teeuw
aa11e6d62e Merge pull request #1166 from henrysun18/develop
Show remote compliments on boot
2018-02-01 08:20:22 +01:00
henrysun18
6802d152da Show remote compliments at boot instead of after one updateInterval 2018-01-31 23:19:47 -05:00
Michael Teeuw
3b40f393d8 Merge pull request #1163 from pinsdorf/patch-1
corrected link to 3rd party modules wiki page
2018-01-30 13:49:37 +01:00
pinsdorf
020443ae8a corrected link to 3rd party modules wiki page
The link to the 3rd Party Modules still directs to the old wiki page, where use has to follow another link to the right page. Updated the link in README.md to navigate to the right wiki page instantly.
2018-01-30 10:59:18 +01:00
Michael Teeuw
1d0baccffc Merge pull request #1161 from thobach/master
Allow to scroll in full page article view of default newsfeed module
2018-01-30 09:47:33 +01:00
Thomas Bachmann
5426f0f329 Updated documentation for scroll mode in newsfeed module 2018-01-29 21:41:43 +01:00
Thomas Bachmann
790249dd1a Merge branch 'MichMich/develop' 2018-01-29 21:37:25 +01:00
Thomas Bachmann
446a201d25 Allow to scroll articles with gesture events 2018-01-29 21:26:34 +01:00
Thomas Bachmann
b6538d5e18 Merge remote-tracking branch 'MichMich/master' 2018-01-29 18:54:32 +01:00
Michael Teeuw
edd6043059 Fail PRs that are sent to the master branch. 2018-01-26 12:12:44 +01:00
Michael Teeuw
fe4ffeb7f1 Text cleanup. 2018-01-25 20:45:25 +01:00
Michael Teeuw
27b3875bfb Changed missing Changlog text. 2018-01-25 20:38:42 +01:00
Michael Teeuw
e2dbe8a0a2 Minor fixes. 2018-01-25 20:07:51 +01:00
Michael Teeuw
29fc7910b7 Remove Jest. Update dangerfile.js. 2018-01-25 19:51:23 +01:00
Michael Teeuw
22e2fdc707 Jest implementation to get danger.js to work. 2018-01-25 19:43:09 +01:00
Michael Teeuw
584786eb9f Temp disable danger. 2018-01-25 17:00:51 +01:00
Michael Teeuw
d803d9eaf9 Import 'includes' from lodash. 2018-01-25 16:39:49 +01:00
Michael Teeuw
bad6575d83 Add Danger.js 2018-01-25 16:24:05 +01:00
Michael Teeuw
fbcb7ae836 Update README.md 2018-01-23 19:10:37 +01:00
Michael Teeuw
2c1a1b10c8 Merge pull request #1147 from E3V3A/patch-2
Update README.md
2018-01-23 09:51:15 +01:00
E:V:A
155fb16a8a Update README.md
Updated README by reformatting and restructuring.
- Added, Clarified and corrected grammatics and wrong info 
- Moved/Removed some redundant parts
2018-01-23 10:44:55 +02:00
Michael Teeuw
b1ab2ce96a Merge pull request #1146 from cederstrom/put-article-in-front-of-modules
Put article iframe in front of modules
2018-01-21 11:33:22 +01:00
Andreas Cederström
f299ba6218 Put article ifram in front of modules
Before this change the article was brought up in its ifram in fullscreen and you could still see the other modules in front of it
2018-01-20 23:46:58 +01:00
Michael Teeuw
d167ad1923 Merge pull request #1136 from E3V3A/patch-2
Update README
2018-01-19 09:15:54 +01:00
E:V:A
93626e8154 Fixed bullet points markup for lint 2018-01-19 09:13:59 +02:00
Michael Teeuw
d5040c091a Merge pull request #1143 from shbatm/bug-fix
Fix for #1140 - sendNotification module errors after #1116
2018-01-18 13:35:47 +01:00
shbatm
868daef0f0 Fix for #1140 - sendNotification module errors after #1116 2018-01-17 09:49:17 -06:00
Michael Teeuw
dc8e85e7f2 Merge pull request #1139 from amcolash/patch-1
Change English translation to "In 2 days"
2018-01-16 09:20:57 +01:00
Michael Teeuw
22d32d7ca3 Merge pull request #1141 from ConnorChristie/old-dom-event-fix
Fix to emit DOM_OBJECTS_CREATED event after module DOMs have actually loaded
2018-01-16 09:20:39 +01:00
Connor Christie
2d500f8074 Fix to emit DOM_OBJECTS_CREATED event after module DOMs have actually loaded 2018-01-14 22:03:09 -06:00
Andrew McOlash
452cdc17c6 Change English translation to "In 2 days" 2018-01-14 15:52:15 -06:00
E:V:A
bcbfee0321 Update README
Updated README to warn about long installation time as discussed in #1124.
2018-01-12 10:00:35 +02:00
Michael Teeuw
dab2e7ede3 Merge pull request #1127 from roramirez/set-version-test-7-node
Set only 7 version of node to run tests in Travis CI
2018-01-08 11:26:25 +01:00
Michael Teeuw
d91acb8352 Merge pull request #1126 from d-Rickyy-b/patch-1
Fix typo in newsfeed documentation
2018-01-08 11:23:49 +01:00
Rodrigo Ramírez Norambuena
373dd8058e Set only 7 version of node to run tests in Travis CI 2018-01-07 01:03:00 -03:00
Rico
de6310e52a Fix typo
A little typo which lead to poor formatting
2018-01-07 03:30:01 +01:00
Michael Teeuw
8c297a4a4c Merge pull request #1123 from E3V3A/patch-1
Added general advice
2018-01-06 19:49:44 +01:00
E:V:A
4eb5c817bc fixed typos 2018-01-06 20:19:43 +02:00
E:V:A
07e4b26b9e Added general advice 2018-01-06 19:57:46 +02:00
Michael Teeuw
b63aa62985 Merge pull request #1121 from henrikra/master
Add basic typescript types for module
2018-01-06 14:29:52 +01:00
Henrik Raitasola
ca701c0580 Merge branch 'master' of github.com:henrikra/MagicMirror 2018-01-06 15:26:51 +02:00
Henrik Raitasola
e37043a6a8 Solve conflict 2018-01-06 15:26:38 +02:00
Michael Teeuw
7c26975d14 Merge branch 'develop' into master 2018-01-06 14:16:21 +01:00
Henrik Raitasola
47f8a43637 Add changelog 2018-01-06 15:10:10 +02:00
Henrik Raitasola
1238c0cefe Rename file to be more explicit 2018-01-06 15:06:58 +02:00
Henrik Raitasola
4c35fda045 Add most used module properties 2018-01-06 15:04:54 +02:00
Henrik Raitasola
780124c2f5 Add basic types to get started 2018-01-06 14:51:32 +02:00
Michael Teeuw
38e0af41ce Merge pull request #1116 from ConnorChristie/async-dom
DOM creation notifications in cases of async template rendering
2018-01-04 21:51:13 +01:00
Connor Christie
601e99eec0 Merge branch 'develop' into async-dom 2018-01-02 18:10:07 -06:00
Connor Christie
745a2adee7 Merge branch 'develop' into async-dom 2018-01-02 18:08:55 -06:00
Connor Christie
9e83234df1 Update changelog 2018-01-02 18:06:21 -06:00
Connor Christie
e45eeadf7d Merge remote-tracking branch 'origin/master' into async-dom 2018-01-02 18:04:03 -06:00
Michael Teeuw
9a778cea6b Merge v2.2.2 changes. 2018-01-02 18:46:41 +01:00
Michael Teeuw
20823bfc87 Add missing package-lock.json. 2018-01-02 18:41:33 +01:00
Connor Christie
be3d703692 Fix linter errors 2018-01-01 10:55:39 -06:00
Connor Christie
e2df5739f0 Update module docs 2018-01-01 10:40:52 -06:00
Connor Christie
7bb11d6436 Add documentation regarding updates 2018-01-01 10:38:00 -06:00
Connor Christie
80b84212cc Add notification for module dom creation with async support 2018-01-01 10:23:15 -06:00
Connor Christie
4a1bee769b Add true module dom creation events 2018-01-01 09:42:34 -06:00
Michael Teeuw
de99a7aeaf Merge 2.2.1 changes. 2018-01-01 14:23:38 +01:00
Michael Teeuw
a0a02701b0 Update version number. 2018-01-01 13:42:39 +01:00
Michael Teeuw
1314ae1555 Add info about v2.2.1 2018-01-01 13:40:39 +01:00
Michael Teeuw
67cf0e745c Fix linting errors. 2018-01-01 13:39:05 +01:00
Michael Teeuw
538a2acbf5 Fix linting errors. 2018-01-01 13:38:07 +01:00
Michael Teeuw
8d0e453666 Preparation for v2.3.0 release. 2018-01-01 12:59:28 +01:00
Michael Teeuw
ace04f0b30 Merge pull request #1115 from MichMich/develop
Cleanup.
2018-01-01 12:48:22 +01:00
Michael Teeuw
f8e25d6c4a Cleanup. 2018-01-01 12:47:54 +01:00
Michael Teeuw
b2bc43da4f Merge pull request #1113 from MichMich/develop
Release v2.2.0.
2018-01-01 12:44:24 +01:00
Michael Teeuw
cb12e540d2 Add package lock. 2018-01-01 12:40:37 +01:00
Michael Teeuw
39955af2fa Upgrade packages. 2018-01-01 12:36:53 +01:00
Michael Teeuw
86e1f0615d Prepare for release v2.2.0 2018-01-01 12:33:00 +01:00
Michael Teeuw
dc81ab6dee Merge pull request #1111 from TTigges/weather_decimal_marks
added option of decimal comma for temp values for default weather modules
2017-12-31 12:25:24 +01:00
Michael Teeuw
f8cf6a65ae Merge branch 'develop' into weather_decimal_marks 2017-12-31 12:25:06 +01:00
Michael Teeuw
ba909c696d Merge branch 'develop' into weather_decimal_marks 2017-12-31 12:24:25 +01:00
Torben Tigges
df0515cebf currentweather, weatherforecast, changed option of decimal comma to any decimal symbol 2017-12-31 01:15:59 +01:00
Torben Tigges
46c0e14d67 currentweather, weatherforecast, added option of decimal comma for temperature values to config 2017-12-30 22:03:26 +01:00
Michael Teeuw
97d7733464 Remove trailing spaces. 2017-12-30 21:46:34 +01:00
Michael Teeuw
afda84ef09 Electron reverted. 2017-12-30 21:39:56 +01:00
Michael Teeuw
61d6e74102 Use an old electron version ...
Hopefully Electron will be fixed soon.
2017-12-30 21:33:56 +01:00
Michael Teeuw
8d74258ce2 Merge pull request #1102 from EricWarnke/patch-1
Spelling/grammar fix
2017-12-13 09:22:38 +01:00
Eric Warnke
5dfba0b834 Spelling/gramar fix 2017-12-12 15:54:33 -07:00
Michael Teeuw
056370ec08 Merge pull request #1092 from sebcaps/develop
Fix #1091 : handle empty description
2017-11-26 20:54:13 +01:00
unknown
4e2c254558 Fix #1091 : handle empty description 2017-11-26 11:52:01 +01:00
Michael Teeuw
38c2bdb447 Merge pull request #1090 from rejas/patch-1
Fix typo
2017-11-26 10:42:20 +01:00
Veeck
0cee4717e2 Fix typo 2017-11-26 10:02:31 +01:00
Michael Teeuw
221b04c466 Merge pull request #1089 from MichMich/patch-1
Update CHANGELOG.md
2017-11-25 12:15:54 +01:00
Michael Teeuw
237e9b7191 Merge pull request #1088 from reeno/patch-2
fixed width Font Awesome symbols
2017-11-25 12:15:27 +01:00
Michael Teeuw
9457e44a88 Update CHANGELOG.md 2017-11-25 12:14:54 +01:00
reeno
80a9d40a44 fixed width Font Awesome symbols
See http://fontawesome.io/examples/#fixed-width
2017-11-25 12:08:40 +01:00
Michael Teeuw
0715325a63 Merge pull request #1081 from ChytilTomas/develop
Develop
2017-11-17 09:06:06 +01:00
Michael Teeuw
0a026fef0f Update CHANGELOG.md 2017-11-17 09:05:33 +01:00
Tomáš Chytil
5fbf650d2d Czech translation 2017-11-16 23:06:52 +01:00
Tomáš Chytil
dabdde0c3f Czech translation 2017-11-16 23:01:00 +01:00
Michael Teeuw
b6ca92a7ef Merge pull request #1080 from slametps/develop
some new features (resubmission)
2017-11-15 08:26:25 +01:00
slametps
62f7339170 add some new options
add some new options
2017-11-15 12:21:45 +07:00
slametps
eaec682ea7 per feed reloadInterval support
per feed reloadInterval support
2017-11-15 12:21:22 +07:00
slametps
12110a4442 new options
* truncated description support
* specific reloadInterval for particular feed
2017-11-15 12:21:02 +07:00
slametps
df597f53b2 add no-cache entries in HTTP header
add no-cache entries in HTTP header
2017-11-15 12:19:53 +07:00
slametps
d7d40254d4 updated
updated
2017-11-15 12:19:19 +07:00
Michael Teeuw
e7c4a2cce6 Merge pull request #1072 from morozgrafix/newsfeed_filter
Added ability to set a list of prohibited words that will be filtered…
2017-11-01 11:53:00 +01:00
Sergey Morozov
0eb1c0cea6 Added ability to set a list of prohibited words that will be filtered out of newsfeed
Resolves #1071

`prohibitedWords` config parameter is an array of words. If set and case insensitive greedy match is found anywhere in the title then that newsfeed item will not be displayed. Readme updated with instructions.

Users should be careful on the words selection as careless setting may remove many or all items from the newsfeed. Some obvious mistakes like `space, comma, dot` etc. can be prevented programatically, but I left it out of this PR

Example:

with `prohibitedWords: ['dodgers']`

Original `newsItems`:
```
0:{title: "New York City, Russia, Los Angeles Dodgers: Your Wednesday Briefing", description: "Here’s what you need to know to start your day.", pubdate: "Wed, 01 Nov 2017 09:37:36 GMT", url: "https://www.nytimes.com/2017/11/01/briefing/new-yo…ssia-los-angeles-dodgers.html?partner=rss&emc=rss", sourceTitle: "New York Times"}
1:{title: "A Mangled School Bus, Bodies Everywhere; ‘It Was Surreal’", description: "A truck ramming bicyclists. The driver emerging wi…e attack, it was as confusing as it was gruesome.", pubdate: "Wed, 01 Nov 2017 09:27:41 GMT", url: "https://www.nytimes.com/2017/10/31/nyregion/nyc-sc…r-attack-truck-witnesses.html?partner=rss&emc=rss", sourceTitle: "New York Times"}
2:{title: "Dodgers 3, Astros 1 | Series tied, 3-3: With a Rally and a Romp, Dodgers Top Astros and Force Game 7", description: "Down by a run with just four innings left in Game …nst a dominating Justin Verlander. Game 7 awaits.", pubdate: "Wed, 01 Nov 2017 07:21:07 GMT", url: "https://www.nytimes.com/2017/11/01/sports/dodgers-win-game-6.html?partner=rss&emc=rss", sourceTitle: "New York Times"}
3:{title: "José Andrés Fed Puerto Rico, and May Change How Aid Is Given", description: "The chef’s huge effort is just the latest led by c…ocally based way to feed people after a disaster.", pubdate: "Wed, 01 Nov 2017 06:40:09 GMT", url: "https://www.nytimes.com/2017/10/30/dining/jose-andres-puerto-rico.html?partner=rss&emc=rss", sourceTitle: "New York Times"}
```

Filtered `newsItems`:
```
0:{title: "A Mangled School Bus, Bodies Everywhere; ‘It Was Surreal’", description: "A truck ramming bicyclists. The driver emerging wi…e attack, it was as confusing as it was gruesome.", pubdate: "Wed, 01 Nov 2017 09:27:41 GMT", url: "https://www.nytimes.com/2017/10/31/nyregion/nyc-sc…r-attack-truck-witnesses.html?partner=rss&emc=rss", sourceTitle: "New York Times"}
1:{title: "José Andrés Fed Puerto Rico, and May Change How Aid Is Given", description: "The chef’s huge effort is just the latest led by c…ocally based way to feed people after a disaster.", pubdate: "Wed, 01 Nov 2017 06:40:09 GMT", url: "https://www.nytimes.com/2017/10/30/dining/jose
```
2017-11-01 03:50:34 -07:00
Michael Teeuw
07d35a8513 Remove todo item. 2017-10-19 16:52:57 +02:00
Michael Teeuw
16c887814e Show humidity. 2017-10-19 16:51:51 +02:00
Michael Teeuw
22a50b72fd Show unit. 2017-10-19 16:43:12 +02:00
Michael Teeuw
a79e1b6ca1 Rename templates to .njk files to allow syntax highlighting. 2017-10-18 13:52:11 +02:00
Michael Teeuw
995296ef53 Merge branch 'develop' into weather-refactor 2017-10-18 13:49:53 +02:00
Michael Teeuw
f4d5996a88 Allow use of .njk extension for template files. 2017-10-18 13:49:03 +02:00
Michael Teeuw
ab732b5435 Make all visiable values dynamic. 2017-10-18 13:38:56 +02:00
Michael Teeuw
241ff5cb6e Set temperature rounding. 2017-10-18 12:19:02 +02:00
Michael Teeuw
ec2169e079 Merge branch 'develop' into weather-refactor 2017-10-18 12:01:44 +02:00
Michael Teeuw
c75662e720 Remove trailing spaces. 2017-10-18 12:01:06 +02:00
Michael Teeuw
d567fd4842 Merge branch 'develop' into weather-refactor 2017-10-18 11:59:29 +02:00
Michael Teeuw
0776dfc80e Minor changes. 2017-10-18 11:58:45 +02:00
Michael Teeuw
79a662fb93 Log nunjucks parsing errors for debugging. 2017-10-18 11:55:02 +02:00
Michael Teeuw
8b009b7ee9 Add Catalan translation. 2017-10-18 10:15:47 +02:00
Michael Teeuw
c4face30cc Update CHANGELOG.md 2017-10-18 10:14:54 +02:00
sergibarca
d4dbb5cb51 Translation to Catalan. 2017-10-17 22:24:13 +02:00
Michael Teeuw
1e27187652 Merge pull request #1060 from nhubbard/revert-1053-remove-package-lock.json
Revert "Delete large package-lock.json files"
2017-10-16 14:46:39 +02:00
Michael Teeuw
3ff278291f Merge pull request #1061 from qistoph/difflink
Add Github diff link to update info
2017-10-16 14:43:55 +02:00
Chris van Marle
4e8bf216df Update CHANGELOG 2017-10-16 14:26:15 +02:00
Chris van Marle
e7b9100f1c Add Github link to update info 2017-10-16 14:24:29 +02:00
Michael Teeuw
08aa9790f3 Fix lint issues. 2017-10-16 14:17:12 +02:00
Michael Teeuw
5f13fd2dca Merge pull request #1058 from shbatm/develop_1056
Gracefully Shutdown Module node_helpers on exit/SIGINT (Fixes #1056)
2017-10-16 13:59:40 +02:00
shbatm
f4c6f42c38 Added default implementation of stop() function. 2017-10-15 18:44:11 -05:00
Nicholas Hubbard
6a10d08189 Revert "Delete large package-lock.json files" 2017-10-13 19:59:39 -04:00
shbatm
f646360af6 Gracefully shutdown node_helpers (Fixes #1056)
Updated documentation


Corrected Typo in Documentation


Style correction
2017-10-13 16:43:11 -05:00
Michael Teeuw
95f265ebbf Merge pull request #1057 from Stromwerk/develop
Add Bulgarian translations for MagicMirror² and Alert module
2017-10-13 21:05:16 +02:00
Kalin Koychev
39d0142993 - Add Bulgarian translations for MagicMirror² and Alert module 2017-10-13 21:51:21 +03:00
Michael Teeuw
da16172244 Merge pull request #1055 from qistoph/commentscheck
Check trailing white space in comments too
2017-10-13 20:39:44 +02:00
Michael Teeuw
71aded0fae Merge pull request #1054 from qistoph/gruntfix
Fix some white space grunt errors
2017-10-13 20:39:04 +02:00
Michael Teeuw
e173b3ea41 Merge pull request #1053 from roramirez/remove-package-lock.json
Delete large package-lock.json files
2017-10-13 20:38:18 +02:00
Chris van Marle
6c4f9466b9 Don't ignore comments in trailing whitespace check 2017-10-12 11:06:57 +02:00
Chris van Marle
664196c5ef Fix some trailing whitespace grunt errors 2017-10-12 10:23:40 +02:00
Michael Teeuw
c8d5044e7a Merge pull request #1051 from egin10/patch-1
correcting translation for indonesian language
2017-10-10 17:20:28 +02:00
Michael Teeuw
d8c31fe560 Merge pull request #1049 from egin10/patch-2
Updating and Correcting Translation
2017-10-10 17:19:50 +02:00
Rodrigo Ramírez Norambuena
516db855f5 Delete large package-lock.json files 2017-10-08 23:41:51 -03:00
Ginanjar S.B
9cdcf08ab1 correcting translation for indonesian language 2017-10-09 08:05:11 +07:00
Ginanjar
326fa73b22 Updating and Correcting Translation 2017-10-08 03:03:29 +07:00
Michael Teeuw
79cacefd07 Merge pull request #1047 from jannickfahlbusch/useHTTPSOpenWeatherMap
Weather (Current/Forecast): Use HTTPS instead of HTTP
2017-10-06 21:32:49 +02:00
Jannick Fahlbusch
07e28bfee6 Use HTTPS instead of HTTP
Chrome blocks insecure requests (HTTP) when MagicMirror is loaded
via HTTPS. This commit changes the protocol used for OpenWeatherMap.
2017-10-06 21:31:06 +02:00
Michael Teeuw
980b017fbe Merge pull request #1046 from wbleek/master
moved weekNumber into field and adjusted language handling accordingly [issue #910]
2017-10-03 22:13:21 +02:00
Wolf-Gideon Bleek
4567fd1eb0 Merge branch 'develop' into master 2017-10-03 21:29:10 +02:00
Wolf-Gideon Bleek
8c150c23f3 moved weekNumber into field and adjusted language handling accordingly [issue #910] 2017-10-03 21:25:30 +02:00
Wolf-Gideon Bleek
b4fd570269 moved weekNumber into field and adjusted language handling accordingly [issue #910] 2017-10-03 21:18:25 +02:00
Michael Teeuw
681a845ef3 Add Darksky provider. 2017-10-03 14:38:54 +02:00
Michael Teeuw
6e051d73c1 Merge pull request #1044 from cederstrom/honor-calendar-maximum-entries
Slice the list of all calendar events to honor config.maximumEntries
2017-10-01 21:51:33 +02:00
Michael Teeuw
e381e1a313 Merge pull request #1042 from roramirez/readme-localhost-bind
Updated readme about default value for `address` configuration
2017-10-01 21:49:47 +02:00
Andreas Cederström
2d03ff63cf Slice the list of all events to honor config.maximumEntries
Scenario:
* Specify more than one calendar in `config.calendars`
* Specify a maximum number of entries in `config.maximumEntries`

Result:
The module will show as many as maximumEntries for EACH calendar

Expected:
The module shall not show more than a total of maximumEntries, regardless of how many calendars I specify

Fixes #1043
2017-10-01 21:47:10 +02:00
Rodrigo Ramírez Norambuena
309de631ed Updated readme about default value for address configuration changed it
in https://github.com/MichMich/MagicMirror/commit/2f05228d
2017-10-01 15:01:34 -03:00
Michael Teeuw
ad240cf52f Fix lint errors. 2017-10-01 16:19:14 +02:00
Michael Teeuw
99e3a47dde Use templates to render weather. 2017-10-01 13:50:15 +02:00
Michael Teeuw
3fa810b7b8 Merge branch 'develop' into weather-refactor 2017-10-01 13:25:52 +02:00
Michael Teeuw
bad7316b80 Allow html tags in text string. 2017-10-01 13:22:29 +02:00
Michael Teeuw
4757c36233 Updated changelog and minor fix example 2017-10-01 13:16:07 +02:00
Michael Teeuw
9ca6180207 Merge branch 'templates' into develop 2017-10-01 13:10:25 +02:00
Michael Teeuw
30179ad977 Setup of new dev release. 2017-10-01 12:39:48 +02:00
Michael Teeuw
b799609749 Merge pull request #1039 from MichMich/develop
Release 2.1.3
2017-10-01 12:36:53 +02:00
Michael Teeuw
efb6994ae7 Changes in preparation of 2.1.3 2017-10-01 12:34:54 +02:00
Nicholas Hubbard
cd129fb055 Revert "Fix Indentation?"
This reverts commit 2bf18d8bda.
2017-09-30 19:44:54 -04:00
Michael Teeuw
880a977dd6 Merge pull request #1038 from roramirez/templates-fixes
This fix the follow things:
2017-09-30 13:39:00 +02:00
Michael Teeuw
6eceffb403 Merge pull request #1037 from roramirez/lint-fix
Little lint fix
2017-09-30 13:36:38 +02:00
Rodrigo Ramírez Norambuena
795e33881c This fix the follow things:
* The default screen on missing configuration file and syntax error.
    * Tests
2017-09-29 19:10:03 -03:00
Rodrigo Ramírez Norambuena
d310c3857f Little lint fix 2017-09-29 18:33:17 -03:00
Nicholas Hubbard
837e275bfd Update fork 2017-09-29 10:11:46 -04:00
Nicholas Hubbard
7be6031e19 Merge branch 'weather-refactor' of https://github.com/MichMich/MagicMirror into weather-refactor 2017-09-29 10:11:22 -04:00
Michael Teeuw
8c53908cc4 Update CHANGELOG.md 2017-09-29 13:37:24 +02:00
Michael Teeuw
589b54984a Add slack badge. 2017-09-29 13:36:44 +02:00
Michael Teeuw
3f30ed5251 Add info about weather forecast. 2017-09-29 13:01:08 +02:00
Michael Teeuw
3f9181905a Fix typo's. 2017-09-29 11:05:59 +02:00
Michael Teeuw
29f3a81666 Fix weather forecast. 2017-09-29 10:04:42 +02:00
Michael Teeuw
5efc43260e Switch to async rendering. 2017-09-28 16:43:38 +02:00
Michael Teeuw
e01794a07f First Nunchucks Implementation. 2017-09-28 16:11:25 +02:00
Michael Teeuw
5fde095a6f Merge pull request #1024 from roramirez/openweathermap-forescast
Hack fix issue #1017
2017-09-28 14:44:13 +02:00
Michael Teeuw
3237af2d85 Add translation: Welsh (Cymraeg) 2017-09-28 14:42:21 +02:00
Michael Teeuw
953b666ebd Update translations.js 2017-09-28 14:41:30 +02:00
Michael Teeuw
417bb4bf37 Merge pull request #1022 from meigwilym/meigwilym-welsh-lang
Welsh (Cymraeg) language file
2017-09-28 14:39:26 +02:00
Michael Teeuw
a55213d88a Merge pull request #1019 from EdgardosReis/develop
Updated pt.json translation
2017-09-28 14:38:55 +02:00
Michael Teeuw
ec84d190f4 Remove newline. 2017-09-28 14:38:39 +02:00
Michael Teeuw
1b0bad72de Remove newline. 2017-09-28 14:38:08 +02:00
Michael Teeuw
931055708d Merge pull request #1033 from roramirez/one-instance-all-module-position-spec
Refactor modules_position_spec use one instance for all it statements
2017-09-26 08:56:06 +02:00
Rodrigo Ramírez Norambuena
15fd570b49 Refactor modules_position_spec use one instance for all it statements 2017-09-25 20:52:27 -03:00
Michael Teeuw
ff9c6bac0a Add a small forecast example. 2017-09-22 13:26:44 +02:00
Michael Teeuw
713111254b First implementation of the currentWeatherView 2017-09-22 12:26:47 +02:00
Michael Teeuw
5b1462a3e8 Add readme. 2017-09-22 10:37:39 +02:00
Nicholas Hubbard
2bf18d8bda Fix Indentation? 2017-09-21 20:12:25 -04:00
Nicholas Hubbard
7f2e643e62 Add Dark Sky Module 2017-09-21 20:06:42 -04:00
Michael Teeuw
ef172592b8 A first setup of the new Weather Module 2017-09-21 16:38:18 +02:00
Michael Teeuw
5e51a438a7 Merge pull request #1025 from ryck/feature/indoorHumidity
Feature/indoor humidity
2017-09-20 15:19:53 +02:00
Ricardo Gonzalez
7f768059e6 Update README 2017-09-17 16:33:23 +01:00
Ricardo Gonzalez
ea70175a17 Merge branch 'develop' into feature/indoorHumidity
* develop: (71 commits)
  Update sample address
  set version of express-ipfilter:
  Describe default in comment of sample config
  More secure defaults.
  Fix grunt errors
  Weather forecast settings match current weather
  Fix JavaScript error in weatherforecast
  Update fr.json
  TestSuite: Show the missing strings for translations files.
  Update fr.json with added translations
  Added e2e test for font files
  Fix issue #986
  Fix extra tab file translations/zh_cn.json
  Add Changelog entry for new e2e test for helloworld module
  Small change for re-running Travis CI
  Change Two Conditionals to UpperCase-If
  Fix linting?
  Show Scale of Temperature if config flag is set
  Change to install Roboto fonts by npm
  Update stylelint package
  ...

# Conflicts:
#	CHANGELOG.md
2017-09-17 16:32:37 +01:00
Ricardo Gonzalez
74a736691a Merge remote-tracking branch 'upstream/develop' into develop
* upstream/develop: (71 commits)
  Update sample address
  set version of express-ipfilter:
  Describe default in comment of sample config
  More secure defaults.
  Fix grunt errors
  Weather forecast settings match current weather
  Fix JavaScript error in weatherforecast
  Update fr.json
  TestSuite: Show the missing strings for translations files.
  Update fr.json with added translations
  Added e2e test for font files
  Fix issue #986
  Fix extra tab file translations/zh_cn.json
  Add Changelog entry for new e2e test for helloworld module
  Small change for re-running Travis CI
  Change Two Conditionals to UpperCase-If
  Fix linting?
  Show Scale of Temperature if config flag is set
  Change to install Roboto fonts by npm
  Update stylelint package
  ...
2017-09-17 16:31:27 +01:00
Mei Gwilym
86ff44adfc Welsh (Cymraeg) language file 2017-09-13 22:17:07 +01:00
Rodrigo Ramírez Norambuena
58b763e935 Hack fix issue #1017 2017-09-12 10:31:49 -03:00
EdgardosReis
5c90cc59aa Updated pt.json translation 2017-09-10 21:42:01 +01:00
Michael Teeuw
710ab44073 Merge pull request #1014 from roramirez/tests/unit/weatherforecast
Add roundValue unit test function weatherforecast module:
2017-09-07 10:07:28 +02:00
Michael Teeuw
b28c5e6807 Merge pull request #1015 from roramirez/show-missing-string-test-translations
TestSuite: Show the missing strings for translations files.
2017-09-07 10:07:09 +02:00
Michael Teeuw
e5ead9ed44 Merge pull request #1004 from qistoph/issue950
More secure defaults.
2017-09-06 15:25:04 +02:00
Chris van Marle
d99897cf9d Update sample address
As proposed in review
2017-09-06 15:22:17 +02:00
Michael Teeuw
701a7cae02 Merge pull request #1011 from qistoph/fix_on_991
Fix on 991
2017-09-06 14:40:32 +02:00
Michael Teeuw
068b6a5470 Merge pull request #1012 from roramirez/set-version-express-ipfilter
set version of express-ipfilter:
2017-09-06 14:19:30 +02:00
Rodrigo Ramírez Norambuena
45d597ac49 set version of express-ipfilter:
Prevent problems with ipWhitelist using []

Information in https://forum.magicmirror.builders/topic/4716/issue-with-white-list-ip-s-not-working/14
4adc5dc33e
2017-09-05 23:56:32 -03:00
Chris van Marle
a518d3f33f Describe default in comment of sample config 2017-09-01 14:46:25 +02:00
Chris van Marle
2f05228d91 More secure defaults.
Without config, listen only on looback interface. In sample config
listen on any interface, but use an IP whitelist.

Related to #950
2017-09-01 14:46:25 +02:00
Chris van Marle
335ae0105f Fix grunt errors 2017-09-01 11:17:01 +02:00
Chris van Marle
62ce7a0e37 Weather forecast settings match current weather
This change makes the config of weather forecast more in line with
current weather. It uses the configured units (metric, imperial,
default) to determine the sign.
2017-09-01 10:58:21 +02:00
Chris van Marle
afa0fb8da1 Fix JavaScript error in weatherforecast
Change 5568e0c2ad introduces JavaScript
errors, because it's calling toUpperCase() on a boolean value.
2017-09-01 10:38:25 +02:00
Michael Teeuw
763d835f4e Merge pull request #1006 from gcarret/patch-1
Added translations for french language
2017-08-29 14:17:43 +02:00
Michael Teeuw
0289872dcd Merge pull request #1000 from QNimbus/fix-issue-986
Fix for issue 986 (font file paths)
2017-08-29 14:15:27 +02:00
Michael Teeuw
2810141bd6 Merge pull request #997 from roramirez/extra-tab-translations/zh_cn.json
Fix extra tab file translations/zh_cn.json
2017-08-29 14:14:32 +02:00
Michael Teeuw
93ea22c69d Merge pull request #996 from roramirez/default-hello-world
Default hello world
2017-08-29 14:14:12 +02:00
Michael Teeuw
daf76a311c Merge pull request #991 from DanielWeeber/temperature-scale-show
Temperature scale show
2017-08-29 14:13:43 +02:00
gcarret
b94271a725 Update fr.json 2017-08-29 07:21:10 +02:00
Rodrigo Ramírez Norambuena
1456aeedf2 TestSuite: Show the missing strings for translations files.
In the translations test now when are missing some translations for
determinated language will be show the missing string.

This can help to identified and improved the translations files.

/me listening STP: Silvergun superman
2017-08-28 21:31:01 -03:00
gcarret
4c6589a57e Update fr.json with added translations 2017-08-27 14:30:58 +02:00
Bas van Wetten
5b9a61b7db Added e2e test for font files 2017-08-21 15:33:17 +02:00
Bas van Wetten
96e71695c5 Fix issue #986
Fixed some font file paths
2017-08-21 11:51:57 +02:00
Rodrigo Ramírez Norambuena
2e7dd1bde3 Fix extra tab file translations/zh_cn.json 2017-08-20 22:50:29 -03:00
Rodrigo Ramírez Norambuena
2de543f5f9 Add Changelog entry for new e2e test for helloworld module 2017-08-20 22:49:23 -03:00
Rodrigo Ramírez Norambuena
a6ee20fca4 Merge remote-tracking branch 'roramirez_github/develop' into default-hello-world 2017-08-20 22:49:13 -03:00
DanielWeeber
2d2f159e04 Small change for re-running Travis CI 2017-08-16 12:11:57 +02:00
DanielWeeber
5568e0c2ad Change Two Conditionals to UpperCase-If 2017-08-16 10:00:38 +02:00
DanielWeeber
cb2cc0cb9e Fix linting? 2017-08-15 20:57:18 +02:00
DanielWeeber
5e573ca980 Show Scale of Temperature if config flag is set 2017-08-15 19:54:35 +02:00
Michael Teeuw
dcb4a315a6 Merge pull request #990 from roramirez/deprecation-warning
Added deprecation warning for authentication of the calendar module.
2017-08-13 19:21:17 +02:00
Rodrigo Ramírez Norambuena
4bd36fc29e Merge branch 'develop' into deprecation-warning 2017-08-13 04:28:06 -03:00
Michael Teeuw
1a7971ec82 Merge pull request #987 from roramirez/update-stylelint
Update stylelint package
2017-08-12 16:52:13 +02:00
Michael Teeuw
c1eda034b3 Merge pull request #989 from roramirez/add-log-deprecated-function
Add log deprecated function in test
2017-08-12 13:50:52 +02:00
Michael Teeuw
2294d722c7 Merge pull request #986 from roramirez/roboto-fonts-as-vendor
Change to install Roboto fonts by npm
2017-08-12 13:50:23 +02:00
Michael Teeuw
7d053be6d1 Merge pull request #975 from QNimbus/unittests/calendar
Add unittest for calendar module
2017-08-12 13:50:07 +02:00
Michael Teeuw
7a508661eb Merge branch 'develop' into update-stylelint 2017-08-10 16:29:30 +02:00
Michael Teeuw
c976242ce5 Merge branch 'develop' into unittests/calendar 2017-08-10 16:27:00 +02:00
Michael Teeuw
2b77c372a3 Merge pull request #979 from CatoAntonsen/fix_filepath
Fix this.file path
2017-08-10 16:26:03 +02:00
Michael Teeuw
b61cc67997 Merge pull request #983 from roramirez/test-unit-js-class
Test unit js class
2017-08-10 12:15:31 +02:00
Michael Teeuw
de8db1a86d Merge branch 'develop' into test-unit-js-class 2017-08-10 12:15:23 +02:00
Michael Teeuw
abfdf0e1c2 Merge pull request #982 from roramirez/doc-roundValue
Fix Documentation in  roundValue function
2017-08-10 12:14:58 +02:00
Michael Teeuw
1d662e354b Merge branch 'develop' into doc-roundValue 2017-08-10 12:14:16 +02:00
Michael Teeuw
663e9a9b5e Merge pull request #973 from roramirez/add-code-error-cliente-failstart
Add log when clientonly failed on starting.
2017-08-10 12:12:24 +02:00
Michael Teeuw
8535409962 Merge branch 'develop' into add-code-error-cliente-failstart 2017-08-10 12:12:17 +02:00
Michael Teeuw
cd5623b348 Merge pull request #972 from roramirez/add-warning-color-full-ip
Add warning color when are using full ip whitelist
2017-08-10 12:11:51 +02:00
Michael Teeuw
673e051bd5 Merge pull request #969 from roramirez/showWeek-test-es-language
Show week test es language
2017-08-10 12:11:25 +02:00
Michael Teeuw
66c949057e Merge pull request #968 from roramirez/set-version-test-dependencies
Set version spectron for 3.6.x
2017-08-10 12:11:12 +02:00
Rodrigo Ramírez Norambuena
aed09f0c64 Change to install Roboto fonts by npm 2017-08-07 20:45:42 -04:00
Rodrigo Ramírez Norambuena
c05f306b0d Update stylelint package 2017-08-06 07:59:31 -04:00
Rodrigo Ramírez Norambuena
739fb99ced Resolved conflict unit tests between currentweather and newsfeed. 2017-08-06 07:53:03 -04:00
Rodrigo Ramírez Norambuena
7fc82ccead Update Changelog for unit tests for currentweather module 2017-08-07 20:42:32 -04:00
Rodrigo Ramírez Norambuena
8ae947f59c Merge remote-tracking branch 'origin/round-temp-unit' into doc-roundValue 2017-08-07 20:40:27 -04:00
Rodrigo Ramírez Norambuena
d34b493b7d Fix clock_es_spec running before the clock_spec 2017-08-05 22:30:38 -04:00
Rodrigo Ramírez Norambuena
4df6e0ee7d Merge remote-tracking branch 'upstream/develop' into showWeek-test-es-language 2017-08-05 21:12:39 -04:00
Rodrigo Ramírez Norambuena
aac4ef05e4 Merge remote-tracking branch 'upstream/develop' into test-unit-js-class 2017-08-05 19:50:34 -04:00
Rodrigo Ramírez Norambuena
ea2f53e166 Merge remote-tracking branch 'upstream/develop' into doc-roundValue 2017-08-05 18:20:22 -04:00
Rodrigo Ramírez Norambuena
f144ec67ab Add changelog entry for log in failed of clientonly 2017-08-05 17:48:20 -04:00
Rodrigo Ramírez Norambuena
7e42dcf0b5 Merge branch 'develop' into add-code-error-cliente-failstart 2017-08-05 17:47:36 -04:00
Rodrigo Ramírez Norambuena
87c4dc313a Merge branch 'develop' into set-version-test-dependencies 2017-08-05 17:44:51 -04:00
Rodrigo Ramírez Norambuena
0d29339898 Merge branch 'develop' into add-warning-color-full-ip 2017-08-05 17:44:05 -04:00
Michael Teeuw
6d83f18490 Merge pull request #981 from roramirez/disable-vendor_spec
Disabled tests of vendor_spec:
2017-08-05 21:30:44 +02:00
Rodrigo Ramírez Norambuena
0ba125c2d7 Disabled tests of vendor_spec:
Sometimes these getting failed in Travis.
2017-08-05 02:40:03 -04:00
Rodrigo Ramírez Norambuena
6abd120a5c Add CHANGELOG entry for color in warning if full ip whitelist 2017-08-04 22:39:52 -04:00
Rodrigo Ramírez Norambuena
5cf7e89ce6 Merge remote-tracking branch 'roramirez_github/develop' into add-warning-color-full-ip 2017-08-04 22:38:31 -04:00
Cato Antonsen
353786cb61 Fix this.file path 2017-08-03 21:34:23 +02:00
Michael Teeuw
586beea21e Merge pull request #977 from roramirez/use-before-after-vendors
Use before after vendors
2017-08-02 12:07:40 +02:00
Rodrigo Ramírez Norambuena
b80454a1f4 Added log text DEPRECATED for old method of authentication 2017-07-31 17:18:34 -04:00
Rodrigo Ramírez Norambuena
19f80cf506 Add entry in Changelog for change hooks in vendors_spec 2017-07-31 16:58:33 -04:00
Rodrigo Ramírez Norambuena
d01100bb15 Merge remote-tracking branch 'roramirez_github/develop' into use-before-after-vendors 2017-07-31 16:57:24 -04:00
Bas van Wetten
e0414e4eb9 Add unittest for calendar module
Add unittest for 'getLocalSpecification' function.
2017-07-31 22:36:14 +02:00
Michael Teeuw
1eb10e3c22 Merge pull request #971 from roramirez/set-title-magicmirror-2
Set title on MagicMirror² for index.html
2017-07-31 15:04:54 +02:00
Michael Teeuw
4772fbcd4a Merge pull request #970 from QNimbus/unittest-calendar
Add new unit tests
2017-07-31 15:04:25 +02:00
Michael Teeuw
18b61e35be Merge branch 'develop' into unittest-calendar 2017-07-31 15:04:16 +02:00
Michael Teeuw
bb7faf0fb3 Merge pull request #967 from roramirez/show-test-build-npm-dependencies
Debug npm list in CI
2017-07-31 15:03:25 +02:00
Michael Teeuw
1603742adc Merge branch 'develop' into show-test-build-npm-dependencies 2017-07-31 15:03:20 +02:00
Michael Teeuw
8a830e40bb Merge pull request #966 from roramirez/format-changelog
Fix litles changes of format in the Changelog
2017-07-31 15:02:43 +02:00
Michael Teeuw
d8adcf5a84 Merge branch 'develop' into format-changelog 2017-07-31 15:02:36 +02:00
Michael Teeuw
1d9a404f77 Merge pull request #965 from roramirez/newfeed-unit
Newfeed unit
2017-07-31 15:00:37 +02:00
Michael Teeuw
26dcaf6078 Merge pull request #962 from QNimbus/fix-issue-961
Fix calendar.js bug
2017-07-31 15:00:15 +02:00
Michael Teeuw
a91e4014bf Merge pull request #959 from roramirez/include-node-8
Include node 8 testsuite and CI
2017-07-31 14:59:34 +02:00
Rodrigo Ramírez Norambuena
06af327e5e Added deprecation warning for authentication of the calendar module.
Discussed in Review
9848f80630 (r105531731)
2017-07-30 22:56:27 -04:00
Bas van Wetten
35e3b889c3 Add new unit tests
Add new unit tests for 'shorten' function in calendar module
2017-07-29 16:02:53 +02:00
Bas van Wetten
5ef6ba0258 Small edit of CHANGELOG
Added a period at the end of the CHANGELOG entries
2017-07-29 11:44:43 +02:00
Bas van Wetten
12754ff135 Updated changelog for calendar fix
Updated changelog for calendar fix
2017-07-28 22:19:25 +02:00
Bas van Wetten
d09a1e254f Merge branch 'fix-issue-963' into fix-issue-961 2017-07-28 21:34:58 +02:00
Bas van Wetten
b89ee67daf Merge branch 'fix-issue-961' into fix-issue-963 2017-07-28 21:33:10 +02:00
Bas van Wetten
7bd256c311 Fix calendar.js bug issue #963
Fixed calendar specific configuration settings maximumEntries and maximumNumberOfDays not overriding global setting
2017-07-28 21:07:38 +02:00
Bas van Wetten
4add7cd0b3 Fix calendar.js bug
Fix bug where excludedEvents count towards maximumEntries displayed
2017-07-28 17:47:22 +02:00
Rodrigo Ramírez Norambuena
5ac20cc4cf SuiteTest: Added unit tests for js/class.js 2017-07-25 21:42:51 -04:00
Rodrigo Ramírez Norambuena
9d7b0487d5 Change hooks for vendor_spec:
Use the hooks before and after in the vendor_spec instead of use beforeAll and
afterAll in the e2e test to prevent failure in CI.
2017-07-25 20:24:04 -04:00
Rodrigo Ramírez Norambuena
59aa84f6c8 Add log when clientonly failed on starting. 2017-07-25 17:52:44 -04:00
Rodrigo Ramírez Norambuena
765b03c868 Add warning color when are using full ip whitelist 2017-07-25 11:26:01 -04:00
Rodrigo Ramírez Norambuena
41ce3db8f9 Set title on MagicMirror² for index.html 2017-07-25 11:00:38 -04:00
Rodrigo Ramírez Norambuena
00e3ef757c Merge remote-tracking branch 'roramirez_github/develop' into showWeek-test-es-language 2017-07-25 10:53:50 -04:00
Rodrigo Ramírez Norambuena
84dc0b2959 Set version spectron for 3.6.x 2017-07-25 10:28:45 -04:00
Rodrigo Ramírez Norambuena
2e48099070 Debug npm list in CI
Execute npm list after the tests in Travis
2017-07-25 10:07:32 -04:00
Rodrigo Ramírez Norambuena
77779bbcd9 Fix litles changes of format in the Changelog 2017-07-25 09:50:51 -04:00
Rodrigo Ramírez Norambuena
e08bc01c33 Fix conflict with test function newsfeed 2017-07-25 09:32:32 -04:00
Michael Teeuw
bf24ee369f Merge pull request #957 from QNimbus/develop
Addition to .gitignore to ignore VS Code folder
2017-07-25 14:50:00 +02:00
Michael Teeuw
876f12db89 Merge pull request #955 from roramirez/close-code-tag-README-modules
Close code tag and fix format for Modules Readme
2017-07-25 14:49:42 +02:00
Michael Teeuw
8b84459e13 Merge pull request #953 from roramirez/activate-test-e2e
Activate e2e test in Travis and desactivate failed test in CI:
2017-07-25 14:49:25 +02:00
Rodrigo Ramírez Norambuena
dccfcc9663 Merge pull request #2 from QNimbus/activate-test-e2e
Change suggestion for e2e testing
2017-07-24 22:38:32 -04:00
Bas van Wetten
203e1cc9b9 Implemented requested change PR #2
Moved tests/e2e_new to tests/e2e folder
2017-07-24 22:08:12 +02:00
Bas van Wetten
b612f0cdec PR for issue #956
Changed .gitignore to ignore Visual Studio Code project folder with custom launch configuration. (See issue #956)
2017-07-24 21:56:53 +02:00
Rodrigo Ramírez Norambuena
961301fbec Merge remote-tracking branch 'roramirez_github/develop' into newfeed-unit 2017-07-24 11:36:16 -04:00
Rodrigo Ramírez Norambuena
2a38d99cf1 Merge remote-tracking branch 'roramirez_github/develop' into include-node-8 2017-07-24 11:34:47 -04:00
Rodrigo Ramírez Norambuena
7903328c2d Add Node 8 for testing 2017-07-23 20:49:52 -04:00
Rodrigo Ramírez Norambuena
56d2b4a80c Close code tag and fix format for Modules Readme 2017-07-23 20:31:26 -04:00
Ricardo Gonzalez
2c6ecaab5b Add ability for currentweather module to display indoor humidity via INDOOR_HUMIDITY notification 2017-07-23 23:55:32 +01:00
Ricardo Gonzalez
45d289a65e Merge branch 'develop' of github.com:ryck/MagicMirror into develop
* 'develop' of github.com:ryck/MagicMirror:
  Add template for v2.1.3
  Set dev version.
2017-07-23 23:52:10 +01:00
Bas van Wetten
318c8c68b0 Change suggestion for e2e testing
- Changed global-setup.js to allow for easier test creation
- Changed each e2e test suite to work with new global-setup.js
- All tests (except for dev_console.js) now work with Travis CI
2017-07-23 23:06:27 +02:00
Michael Teeuw
fbd47a7f3b Merge pull request #951 from QNimbus/fix-issue-950
Fix for issue #950
2017-07-20 10:12:45 +02:00
Rodrigo Ramírez Norambuena
07533f5658 Activate e2e test in Travis and desactivate failed test in CI:
- dev_console
 - vendor_spec
2017-07-20 00:34:20 -04:00
Rodrigo Ramírez Norambuena
66b7e3e1f5 Fix lint newsfeed_spec 2017-07-20 00:27:57 -04:00
Rodrigo Ramírez Norambuena
4fee4d1903 Add Changelog Unit test for capitalizeFirstLetter newfeed module 2017-07-20 00:10:01 -04:00
Rodrigo Ramírez Norambuena
90d70beea2 Merge remote-tracking branch 'roramirez_github/develop' into newfeed-unit 2017-07-20 00:09:05 -04:00
Unknown
a7297d2685 Fix for issue #950
Changed 'server.js' to allow an empty ipwhitelist to allow any and all hosts instead of none as mentioned in the documentation
2017-07-18 14:07:18 +02:00
Michael Teeuw
86ae704e86 Merge pull request #924 from QNimbus/client-only-pr
Added clientonly script
2017-07-12 11:08:04 +02:00
Michael Teeuw
2d1e993fe1 Merge branch 'develop' into client-only-pr 2017-07-12 11:07:49 +02:00
Michael Teeuw
04b550e435 Update correct version. 2017-07-12 10:58:28 +02:00
Michael Teeuw
c492ea77f1 Merge pull request #943 from QNimbus/fix-issue-940
Fix issue #940
2017-07-12 10:55:43 +02:00
Michael Teeuw
61d9112ba7 Merge pull request #941 from QNimbus/fix-issue-933
Fix issue #933
2017-07-12 10:55:23 +02:00
Michael Teeuw
d7fe36de71 Merge pull request #934 from eouia/develop
add symbol and color on broadcasted events
2017-07-12 10:54:59 +02:00
Unknown
db0bd3fa2d Fix issue #940
Fix for issue 940 - time was incorrectly displayed in a 12-hour fashion regardless of the 24 hour clock preference in config.js
2017-07-09 11:46:59 +02:00
Unknown
551619e772 Fix issue #933
This is a fix for issue 933 which restores the original alligment of the analog clock; the analog clock still does not properly align to the left of the left sidebar when content of other left sidebar modules is too wide.
2017-07-08 21:31:05 +02:00
eouia
29bae230a4 Update CHANGELOG.md 2017-07-06 16:09:49 +02:00
eouia
83be49156f symbol and color for broadcasted events (calendar)
- Add symbol and color properties of event when `CALENDAR_EVENTS` notification is broadcasted from `defaultcalendar` module.
2017-07-06 16:09:16 +02:00
eouia
561ae102fb add symbol and color on broadcasted events 2017-07-06 11:57:16 +02:00
Unknown
a05e69b855 Removed cookie dependencies
Removed module import and dependency on the 'cookie' library; it's not used anymore
2017-07-02 12:10:16 +02:00
Unknown
8eb772d80b Allow use of env variables
Made some changes that allows the use of environment variables when starting the standalone client.
2017-07-02 12:10:16 +02:00
Unknown
1590693547 New server route to fetch config
Added a new route to the Express server to supply client with config. Removed the original 'cookie' hack
2017-07-02 12:10:16 +02:00
Unknown
66f93ee541 Added clientonly script
Added clientonly script to have server and client run at different locations
2017-07-02 12:10:16 +02:00
Michael Teeuw
8893df118e Add template for v2.1.3 2017-07-01 20:36:17 +02:00
Michael Teeuw
2c77cb5ca5 Set dev version. 2017-07-01 20:35:11 +02:00
Michael Teeuw
8a101f9e9a Merge pull request #931 from MichMich/develop
Release 2.1.2
2017-07-01 20:32:59 +02:00
Michael Teeuw
ce98d0184d Update Version Number 2017-07-01 20:07:08 +02:00
Michael Teeuw
402dea3c8b Prepare for release. 2017-07-01 20:03:17 +02:00
Michael Teeuw
223cf4b2b2 Merge pull request #926 from QNimbus/calendar-timeformat-pr
Calender respects timeformat
2017-06-29 09:26:26 +02:00
Michael Teeuw
8fb7e79bb3 Merge branch 'develop' into calendar-timeformat-pr 2017-06-29 09:26:18 +02:00
Michael Teeuw
5a2d386976 Merge pull request #929 from QNimbus/clock-alignment-pr
Issue with date alignment in clock.js
2017-06-29 09:24:55 +02:00
Michael Teeuw
96622533e0 Merge pull request #930 from talpah/translations/ro
Romanian translation
2017-06-29 09:24:21 +02:00
Cosmin
8814ce05a9 Add translations for ro. 2017-06-29 10:05:14 +03:00
Unknown
c15148fc07 Issue with date aligment in clock.js
In reference to issue #927. Made changes to clock.js and clock_styles.css to prevent aligment problem when displaying analog clock and large calendar entries
2017-06-26 20:19:13 +02:00
Unknown
3404ebbbb8 Calender respects timeformat
In reference to issue #776, made changes to calendar.js to respect timeformat config option if it is used
2017-06-26 14:43:40 +02:00
Michael Teeuw
51494cabc8 Merge pull request #921 from QNimbus/pr-01
Removed unused import
2017-06-21 12:43:50 +02:00
Michael Teeuw
1eb326683e Merge pull request #919 from QNimbus/develop
Added Dutch translation
2017-06-21 12:43:24 +02:00
Unknown
98bcfbef7e Removed unused import
Removed unused import from js/electron.js
2017-06-18 19:17:41 +02:00
Unknown
9416980096 Added Dutch translation
Added Dutch translation to Alert module
2017-06-13 20:33:48 +02:00
Michael Teeuw
b34505c086 Merge pull request #918 from fmandal/patch-1
Added week translation
2017-06-13 16:54:06 +02:00
Michael Teeuw
a65edf52ca Merge pull request #916 from paviro/patch-7
Markdown header fixes
2017-06-13 16:53:46 +02:00
Michael Teeuw
d1513f2575 Merge pull request #915 from rejas/cleanups
Cleanups
2017-06-13 16:53:23 +02:00
Fredrik Mandal
12d20c35be Added week translation 2017-06-13 01:52:13 +02:00
Paul-Vincent Roll
9f822c0991 Markdown header fixes 2017-06-11 23:44:43 +02:00
Veeck
96c338859b More lazy sunday cleanups of missing semicolons, unused vars and other small thins 2017-06-11 11:53:55 +02:00
Veeck
a2464dce73 Udpate dependencies 2017-06-11 11:36:17 +02:00
Veeck
53476b723d Merge branch 'develop' into cleanups 2017-06-11 11:29:19 +02:00
Michael Teeuw
ca92a0af5c Merge pull request #895 from JanLoebel/develop
#891 Added ability to change the custom.css path.
2017-06-03 19:10:45 +02:00
Michael Teeuw
6e6cd90f6d Merge pull request #908 from retroflex/swe-translation-corrections
Corrected Swedish translations for TODAY/TOMORROW/DAYAFTERTOMORROW.
2017-06-03 08:08:28 +02:00
Michael Teeuw
adc84e1f93 Merge pull request #909 from roramirez/test-unit-desactivate-e2e
Run test unit for failed in Travis of e2e
2017-06-03 08:07:47 +02:00
Veeck
20687d915a Remove unused vars and whitelines, cleanups 2017-06-02 19:35:10 +02:00
Rodrigo Ramírez Norambuena
12a34f0b09 Run test unit for failed in Travis of e2e 2017-05-31 13:50:04 -04:00
retroflex
e5e49e4347 Corrected Swedish translations for TODAY/TOMORROW/DAYAFTERTOMORROW. 2017-05-29 22:55:42 +02:00
Michael Teeuw
9f61256e5e Move stylelint to devDep. 2017-05-26 14:43:44 +02:00
Michael Teeuw
ac6e370a78 Merge pull request #900 from rejas/package_updates
Fix npm warning regarding stylelint
2017-05-26 14:42:58 +02:00
Michael Teeuw
a9c2c2178a Merge branch 'develop' into package_updates 2017-05-26 14:42:24 +02:00
Michael Teeuw
c67419bb55 Merge pull request #899 from roramirez/module-stylelint
Remove warnings
2017-05-26 14:41:14 +02:00
Michael Teeuw
631c270fc7 Merge pull request #898 from roramirez/fix-comment
Fix spelling comment js/loader.js
2017-05-26 14:40:59 +02:00
Michael Teeuw
3c82dfc0a5 Merge pull request #897 from roramirez/information-Beaufort-function
Add link for information about Beaufort Wind Scale for ms2Beaufort
2017-05-26 14:40:47 +02:00
Michael Teeuw
063574023b Merge pull request #873 from roramirez/fixme_for_test_week_number
ADD fixme wanted where the day if sunday for test number of week
2017-05-26 14:40:06 +02:00
Veeck
5f539b133b Update dependencies, add stylelint too 2017-05-21 19:16:09 +02:00
Jan Löbel
0bb52a6058 #891 Added ability to change the custom.css path. 2017-05-19 19:54:43 +02:00
Michael Teeuw
0db40bbb32 Merge pull request #893 from xuanyou/xuanyou-patch-compliments-documentation
Xuanyou patch compliments documentation
2017-05-18 12:35:42 +02:00
Michael Teeuw
f66114e203 Merge pull request #892 from markuzSchmidt/patch-1
Correction of Documentation of `resume()`
2017-05-18 12:34:17 +02:00
Michael Teeuw
2fcc064b0f Merge pull request #879 from retroflex/develop 2017-05-18 12:33:58 +02:00
Michael Teeuw
a4c441a1b7 Merge branch 'develop' into develop 2017-05-18 12:33:34 +02:00
xuanyou
cbb6e4d6f3 Update docs: classes config variable default value 2017-05-18 18:25:17 +08:00
xuanyou
34361ccd1c Update documentation for compliments module
Added documentation for the config variable "classes" that allows the user to override the css classes of the compliments module display.

Fixed the erroneous "a default calendar is shown" to "default compliments".
2017-05-18 18:14:43 +08:00
markuzSchmidt
c953936798 Update README.md 2017-05-17 22:00:55 +02:00
Michael Teeuw
6fd2a6ef34 Merge pull request #885 from z0diak/develop
fixing issue with installer (#884)
2017-05-15 20:25:41 +02:00
Rodrigo Ramírez Norambuena
be05f1a71f Remove warnings
npm WARN grunt-stylelint@0.8.0 requires a peer of stylelint@^7.8.0 but
none was installed.

npm WARN stylelint-config-standard@16.0.0 requires a peer of
stylelint@^7.8.0 but none was installed.
2017-05-11 02:44:52 -03:00
Rodrigo Ramírez Norambuena
0de65d9c0f Fix spelling comment js/loader.js 2017-05-11 02:30:25 -03:00
Vladimir Filimonov
a60f4e3bad fixing issue https://github.com/MichMich/MagicMirror/issues/884 2017-05-06 21:42:02 +03:00
Michael Teeuw
ab30ea766b Merge pull request #882 from roramirez/remove_log_socketclient
Remove commented log not used in js/socketclient.js
2017-05-03 17:34:29 +02:00
Michael Teeuw
099a7c46b7 Merge pull request #881 from roramirez/spelling-changelog
Fix spelling Changelog
2017-05-03 17:34:15 +02:00
Michael Teeuw
a7afcd9644 Merge branch 'develop' into spelling-changelog 2017-05-03 17:34:03 +02:00
retroflex
7c80eec755 Merge branch 'develop' into develop 2017-05-02 21:24:36 +02:00
retroflex
07c50c20b6 Spaces -> tabs. 2017-05-02 21:20:35 +02:00
Michael Teeuw
08d841f6c5 Merge pull request #872 from Arkkimaagi/patch-2
Support showing wind direction with an arrow
2017-05-01 14:29:23 +02:00
Michael Teeuw
6b144c5816 Merge branch 'develop' into patch-2 2017-05-01 14:29:14 +02:00
Michael Teeuw
322cec0980 Merge pull request #877 from Arkkimaagi/better-translations
Improve translation flexibility
2017-05-01 14:27:35 +02:00
Michael Teeuw
73a47b2853 Merge pull request #883 from jasonyork/develop
Update currentweather to support indoor temperature
2017-05-01 14:26:05 +02:00
Jason York
0036ec2214 Update currentweather to support indoor temperature 2017-04-30 20:58:25 -05:00
Rodrigo Ramírez Norambuena
98dc69893e Fix spelling Changelog 2017-04-29 23:25:57 -03:00
retroflex
af48af5085 Updated changelog: Added option to set a separate date format for full day events. 2017-04-28 23:56:05 +02:00
retroflex
0b2279a113 Merge remote-tracking branch 'original/develop' into develop 2017-04-28 23:39:57 +02:00
retroflex
ba63a44ec8 Added option to set a separate date format for full day events. 2017-04-28 23:31:07 +02:00
Mikko Tapionlinna
7c20d2f97c Merge branch 'develop' into better-translations 2017-04-28 15:35:28 +03:00
Mikko Tapionlinna
8e7369f0b5 Merge branch 'develop' into patch-2 2017-04-28 15:34:40 +03:00
Mikko Tapionlinna
5f80deb5b7 Added direction as an arrow feature to CHANGELOG.md 2017-04-28 15:33:32 +03:00
Mikko Tapionlinna
826fdbf342 Add flexible word order translations to CHANGELOG.md 2017-04-28 15:31:07 +03:00
Mikko Tapionlinna
7e5186c3c7 Add documentation for new translate features 2017-04-28 15:24:41 +03:00
Mikko Tapionlinna
2bc5253725 Set default value for showWindDirectionAsArrow 2017-04-28 13:59:07 +03:00
Mikko Tapionlinna
f58787bb50 Add documentation for showWindDirectionAsArrow 2017-04-28 13:58:52 +03:00
Michael Teeuw
88a01d39ee Merge pull request #869 from roramirez/check-default-modules-directory
Check default modules directory
2017-04-26 09:36:19 +02:00
Mikko Tapionlinna
ee88897b18 Add better support for translations with backwards compatibility 2017-04-25 23:15:34 +03:00
Rodrigo Ramírez Norambuena
b26f9e316d ADD fixme wanted where the day if sunday for test number of week 2017-04-24 22:49:15 -03:00
Mikko Tapionlinna
0e486b45e1 Support showing wind direction with an arrow
As described in https://github.com/MichMich/MagicMirror/issues/871 this feature lets user use arrow instead of an abbreviation for wind directions. This can be especially helpful on languages like Finnish that do not have all the compass directions English has.
2017-04-24 23:54:32 +03:00
Rodrigo Ramírez Norambuena
f730d2fc27 Add changelog test directories for default modules 2017-04-22 21:23:48 -03:00
Rodrigo Ramírez Norambuena
26303c8617 Merge remote-tracking branch 'roramirez_github/develop' into check-default-modules-directory 2017-04-22 21:22:41 -03:00
Michael Teeuw
a6485b61a4 Merge pull request #867 from fewieden/bugfix-compliment-duplicates
bugfix for duplicated compliments
2017-04-22 18:58:32 +02:00
Michael Teeuw
7db07bca35 Merge branch 'develop' into bugfix-compliment-duplicates 2017-04-22 18:58:26 +02:00
Michael Teeuw
19bbe0fc1f Merge pull request #865 from jeliasson/patch-1
Indent and double-quoute
2017-04-22 18:57:50 +02:00
Michael Teeuw
2b2c2de583 Merge pull request #863 from roramirez/message-port-server
Message port server
2017-04-22 18:57:35 +02:00
Michael Teeuw
b05534472c Merge pull request #862 from roramirez/dev-args
Change method for check if pass dev parameter
2017-04-22 18:57:12 +02:00
Michael Teeuw
30aa8d469c Merge pull request #861 from roramirez/unit-calendar
Unit calendar
2017-04-22 18:56:55 +02:00
fewieden
c4282a3593 null isn't typeof undefined 2017-04-22 12:25:51 +02:00
fewieden
778107aae9 add edge case anytime only 2017-04-22 12:09:52 +02:00
fewieden
581af762f9 bugfix for duplicated compliments 2017-04-22 11:35:42 +02:00
Johan Eliasson
31e63b576b Indent and double-quoute 2017-04-21 23:02:33 +02:00
Michael Teeuw
efb592dce5 Merge pull request #856 from bastilimbach/develop
Outsource Dockerfiles
2017-04-19 21:45:42 +02:00
Michael Teeuw
fa5b936d7b Merge pull request #858 from roramirez/check-week-number
Check week number
2017-04-19 21:45:23 +02:00
Rodrigo Ramírez Norambuena
4904bd53ef Fix grunt double quotes unit calendar_spec 2017-04-19 00:45:55 -03:00
Rodrigo Ramírez Norambuena
320ce372f5 Add changelog unit test capFirst function on calendar module 2017-04-19 00:39:18 -03:00
Rodrigo Ramírez Norambuena
7a803abec8 Merge remote-tracking branch 'roramirez_github/develop' into unit-calendar 2017-04-19 00:38:35 -03:00
Rodrigo Ramírez Norambuena
f34407fc43 Add 404 test HTTP code for vendors 2017-04-18 23:44:50 -03:00
Rodrigo Ramírez Norambuena
b41bda569d Change method for check if pass dev parameter 2017-04-18 23:34:14 -03:00
Rodrigo Ramírez Norambuena
fd2919fd1c Remove commented log not used in js/socketclient.js 2017-04-18 23:14:07 -03:00
Rodrigo Ramírez Norambuena
dce8edf742 Merge branch 'develop' into check-week-number 2017-04-18 22:59:07 -03:00
Rodrigo Ramírez Norambuena
298e32aada Fix Grunt error
124:38  error  Strings must use doublequote  quotes
2017-04-18 22:38:29 -03:00
Rodrigo Ramírez Norambuena
2b2136867d Add change double message port in starting server 2017-04-18 22:31:16 -03:00
Rodrigo Ramírez Norambuena
c1830aa37c Fix message port starting server 2017-04-18 22:21:55 -03:00
Michael Teeuw
a3d4049c9c Merge pull request #848 from MichMich/master
Unable to install dependencies!
2017-04-17 10:59:43 +02:00
Sebastian Limbach
058b4bbe6c Add changes to changelog 2017-04-16 22:48:05 +02:00
Michael Teeuw
c4c7b2ed5b Merge pull request #853 from roramirez/gitignore-vim
ignore git file for vim and patch
2017-04-16 22:27:14 +02:00
Michael Teeuw
aee607ea81 Merge pull request #852 from roramirez/sort-dependencies
Sort dependencies in the file package.json
2017-04-16 22:27:02 +02:00
Michael Teeuw
5eea5939c0 Merge pull request #850 from roramirez/defaultModules-set
Default modules set
2017-04-16 22:26:42 +02:00
Sebastian Limbach
ac53d64ffc Change docker hub url 2017-04-16 21:17:52 +02:00
Sebastian Limbach
9ebee8c03e Delete all Docker related files
The Docker images are outsourced to https://github.com/bastilimbach/docker-MagicMirror
2017-04-16 21:17:07 +02:00
Rodrigo Ramírez Norambuena
93965fd98b Add changelog test modules/default/defaultmodules.js 2017-04-13 23:44:37 -03:00
Rodrigo Ramírez Norambuena
59c25ef915 Merge remote-tracking branch 'roramirez_github/develop' into defaultModules-set 2017-04-13 23:43:07 -03:00
Rodrigo Ramírez Norambuena
7e9c4848fb Sort dependencies in the file package.json 2017-04-13 08:40:51 -03:00
Rodrigo Ramírez Norambuena
467b1ad4f1 Add test match week number with clock module with configuration showWeek 2017-04-12 22:29:20 -03:00
Michael Teeuw
f45bd18cc2 Merge pull request #846 from bastilimbach/develop
Add the ability to use the docker image with a raspberry pi
2017-04-12 22:18:33 +02:00
Sebastian Limbach
4f844abc0c Change copy flag to not replace existing modules 2017-04-12 20:21:51 +02:00
Sebastian Limbach
b688dcd4ba Add changes to changelog 2017-04-12 20:20:30 +02:00
Sebastian Limbach
d5e902679b Change linux distribution
I changed the linux distribution from node, which used Debian, to an arm based linux distribution so the application can be used on an arm based system (e.g. Raspberry)
2017-04-12 20:19:24 +02:00
Michael Teeuw
eae21e1371 Merge pull request #837 from roramirez/tests-vendors
Tests vendors
2017-04-11 10:45:47 +02:00
Rodrigo Ramírez Norambuena
947c2e556d Add test e2e showWeek feature in spanish language. 2017-04-09 15:32:15 -03:00
Rodrigo Ramírez Norambuena
d68d4c2c76 Add Changelog vendor_spec 2017-04-07 10:08:42 -03:00
Rodrigo Ramírez Norambuena
1ef451c048 Merge remote-tracking branch 'roramirez_github/develop' into tests-vendors 2017-04-07 10:06:33 -03:00
Michael Teeuw
ec20748594 Merge pull request #836 from roramirez/check-wrong-configuration
Check wrong configuration
2017-04-07 08:42:04 +02:00
Michael Teeuw
764f05b42a Merge pull request #833 from javiersigler/task/improve_dockerfile
Docker - Do not replace configuration
2017-04-07 08:41:13 +02:00
Michael Teeuw
5c41e24b99 Merge pull request #832 from MichMich/MichMich-patch-1
Add missing dependency.
2017-04-07 08:40:12 +02:00
Rodrigo Ramírez Norambuena
9725091233 Merge remote-tracking branch 'roramirez_github/develop' into check-wrong-configuration 2017-04-06 21:32:48 -03:00
Javier Sigler
8f8dfabe0f Merge branch 'develop' of github.com:MichMich/MagicMirror into task/improve_dockerfile 2017-04-06 16:46:41 +02:00
Javier Sigler
b9749bad61 Do not replace configuration 2017-04-06 16:43:53 +02:00
Michael Teeuw
31609a8aba Add missing dependency. 2017-04-06 16:34:16 +02:00
Michael Teeuw
28e8cc2675 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2017-04-06 16:30:38 +02:00
Michael Teeuw
033d3c92ab Add missing dependency 2017-04-06 16:28:48 +02:00
Michael Teeuw
3484fcfd2a Merge pull request #829 from roramirez/instruction_installer-develop
Instruction installer develop
2017-04-06 16:24:42 +02:00
Michael Teeuw
a8e18d7f99 Merge pull request #830 from roramirez/format-tab-config.sample
Fix extra tabs added in config.js.sample
2017-04-06 16:24:29 +02:00
Michael Teeuw
db30b58ee9 Merge pull request #828 from greg-dev/update-ru-week
Add Russian translation for week
2017-04-06 16:24:18 +02:00
Michael Teeuw
3748488200 Merge pull request #824 from roramirez/instruction_installer
Fix instruction README for install by script
2017-04-06 16:22:29 +02:00
Rodrigo Ramírez Norambuena
c53a20a577 Add changelog entry fix instruction_installer 2017-04-05 22:10:05 -03:00
Rodrigo Ramírez Norambuena
dfcb2b610a Merge remote-tracking branch 'roramirez_github/develop' into instruction_installer 2017-04-05 22:01:01 -03:00
Greg Dev
95278a78ff Add Russian translation for week 2017-04-05 23:39:39 +02:00
Michael Teeuw
400d577546 Merge pull request #825 from javiersigler/task/improve_dockerfile
Task/improve dockerfile
2017-04-05 20:14:46 +02:00
Michael Teeuw
60cf6cec5e Merge pull request #822 from roramirez/website-package
Change website in package.json
2017-04-05 20:13:13 +02:00
Michael Teeuw
13901b9028 Merge pull request #821 from roramirez/newsfeed_test_case
Newsfeed test case
2017-04-05 20:12:57 +02:00
Michael Teeuw
23454a918d Merge pull request #820 from roramirez/note-information-configuration-file
Add note about how configurate the file into config.js.sample
2017-04-05 20:12:37 +02:00
Javier Sigler
fa64ecf513 Remove layers and fix npm install of vendor 2017-04-04 18:34:19 +02:00
Javier Sigler
bb8c0f1d9c Merge branch 'develop' of github.com:javiersigler/MagicMirror into task/improve_dockerfile 2017-04-04 18:32:22 +02:00
Javier Sigler
6e33e063da Remove layers and fix npm install of vendor 2017-04-04 18:30:24 +02:00
Rodrigo Ramírez Norambuena
e44893f91e Fix instruction README for install by script
issue close #823
2017-04-04 11:09:49 -03:00
Rodrigo Ramírez Norambuena
f2c3fc20de ignore git file for vim and patch 2017-04-03 15:50:25 -03:00
Rodrigo Ramírez Norambuena
d903fe400f Add entry in Changelog for newsfeed_test_case 2017-04-03 15:21:52 -03:00
Michael Teeuw
22e4e4125a Merge pull request #818 from fewieden/fix-typo
fixed typo + eslint
2017-04-03 20:21:35 +02:00
Michael Teeuw
badddfe3d7 Merge pull request #817 from fewieden/german-translation
added german translation key
2017-04-03 20:20:59 +02:00
Michael Teeuw
e14816dcfa Merge pull request #816 from roramirez/fix-spelling
Fix spelling mistake
2017-04-03 20:20:41 +02:00
Rodrigo Ramírez Norambuena
4b83722a66 Merge remote-tracking branch 'roramirez_github/develop' into newsfeed_test_case 2017-04-03 15:20:24 -03:00
Rodrigo Ramírez Norambuena
c798913fd2 Fix extra tabs added in config.js.sample 2017-04-03 15:18:35 -03:00
Rodrigo Ramírez Norambuena
636dbe5b95 Globing pattern test grunt (#1)
* Fix Matching patterns tests directories Grunt task of eslint

* Fix eslint errors in testsuite.

* Format one line per file in src section in Gruntfile.js
2017-04-03 16:47:22 +02:00
Rodrigo Ramírez Norambuena
ab28d0e09f Add note about how configurate the file into config.js.sample 2017-04-03 11:28:46 -03:00
fewieden
a74efd285c fix typo + eslint 2017-04-03 10:37:23 +02:00
fewieden
3e1eb03517 added german translation key 2017-04-03 10:06:57 +02:00
Michael Teeuw
fb90574d44 Update CHANGELOG.md 2017-04-02 23:10:32 +02:00
Michael Teeuw
c0fb337dfb Merge pull request #815 from greg-dev/update-pl
Add Polish translation for week and day after tomorrow
2017-04-02 23:09:49 +02:00
Michael Teeuw
e7775bb9d9 Merge pull request #814 from amcolash/wrap_events
Option to wrap events in calendar
2017-04-02 23:09:11 +02:00
Greg Dev
64f2a67573 Add Polish translation for week and day after tomorrow 2017-04-02 22:29:54 +02:00
Andrew McOlash
154e33a2c3 Make times align to the top of the cell 2017-04-02 15:10:00 -05:00
Andrew McOlash
63ae2b8095 Add in ability to wrap calendar events to multiple lines 2017-04-02 15:06:58 -05:00
Michael Teeuw
6165a6af6c Merge pull request #812 from doug-kline/patch-1
TL;RL cheat notes for IPv4 ipWhitelist when PI listening on IPv6
2017-04-02 09:07:51 +02:00
Doug Kline
4a70e3cd31 Update config.js.sample 2017-04-01 18:54:28 -04:00
Doug Kline
5ccf053cba TL;RL cheat notes for IPv4 ipWhitelist
Hopefully save a google or support request --  while still using IPv4 addresses on MagicMirror network, need to set full address by using ::ffff: as prefix to IP in config.  e.g.  ::ffff:192.168.5.1 and not 192.168.5.1
2017-04-01 17:23:24 -04:00
Michael Teeuw
5a6f5133af Prepare setup for 2.1.2 2017-04-01 22:05:21 +02:00
Michael Teeuw
1a2b4f8260 Merge pull request #811 from MichMich/develop
Release 2.1.1
2017-04-01 22:00:06 +02:00
Michael Teeuw
5436050df1 Prepare for release. 2017-04-01 21:49:52 +02:00
Michael Teeuw
d3f3946971 Merge pull request #810 from roramirez/vendor-fix-moment-timezone-script
Bugfix introduced into bb08fe8113
2017-04-01 21:49:03 +02:00
Rodrigo Ramírez Norambuena
597a7f7b40 Bugfix introduced into bb08fe8113
This is work on Pull Request #803 and help of @johanhammar and @fewieden
2017-04-01 15:53:20 -03:00
Michael Teeuw
02f549d1dd Merge pull request #809 from roramirez/readme-timezone
Add link more information timezone information for configuracion in clock module
2017-04-01 11:15:52 +02:00
Michael Teeuw
0c096bb090 Merge pull request #806 from johanhammar/newsfeed-documentation-updates
Updated documentation and fixed typos for the newsfeed module
2017-03-31 09:29:04 +02:00
Michael Teeuw
8bc6cd7fc9 Merge pull request #799 from roramirez/missing-entries-changelog-test
Add in Changelog missing tests added for 2.1.1 version
2017-03-31 09:27:03 +02:00
Michael Teeuw
65d9e5d1fc Merge pull request #800 from roramirez/test-set-MM_PORT
Test set mm port
2017-03-31 09:26:43 +02:00
Johan Hammar
47c356692f Fix a few more typos 2017-03-30 22:14:11 +02:00
Rodrigo Ramírez Norambuena
ef9157174c Fix broken next test:
Now after ran the test MM_PORT of test case for change of port the
enviroment variable is deleted.
2017-03-30 16:41:46 -03:00
Johan Hammar
7345807871 Updated documentation and fixed typos for the newsfeed module. Fixes GH-804 2017-03-30 21:15:51 +02:00
Rodrigo Ramírez Norambuena
19b9d3737e Merge branch 'develop' into test-set-MM_PORT 2017-03-30 16:12:08 -03:00
Michael Teeuw
db3be3d80a Merge pull request #801 from johanhammar/clock-week-section
Added a week section to the clock module
2017-03-30 20:32:53 +02:00
Michael Teeuw
60c7522f22 Merge pull request #802 from johanhammar/develop
Corrected minor typo
2017-03-30 20:32:36 +02:00
Michael Teeuw
60002793b0 Merge pull request #805 from zhyuri/develop
Updated the zh_cn translation.
2017-03-30 20:32:14 +02:00
Yuri
9e5a4189d7 Update zh_cn.json 2017-03-30 14:48:21 +08:00
Yuri
945cbdd3a7 Update zh_cn.json
Add Chinese support updated.
2017-03-30 14:47:16 +08:00
Rodrigo Ramírez Norambuena
f974fd0660 Add roundValue unit test function weatherforecast module:
- tests for this.config.roundTemp is false
    - tests for this.config.roundTemp is true
2017-03-29 00:29:47 -03:00
Rodrigo Ramírez Norambuena
af9fdfa224 Add roundValue unit test function currentweather module:
- tests for this.config.roundTemp is false
2017-03-28 22:15:48 -03:00
Johan Hammar
77c72d2bb3 Merge pull request #1 from roramirez/add-es
Add translations es for Week
2017-03-28 23:02:08 +02:00
Rodrigo Ramírez Norambuena
8404617090 Add translations es for Week 2017-03-28 17:57:34 -03:00
Johan Hammar
cc9a429689 Corrected minor typo 2017-03-28 22:44:47 +02:00
Johan Hammar
44f50eba5b Updated changelog with information about the new week section of the clock module 2017-03-28 22:30:48 +02:00
Johan Hammar
f4509e24c6 Added a week section to the clock module 2017-03-28 22:02:30 +02:00
Rodrigo Ramírez Norambuena
e17a40fdb2 Merge branch 'develop' into missing-entries-changelog-test 2017-03-28 13:19:26 -03:00
Rodrigo Ramírez Norambuena
181cb235df Unit test currentweather module:
Add roundValue unit test function currentweather module
	tests for this.config.roundTemp is true
2017-03-28 10:05:08 -03:00
Michael Teeuw
e3456cb74f Merge pull request #788 from flo80/fullscreen
Support full screen
2017-03-28 13:31:58 +02:00
Michael Teeuw
e377552f12 Merge branch 'develop' into fullscreen 2017-03-28 12:55:10 +02:00
Michael Teeuw
9ab9e4894d Merge pull request #789 from 42SK/develop
Added option to ignore old items in the news feed module
2017-03-28 12:54:09 +02:00
Michael Teeuw
5782979203 Merge pull request #796 from roramirez/package-description
change description package.json
2017-03-28 12:53:25 +02:00
Michael Teeuw
a4bb279da8 Merge pull request #795 from roramirez/test-port-8090
Test change port configuration
2017-03-28 12:53:07 +02:00
Michael Teeuw
8df9549a42 Merge pull request #794 from roramirez/test-position-modules
Add test module position using helloworld
2017-03-28 12:52:57 +02:00
Michael Teeuw
de873c5f6f Merge pull request #793 from roramirez/format-CHANGELOG
Format changelog for 2.1.1
2017-03-28 12:51:44 +02:00
Michael Teeuw
3425e929e9 Merge pull request #790 from roramirez/404_request-test
Test env 404 not found request http://localhost:8080/nothing
2017-03-28 12:51:23 +02:00
Rodrigo Ramírez Norambuena
60c5d96037 fix documentation currentweather and weatherforecast function
roundValue:

This function toFixed return a string type not a number value.
2017-03-27 12:18:36 -03:00
Rodrigo Ramírez Norambuena
4b4c3ddb2f Add changelog test MM_PORT 2017-03-27 02:01:42 -03:00
Rodrigo Ramírez Norambuena
1ea50ea917 Merge branch 'develop' into test-set-MM_PORT 2017-03-28 13:16:56 -03:00
Rodrigo Ramírez Norambuena
29f68d218d Fix spelling mistake 2017-03-26 18:06:34 -03:00
Rodrigo Ramírez Norambuena
daad8bca69 Add test e2e helloworld module with default config text. 2017-03-26 17:36:45 -03:00
Rodrigo Ramírez Norambuena
f4408aa72c Add link for information about Beaufort Wind Scale for ms2Beaufort
function in currentweather and weatherforecast module
2017-03-26 16:57:46 -03:00
Rodrigo Ramírez Norambuena
0117cd478b Unit test for capitalizeFirstLetter newfeed module 2017-03-26 16:19:45 -03:00
Rodrigo Ramírez Norambuena
9ad22d7405 Add link more information timezone information for configuracion in
clock module.
2017-03-26 16:13:54 -03:00
Rodrigo Ramírez Norambuena
de4d0989e9 Add unit test function capFist calendar module 2017-03-26 00:49:22 -03:00
Rodrigo Ramírez Norambuena
0c884c2669 Test for default module directories 2017-03-25 23:52:18 -03:00
Rodrigo Ramírez Norambuena
5d7cfc1c10 test for modules set in modules/default/defaultmodules.js 2017-03-25 19:01:05 -03:00
Rodrigo Ramírez Norambuena
fd2b070a6a Change website in package.json 2017-03-25 00:26:47 -03:00
Flo
455819566b Update CHANGELOG.md 2017-03-24 23:13:08 +01:00
Flo
b39113f0ae Removed fullscreen toggle; is now own, configurable module 2017-03-24 23:10:05 +01:00
Flo
af0f1939a3 Fixed lint errors 2017-03-22 22:28:51 +01:00
Flo
becb9fc43e Updated CHANGELOG 2017-03-22 22:27:47 +01:00
Flo
8b9c274fdd Moved scripts to bottom in index.html 2017-03-22 22:27:19 +01:00
Flo
0701f3496b Merge branch 'fullscreen' of github.com:flo80/MagicMirror into fullscreen 2017-03-22 22:20:27 +01:00
Flo
09c03e8ca7 Support full screen mode on iOS and enable "click to toggle fullscreen" in standard browsers 2017-03-22 22:19:19 +01:00
Michael Teeuw
9285da6c12 Merge pull request #787 from roramirez/200_request-test
test env requst http://localhost:8080
2017-03-22 09:03:08 +01:00
Flo
6a0e16885d Support full screen mode on iOS and enable "click to toggle fullscreen" in standard browsers 2017-03-21 20:56:11 +01:00
42SK
f0db135b1d Added option to ignore old items in the news feed module
Outdated news items can be omitted via the ignoreOldItems and the ignoreOlderThan option.
2017-03-21 19:39:51 +01:00
Rodrigo Ramírez Norambuena
4fb86bd699 change description package.json 2017-03-19 16:54:36 -03:00
Michael Teeuw
c62082b924 Merge pull request #785 from roramirez/colors-error
Use color red for error when the configuration file is not found.
2017-03-18 21:50:18 +01:00
Michael Teeuw
e8f592c6e0 Merge pull request #784 from roramirez/validate_vendor_js_file
Fix eslintignore for vendor/vendor.js and fix the eslint validation
2017-03-18 21:49:46 +01:00
Michael Teeuw
61935942cf Merge pull request #783 from roramirez/fixspace-code-main
Remote extra space  main.js
2017-03-18 20:44:32 +01:00
Michael Teeuw
f1d8bb84b7 Merge pull request #782 from roramirez/fail-auth-calendar
Add test module calendar fail basic auth
2017-03-18 20:44:22 +01:00
Rodrigo Ramírez Norambuena
7918448be2 Add test for vendor
This test get all vendor defined.  Create a get request http each vendor
and expect the 200 HTTP code.
2017-03-18 13:19:31 -03:00
Rodrigo Ramírez Norambuena
f89f704a69 Add task to check configuration file syntax. 2017-03-18 09:45:32 -03:00
Rodrigo Ramírez Norambuena
ae33de7e7c Add in Changelog missing tests added for 2.1.1 version 2017-03-18 09:42:36 -03:00
Rodrigo Ramírez Norambuena
b23e474648 Format changelog for 2.1.1 2017-03-18 09:36:50 -03:00
Michael Teeuw
611bc26685 Merge pull request #719 from roramirez/test-without-modules
Testing default modules
2017-03-18 11:43:06 +01:00
Michael Teeuw
0dc39166ac Merge pull request #775 from roramirez/npm-vendors
Npm for vendors
2017-03-18 11:42:38 +01:00
Michael Teeuw
8d970b7858 Merge pull request #781 from roramirez/test-ipWhitelist-none
Add test  ipWhistelist = []
2017-03-18 11:41:31 +01:00
Michael Teeuw
7033c4a182 Merge pull request #780 from roramirez/restore-code-merges
Restore code removed on Merges on 2017-03-17
2017-03-18 11:41:17 +01:00
Rodrigo Ramírez Norambuena
2c0ca78265 Merge branch 'colors-error' into check-wrong-configuration 2017-03-18 06:00:49 -03:00
Rodrigo Ramírez Norambuena
0d3c03d1e3 Restore code removed on Merges on 2017-03-17 2017-03-17 22:36:21 -03:00
Michael Teeuw
b4dfce4a44 Merge branch 'fewieden-calendar-multiple-icons' into develop 2017-03-17 15:37:40 +01:00
Michael Teeuw
91ca3939b3 Fix Merge Conflicts 2017-03-17 15:36:55 +01:00
Michael Teeuw
92db5d3a35 Merge pull request #770 from amcolash/excluded_events
Calendar module excluded events filter
2017-03-17 14:35:30 +01:00
Michael Teeuw
f252960aaf Merge branch 'develop' into excluded_events 2017-03-17 14:35:11 +01:00
Michael Teeuw
4aec39df7a Fix Merge Conflicts. 2017-03-17 14:32:01 +01:00
Michael Teeuw
15b19925f2 Fix Merge 2017-03-17 14:16:35 +01:00
Michael Teeuw
bfb376505b Merge pull request #759 from roramirez/readme-ipWhitelist
Add note to allow all IP addresses. ipWhitelist configuration directive.
2017-03-17 14:10:24 +01:00
Andrew McOlash
ec75ff5292 Merge branch 'develop' into excluded_events 2017-03-17 07:28:06 -05:00
Michael Teeuw
28eb0be4ad Merge pull request #769 from amcolash/single_line_news
Add in single line news items
2017-03-17 13:27:13 +01:00
Andrew McOlash
4d3b6b1486 Merge remote-tracking branch 'upstream/develop' into excluded_events 2017-03-17 07:25:42 -05:00
Andrew McOlash
d3fd9a188d Merge branch 'develop' into single_line_news 2017-03-17 07:18:13 -05:00
Andrew McOlash
41a15f90cb Merge remote-tracking branch 'upstream/develop' into single_line_news 2017-03-17 07:17:19 -05:00
Michael Teeuw
9c604a7886 Merge pull request #773 from amcolash/degree_label 2017-03-17 13:12:49 +01:00
Andrew McOlash
8ad1d6fd97 Merge branch 'develop' into degree_label 2017-03-17 07:12:15 -05:00
Andrew McOlash
a18e7eb089 Fix conflict with CHANGELOG, merge with upstream/develop 2017-03-17 07:08:00 -05:00
BeatIdo
1f5ea40bf6 News Feed hideLoading option 2017-03-17 09:08:45 +01:00
BeatIdo
44509e027c Add hideLoading option description 2017-03-17 09:06:29 +01:00
Michael Teeuw
fe3758b1bb Merge pull request #768 from roramirez/test-auth-calendar
Test auth calendar
2017-03-17 08:59:04 +01:00
Michael Teeuw
ebe2a30463 Merge pull request #754 from deg0nz/develop
Add support for more authentication methods for the default calendar module
2017-03-17 08:58:37 +01:00
Michael Teeuw
1216a26d13 Merge pull request #766 from BeatIdo/patch-1
Complete OWM city list URL
2017-03-17 08:55:52 +01:00
Michael Teeuw
65800853f4 Merge pull request #765 from roramirez/test-ipWhitelist
Add test without access by ipWhistelist
2017-03-17 08:55:15 +01:00
fewieden
ccb81179ab fix config option 2017-03-16 16:57:55 +01:00
Rodrigo Ramírez Norambuena
f2ea701d34 Fix eslintignore for vendor/vendor.js and fix the eslint validation 2017-03-14 22:53:37 -03:00
Rodrigo Ramírez Norambuena
1d4aa27f1c Merge pull request #1 from fewieden/npm-vendors
fix recursive installation loop, added other vendor dependencies
2017-03-14 17:35:34 -03:00
fewieden
bb08fe8113 fix recursive installation loop, added other vendor dependencies 2017-03-14 11:49:20 +01:00
Andrew McOlash
e2099f0749 Fix indents 2017-03-13 06:27:54 -05:00
Andrew McOlash
3c60feed02 Add in degree label to solve issue #753 2017-03-13 06:24:04 -05:00
Andrew McOlash
5466e1b733 Remove unnecessary string from excluded array 2017-03-12 20:22:40 -05:00
Rodrigo Ramírez Norambuena
328f15c2ea Add font-awesome using npm on vendors:
This can updated libs and clean repository code.
2017-03-12 21:55:08 -03:00
Andrew McOlash
873125abe1 Add changes to CHANGELOG 2017-03-12 11:39:05 -05:00
Andrew McOlash
5df818a19c Add in support to hide and exclude events based on a filter 2017-03-12 11:36:40 -05:00
Andrew McOlash
a5dc3cd018 Update CHANGELOG to reflect updates to the codebase 2017-03-11 17:40:24 -06:00
Andrew McOlash
afe0e3c1d6 Add in option to have single line news 2017-03-11 17:36:47 -06:00
Beh
91e1f958f2 Removed Calendar.zip 2017-03-11 12:24:17 +01:00
Rodrigo Ramírez Norambuena
2a94ee55cc Add first test for newsfeed module.
This test case check if set newsfeed title
2017-03-10 21:02:33 -03:00
Rodrigo Ramírez Norambuena
ccf612f536 Add sample xml rss feed from Blog's RodrigoRamirez.com 2017-03-10 20:38:18 -03:00
Rodrigo Ramírez Norambuena
c6fa0cc072 Add test for check MM_PORT enviroment variable 2017-03-10 18:21:06 -03:00
Rodrigo Ramírez Norambuena
c282bb2fe1 Fix if MM_PORT enviroment variable is set 2017-03-10 18:20:11 -03:00
Rodrigo Ramírez Norambuena
72d18fd7e1 Add test module position using helloworld
Also is using a configuration with "exotic content"
2017-03-10 17:52:40 -03:00
Rodrigo Ramírez Norambuena
6802873cd1 Add test module calendar fail basic auth 2017-03-10 16:50:25 -03:00
Rodrigo Ramírez Norambuena
1bdc46969c Add information message when the ipWhitelist is configurate with [] 2017-03-10 16:36:17 -03:00
Rodrigo Ramírez Norambuena
989ee0e281 Add link for tutorial ipWhitelist HowTo of @mochman 2017-03-10 16:27:05 -03:00
BeatIdo
0f27d646bb removed trailing spaces 2017-03-10 17:03:14 +01:00
BeatIdo
81aca500b3 Hide News Feed loading option
Configuration option to hide News Feed module if feed is empty instead of showing LOADING status
2017-03-10 16:56:28 +01:00
BeatIdo
50f2dded64 Complete OWM city list URL 2017-03-10 16:42:43 +01:00
Michael Teeuw
d26d94b62a Merge pull request #760 from roramirez/readme-tab-fix
Fix tab documentacion calendar for colored option
2017-03-10 14:59:22 +01:00
Michael Teeuw
2811f76714 Merge pull request #758 from CatoAntonsen/nn_translation
Updated Norwegian translations (nn and nb)
2017-03-10 14:57:09 +01:00
Michael Teeuw
67b21ad766 Merge pull request #757 from slametps/develop
indonesian translation
2017-03-10 14:56:43 +01:00
Michael Teeuw
6d07d5dccb Merge pull request #751 from roramirez/callback-fail-load-config
Use just one callback statement in case of failure on configuration loader
2017-03-10 14:53:36 +01:00
Michael Teeuw
da0e3d5c8b Merge pull request #750 from CatoAntonsen/animation_fix
Fixed missing animations on this.show() when module is alone in a region
2017-03-10 14:53:16 +01:00
Rodrigo Ramírez Norambuena
b129fe908c Test check backward backward compatibility authentication method basic
on calendar module

Fix travis basic-auth server
2017-03-10 04:47:57 -03:00
Rodrigo Ramírez Norambuena
f5c57e84c7 Add test calendar without auth method. Should be set by default basic. 2017-03-10 04:36:09 -03:00
Rodrigo Ramírez Norambuena
ceb4ef2642 Add test basic-auth 2017-03-10 04:33:27 -03:00
Rodrigo Ramírez Norambuena
1c235aa761 Add test default calendar 2017-03-10 04:31:26 -03:00
Rodrigo Ramírez Norambuena
cfc8117c3c Remove tests case from without_modules with much hardcode
This test retain
 * Check title.
 * Check footer with Michael website.
2017-03-10 00:52:43 -03:00
Rodrigo Ramírez Norambuena
aa1f515fcf Remote extra space main.js 2017-03-10 00:27:47 -03:00
Rodrigo Ramírez Norambuena
4fdd12bc48 Test change port configuration
This test change to 8090 port on configuration and check if system
response there.
2017-03-09 21:17:39 -03:00
Rodrigo Ramírez Norambuena
34f04b1946 Add note to allow all IP addresses. ipWhitelist configuration directive. 2017-03-09 17:26:50 -03:00
Rodrigo Ramírez Norambuena
5770b9dc0e Test env 404 not found request http://localhost:8080/nothing
This test expect gets 404 HTTP code on get request to
http://localhost:8080/nothing
2017-03-09 17:10:32 -03:00
Rodrigo Ramírez Norambuena
afe2b934de test env requst http://localhost:8080
This test expect get 200 HTTP code on get request to
http://localhost:8080
2017-03-08 10:36:08 -03:00
Rodrigo Ramírez Norambuena
11fe6cfbb0 Add test ipWhistelist = []
This test ipWhistelist on [] to access all IPs
Creates a request to localhost and port added in configuration and
check if gets 200 HTTP code.
2017-03-08 10:30:27 -03:00
Slamet PS
db10226005 update spaces to tab 2017-03-08 10:37:27 +07:00
Rodrigo Ramírez Norambuena
a15b8077a3 Add test without access by ipWhistelist
This test set a invalid IP address for not have access to MagicMirror.
Creates a request to localhost and port added in configuration and check if
gets 403 HTTP code.
2017-03-07 19:50:19 -03:00
Cato Antonsen
a3836b5e17 Updated Norwegian translations (nn and nb) 2017-03-07 18:06:26 +01:00
Beh
f8d80422b2 Fixed Travis CI errors
Changed indentation from spaces to tabs
changed strings from single quote to double quote
2017-03-07 00:34:17 +01:00
Beh
9848f80630 Added support for more authentication methods for the default calendar module
HTTP Basic, Digest and OAuth2/Bearer authentications are now supported
by the calendar module
2017-03-07 00:12:43 +01:00
Michael Teeuw
6ea1732630 Merge pull request #749 from peet86/develop
Small fixes in the Hungarian translation
2017-03-06 15:07:29 +01:00
Rodrigo Ramírez Norambuena
d97571ce0c Fix tab documentacion calendar for colored option 2017-03-06 02:11:27 -03:00
Rodrigo Ramírez Norambuena
1e3b866c8b Use color red for error when the configuration file is not found. 2017-03-05 22:20:35 -03:00
Rodrigo Ramírez Norambuena
2168838365 Use just one callback statement in case of failure on loader of the
configuration file.
2017-03-05 22:05:54 -03:00
Cato Antonsen
219021873d Removed trailing space 2017-03-05 23:42:13 +01:00
Cato Antonsen
120b505361 Implemented another way of waiting for refresh of region before animation 2017-03-05 23:36:24 +01:00
Cato Antonsen
347a2977fa Removed trailing spaces 2017-03-05 22:46:48 +01:00
Cato Antonsen
c2e90864ac Fixed missing animations on this.show() when module is alone in a region 2017-03-05 22:23:05 +01:00
Peter Varga
1027efd6e5 small fixes in hu translation 2017-03-05 19:50:48 +01:00
Michael Teeuw
bd0de83d31 Merge pull request #745 from roramirez/mv-colors-utils
Move colors in utils file
2017-03-05 17:16:16 +01:00
Michael Teeuw
4d3523b677 Merge pull request #746 from roramirez/json-format-config-pm2
Use JSON format for configuration file on pm2 control process file
2017-03-05 17:15:56 +01:00
Michael Teeuw
03f15e0075 Merge pull request #747 from roramirez/comment-bash-installer
Fix format comments on installer script
2017-03-05 17:15:33 +01:00
Michael Teeuw
043779f4af Merge pull request #743 from fewi/build-docker-windows
Fix error when building and running docker on windows
2017-03-03 13:26:32 +01:00
Felix Wiedemann
25b5daf6a5 fix problems when building the docker image on windows 2017-03-03 13:06:32 +01:00
Rodrigo Ramírez Norambuena
db444f5d7e Fix format comments on installer script 2017-03-02 09:22:32 -03:00
Rodrigo Ramírez Norambuena
16499d2fb8 Use JSON format for configuration pm2 control process file on installer
file.

Also, add to validate format on Gruntfile
2017-03-01 22:12:09 -03:00
Rodrigo Ramírez Norambuena
ddff2b2982 Move colors into utils file 2017-02-28 01:41:21 -03:00
Michael Teeuw
e697ee72fa Merge pull request #734 from roramirez/refactor-routes
refactor code for include multiples routes on js/server.js
2017-02-25 22:12:43 +01:00
Michael Teeuw
f98c59172b Merge pull request #736 from roramirez/readme-electron-optins
fix format kiosk mode options setted in README
2017-02-25 11:39:10 +01:00
Michael Teeuw
3badafaa82 Merge pull request #737 from roramirez/deprecated-options
Deprecated options
2017-02-25 11:38:30 +01:00
Michael Teeuw
cbf65a9355 Merge pull request #739 from roramirez/more_info_comment_hotfix
Add more information and tag FIXME on Hotfix code
2017-02-25 11:37:18 +01:00
Rodrigo Ramírez Norambuena
365bc900b0 Add more information and tag FIXME on Hotfix code 2017-02-24 18:52:33 -03:00
Rodrigo Ramírez Norambuena
bd0da63f4c use colors for warning message in deprecated options 2017-02-21 20:28:12 -03:00
Rodrigo Ramírez Norambuena
db0b663a3d Put file deprecated into js directory
Request in Pull Request #569
Initial work by @olexs
2017-02-21 19:28:53 -03:00
Rodrigo Ramírez Norambuena
fd7fe129e2 Merge remote-tracking branch 'olexs/deprecated-config-notify' into deprecated-options 2017-02-21 19:13:33 -03:00
Rodrigo Ramírez Norambuena
27253c360b fix format kiosk mode options setted in README 2017-02-21 19:03:39 -03:00
Rodrigo Ramírez Norambuena
ab226d16c8 refactor code for include multiples routes on js/server.js 2017-02-21 10:33:54 -03:00
Michael Teeuw
d6394402b8 Merge pull request #733 from roramirez/second-test-anytime
Second test case anytime feature module compliments
2017-02-21 10:56:32 +01:00
Michael Teeuw
6be5fac953 Merge pull request #725 from roramirez/compliments-anytime
Test anytime compliments module.
2017-02-20 19:54:33 +01:00
Michael Teeuw
c4435279de Merge pull request #728 from roramirez/global-setup-test
Refactoring some e2e tests.
2017-02-20 18:19:53 +01:00
Michael Teeuw
a9bdc8ad85 Merge pull request #727 from roramirez/vNode7
Add version Node 7 in travis
2017-02-20 18:19:22 +01:00
Michael Teeuw
df2a5fc789 Merge pull request #726 from roramirez/issue-709
Issue 709
2017-02-20 18:19:05 +01:00
Rodrigo Ramírez Norambuena
db87f9e15b init sample test case newsfeed_spec 2017-02-20 08:19:36 -03:00
Rodrigo Ramírez Norambuena
5af2768d33 refactor afterEach and beforeEach compliments_spec 2017-02-20 05:25:16 -03:00
Rodrigo Ramírez Norambuena
474695643f Second test case anytime feature module compliments
Suggested by @fewieden PL #725
2017-02-20 04:59:15 -03:00
Rodrigo Ramírez Norambuena
97ab88b39a Modified test compliments anytime this follow configuration:
{
	morning: [],
	afternoon: [],
	evening: [],
	anytime: ["Anytime here"]
    }
2017-02-20 01:52:07 -03:00
Rodrigo Ramírez Norambuena
3773d40201 Refactoring some e2e tests. Now is use a global-setup instead of
repeat repeat code to setup tests enviroment.
2017-02-19 21:06:38 -03:00
Rodrigo Ramírez Norambuena
b3fd01fe04 Add version Node 7 in travis 2017-02-19 20:06:20 -03:00
Rodrigo Ramírez Norambuena
75c4ca77c2 Update socket.io to 1.7.3 2017-02-19 19:57:21 -03:00
slametps
692ddc60c7 remove period
remove period
2017-02-19 22:23:16 +07:00
Rodrigo Ramírez Norambuena
1a296a8ca1 Test anytime compliments module.
feature introduced 79c79146a5
2017-02-18 23:38:39 -03:00
slametps
f5595dd4c3 added Indonesian translation
added Indonesian translation
2017-02-17 13:45:29 +07:00
Michael Teeuw
11c0221f81 Merge pull request #720 from roramirez/prevent_error_load
Prevent crash system if cannot load a js script or style sheet.
2017-02-15 11:55:46 +01:00
Michael Teeuw
2d0aad3da9 Merge pull request #721 from roramirez/extra-spaces-return
remove extra spaces alert README
2017-02-15 11:55:15 +01:00
Michael Teeuw
ff19cb68b4 Merge pull request #716 from roramirez/increment-timeouts-test-e2e
Increment timeout e2e test to 20000 ms
2017-02-13 20:37:20 +01:00
Rodrigo Ramírez Norambuena
e62df3b3b1 Increment timeout e2e test to 20000 ms 2017-02-12 15:42:00 -03:00
Rodrigo Ramírez Norambuena
1d024cc339 remove extra spaces alert README 2017-02-12 13:29:36 -03:00
Rodrigo Ramírez Norambuena
8bda91aafb Prevent crash system if cannot load a js script or style sheet. 2017-02-12 13:06:11 -03:00
Rodrigo Ramírez Norambuena
fd9963e7eb Testing default modules 2017-02-11 21:03:07 -03:00
Michael Teeuw
dc81ca4f53 Merge pull request #715 from roramirez/spelling
fixed minor word mistake
2017-02-11 23:48:59 +01:00
Rodrigo Ramírez Norambuena
fb754f9bc7 fixed minor word mistake 2017-02-11 19:34:43 -03:00
Michael Teeuw
7045f6571f Merge pull request #711 from qistoph/develop
Check for dev console instead of counting windows
2017-02-11 22:39:25 +01:00
Michael Teeuw
50d9bccacf Merge pull request #714 from qistoph/fix712
Fix issue #712
2017-02-11 22:37:19 +01:00
Chris van Marle
9064769185 Check for dev console 2017-02-11 13:43:03 +01:00
Chris van Marle
5fc16bdbfb Fix sabado in clock_es_spec.js test
Fixes #712
2017-02-11 13:41:00 +01:00
Michael Teeuw
172e4e939d Merge pull request #705 from roramirez/text-fresh-update-branch
add note for pull request about update develop branch
2017-02-10 09:21:20 +01:00
Rodrigo Ramírez Norambuena
f914b728ff add note for pull request about update develop branch 2017-02-09 14:10:07 -03:00
Michael Teeuw
54857e843b Merge pull request #704 from APPLEH0LIC/develop
Added Korean Translation
2017-02-09 13:32:19 +01:00
Michael Teeuw
64b34e98c7 Remove comments. 2017-02-09 13:28:20 +01:00
APPLEH0LIC
1ccf74bca1 Update CHANGELOG.md
added Korean Translation.
2017-02-09 17:56:56 +09:00
APPLEH0LIC
49a534a61b Add kr.json file
Added Korean Translation kr.json file.
2017-02-09 17:56:06 +09:00
APPLEH0LIC
b8889c6a1f Update translations.js
Added Korean Translation
2017-02-09 17:54:47 +09:00
Michael Teeuw
ccbc5c9d17 Merge pull request #696 from kpaaro/develop
Compliments module can use remoteFile without default daytime arrays defined
2017-02-08 19:35:09 +01:00
Michael Teeuw
555e01ec87 Merge branch 'develop' into develop 2017-02-08 19:32:53 +01:00
Michael Teeuw
7869f472c3 Merge pull request #697 from roramirez/global_version
unit test global.version
2017-02-08 19:32:11 +01:00
LAPTOP-KAUR\race2
90f60f95f7 formating fix so that grunt passes 2017-02-08 19:29:52 +02:00
Michael Teeuw
0f0a71a109 Merge pull request #689 from roramirez/test-compliments
add test parts of day for compliments module
2017-02-08 09:14:23 +01:00
Michael Teeuw
a43c8a2def Merge pull request #695 from fewieden/develop
applied dry pattern
2017-02-08 09:11:02 +01:00
LAPTOP-KAUR\race2
cbafaf5d56 compliments,js handles remoteFile without default daytimes defined 2017-02-08 02:35:09 +02:00
LAPTOP-KAUR\race2
62e4e13f5a case correction; added changelog.md entry 2017-02-08 02:33:03 +02:00
fewieden
e69908abef fix indentation 2017-02-08 00:10:44 +01:00
fewieden
6cb3cf8747 fix indentation 2017-02-08 00:05:28 +01:00
fewieden
2f71a43420 dry pattern 2017-02-07 23:51:13 +01:00
Rodrigo Ramírez Norambuena
f57ad57e62 unit test global.version 2017-02-07 19:35:51 -03:00
Rodrigo Ramírez Norambuena
03f5d9b102 Split test for parts of day in compliments module 2017-02-07 16:49:07 -03:00
Michael Teeuw
6b17e1820c Merge pull request #693 from qistoph/testdevarg
Test "dev" argument
2017-02-07 16:27:14 +01:00
Michael Teeuw
e0f6fca987 Merge pull request #688 from Nosrac/develop
New Compliments category: `anytime`
2017-02-07 12:04:40 +01:00
Michael Teeuw
1fe95a5fe4 Merge pull request #687 from fewieden/develop
bugfix newsfeed
2017-02-07 12:04:00 +01:00
Michael Teeuw
1257ecf100 Merge pull request #686 from kpaaro/develop
Added estonian translations
2017-02-07 12:03:20 +01:00
Michael Teeuw
4163304b24 Merge pull request #685 from roramirez/dev-npm-run
fix when is set dev parameter option in "npm start dev".
2017-02-07 12:03:05 +01:00
Michael Teeuw
d35f2c4a4f Merge pull request #681 from qistoph/testing
Testing
2017-02-07 12:02:40 +01:00
Michael Teeuw
e5d5c5f9a7 Merge pull request #679 from EdgardosReis/patch-1
Update pt.json
2017-02-07 12:01:39 +01:00
Rodrigo Ramírez Norambuena
6fcaec3ca8 add test parts of day for compliments module 2017-02-06 00:28:08 -03:00
Kyle Carson
a2892ad097 Update Readme and changelog 2017-02-05 19:29:35 -06:00
Kyle Carson
79c79146a5 Support anytime compliment group. 2017-02-05 19:28:42 -06:00
Kyle Carson
cd37ba308c Merge remote-tracking branch 'MichMich/develop' into develop 2017-02-05 19:19:58 -06:00
fewieden
b35c0f7e39 update changelog 2017-02-06 02:08:59 +01:00
fewieden
14b1b649cb bugfix 2017-02-06 01:19:03 +01:00
Chris van Marle
14c0307c09 Fix grunt error 2017-02-05 12:26:42 +01:00
Chris van Marle
42f22119f2 Add test for 'dev' argument 2017-02-05 11:38:01 +01:00
LAPTOP-KAUR\race2
75f4771616 Added estonian translations 2017-02-05 05:12:31 +02:00
Rodrigo Ramírez Norambuena
83f7cb2033 fix when is set dev parameter option in "npm start dev".
issue #684
2017-02-03 19:26:49 -03:00
EdgardosReis
43a4c6198c Update pt.json 2017-02-03 15:41:11 +00:00
EdgardosReis
8c2fafecd7 Update pt.json
removed comments
2017-02-03 15:40:33 +00:00
Chris van Marle
d004c0ccd1 Split translation key testing
All keys in a translation file should be in the base file (en.json).
When there are keys in the base file that are not in a translation,
the translation file test is skipped.
2017-02-03 10:10:03 +01:00
Chris van Marle
406ae4e8c3 Skip translation test on fail 2017-02-02 14:28:59 +01:00
Chris van Marle
cd8bee1371 Run App in vm 2017-02-02 10:32:35 +01:00
Chris van Marle
123392c549 Translations test 2017-02-02 10:32:06 +01:00
EdgardosReis
42ffe213fd Update pt.json 2017-02-02 00:04:48 +00:00
Michael Teeuw
fd738e5c8b Merge pull request #677 from roramirez/test-displayseconds-false-clock
add test with displaySeconds config disabled for clock module
2017-02-01 17:00:53 +01:00
Rodrigo Ramírez Norambuena
6f95b2c2ad add test with displaySeconds config disabled for clock module 2017-02-01 14:33:17 -03:00
Michael Teeuw
f66c2b078c Merge pull request #678 from roramirez/test-e2e-es-clock
Test e2e es clock
2017-02-01 17:00:33 +01:00
Rodrigo Ramírez Norambuena
c6f5c120ba add tests clock module variant language es 2017-02-01 14:12:27 -03:00
Michael Teeuw
677e93430d Merge pull request #675 from roramirez/run-travis-all-tests
Run tests e2e in Travis
2017-02-01 07:45:50 +01:00
Michael Teeuw
a9a90c5545 Merge pull request #676 from roramirez/hotfix/MM_PORT
hotfix PL #673
2017-02-01 07:45:28 +01:00
Rodrigo Ramírez Norambuena
ee0418e719 hotfix PL #673 2017-01-31 22:08:38 -03:00
Rodrigo Ramírez Norambuena
6fc1141477 Run tests e2e in Travis 2017-01-31 18:38:25 -03:00
Michael Teeuw
b02920c43c Merge pull request #674 from morozgrafix/test_branch
Restructured Test Suite
2017-01-31 21:52:53 +01:00
Michael Teeuw
049d249609 Merge pull request #673 from bastilimbach/feature/docker
Added Docker support for server only mode
2017-01-31 21:51:58 +01:00
Sergey Morozov
fc2a554415 fix for 12hr regex
thanks to @roramirez for testing and catching it.
2017-01-31 12:24:11 -08:00
Sebastian Limbach
42b806b500 Fixed whitespace 2017-01-31 21:19:37 +01:00
Rodrigo Ramírez Norambuena
aeb3ccaf09 Remove extra spaces and lines in tests. 2017-01-31 17:02:18 -03:00
Sergey Morozov
86fdd91597 Restructured Test Suite
- separated tests into e2e and unit directories
- created configs directory structure to support test framework
- added/modified `npm run test`, `npm run test:unit` and `npm run test:e2e` to target all, unit and e2e tests respectively
- modified some of the test names to be more descriptive

New structure of the Test Suite has following directory tree:

```
tests
├── configs
│   ├── env.js
│   └── modules
│       ├── clock
│       │   ├── clock_12hr.js
│       │   ├── clock_24hr.js
│       │   └── clock_showPeriodUpper.js
│       └── helloworld
│           └── helloworld.js
├── e2e
│   ├── env_spec.js
│   └── modules
│       ├── clock_spec.js
│       └── helloworld_spec.js
└── unit
    ├── functions
    │   └── cmp_versions_spec.js
    └── global_vars
        └── root_path_spec.js
```
2017-01-31 11:08:53 -08:00
Sebastian Limbach
e68fea185d Merge branch 'develop' into feature/docker 2017-01-31 19:48:38 +01:00
Sebastian Limbach
a3eaf9f473 Fixed typos and some description changes 2017-01-31 19:41:42 +01:00
Sebastian Limbach
e6a2b9f06e Added the Docker support changes to changelog 2017-01-31 19:40:49 +01:00
Sebastian Limbach
a78973702b Added Docker install documentation 2017-01-31 16:36:01 +01:00
Sebastian Limbach
354b745c39 Added Docker support 2017-01-31 11:41:40 +01:00
Michael Teeuw
ce6cd6acdc Merge pull request #670 from roramirez/translation-check
Translation check
2017-01-31 08:44:10 +01:00
Michael Teeuw
8e129143f1 Merge pull request #671 from Nosrac/develop
Support calendar-specific maximumEntries and maximumNumberOfDays
2017-01-31 08:42:50 +01:00
Michael Teeuw
6d50cbba6f Merge pull request #672 from morozgrafix/test_branch
Add missing 'chai-as-promised' dependency
2017-01-31 08:41:54 +01:00
Sergey Morozov
7731878f36 Add missing 'chai-as-promised' dependency
When I attempted to run e2e tests I got following error:

```
$npm run test:e2e

> magicmirror@2.1.1 test:e2e /Users/sergeym/localDev/MagicMirror
> ./node_modules/mocha/bin/mocha tests/e2e --recursive

module.js:471
    throw err;
    ^

Error: Cannot find module 'chai-as-promised'
...
```

Adding `chai-as-promised` to `package.json` and running npm install fixes it.
2017-01-30 15:33:23 -08:00
Kyle Carson
9f659eef1b Fix formatting 2017-01-30 16:35:21 -06:00
Kyle Carson
14cc642e54 Support calendar-specific maximumEntries and maximumNumberOfDays 2017-01-30 16:26:42 -06:00
Michael Teeuw
c47852cd0a Merge pull request #661 from artifactdev/master
Color options for calendar and weather forecast
2017-01-30 20:56:34 +01:00
Michael Teeuw
c3bfaa31ee Merge branch 'develop' into master 2017-01-30 20:55:53 +01:00
Michael Teeuw
832505a315 Merge pull request #669 from roramirez/test-e2e
Test e2e
2017-01-30 20:55:25 +01:00
Rodrigo Ramírez Norambuena
cb71667336 Use jsonlint task to check translation files 2017-01-30 13:36:22 -03:00
Rodrigo Ramírez Norambuena
1032e97d58 Fix string russian translation module alert 2017-01-30 13:32:52 -03:00
Rodrigo Ramírez Norambuena
b4271da13e add translations/translations.js eslint check 2017-01-30 13:17:36 -03:00
Rodrigo Ramírez Norambuena
e2dc5ef4f2 fix eslint change single quote by double quote 2017-01-30 12:46:21 -03:00
Rodrigo Ramírez Norambuena
c75ee042a8 add e2e test enviroment 2017-01-30 12:36:11 -03:00
Rodrigo Ramírez Norambuena
d474d518ca test e2e module helloworld 2017-01-30 12:24:49 -03:00
Rodrigo Ramírez Norambuena
52b8dbcbb1 separate test type. Create directory for End-to-end testing. 2017-01-30 12:17:45 -03:00
Rodrigo Ramírez Norambuena
0d8d8f0426 Add tests configs directory as express route. 2017-01-30 12:17:23 -03:00
artifactdev
ed12deae25 Update CHANGELOG.md
Added color options for calendar and weather forecast to changelog
2017-01-30 13:17:44 +01:00
Michael Teeuw
7f1e7c981d Merge pull request #666 from roramirez/index-mm-config-file-env-var
Use configuration file in index.html when is set MM_CONFIG_FILE
2017-01-30 12:53:44 +01:00
Michael Teeuw
cc26688d82 Merge pull request #668 from Jopyth/patch-4
missing comma in sv.json translation
2017-01-30 12:52:31 +01:00
Jopyth
a0fa3a6063 missing comma in sv.json translation 2017-01-30 09:28:37 +01:00
Rodrigo Ramírez Norambuena
110a1a640d fix .stylelintrc in jsonlint check 2017-01-29 17:15:01 -03:00
Rodrigo Ramírez Norambuena
bbdc43c750 Use configuration file in index.html when is set MM_CONFIG_FILE 2017-01-29 17:00:56 -03:00
Michael Teeuw
c73b9b4882 Merge pull request #663 from Snille/develop
Added and translated some missing strings in the sv.json file.
2017-01-29 11:39:47 +01:00
Jeremias Arnstadt
e249092f91 used mardown in calendar README 2017-01-29 11:17:00 +01:00
Jeremias Arnstadt
5c0b04bfc8 fixed linting issues 2017-01-29 00:59:38 +01:00
Jeremias Arnstadt
bc257f4951 Merge branch 'develop' of https://github.com/artifactdev/MagicMirror
# Conflicts:
#	modules/default/calendar/README.md
#	modules/default/weatherforecast/README.md
2017-01-29 00:53:07 +01:00
Erik Pettersson
e738ee0812 Added information about the sv.json update. 2017-01-29 00:09:51 +01:00
snille
ebb2db17f3 Fixed the Swedish translation. 2017-01-29 00:06:06 +01:00
Jeremias Arnstadt
4214293b76 updated README of weatherforecast and calendar module for color options 2017-01-28 18:32:06 +01:00
Jeremias Arnstadt
ce3ee909bf added possibility to give each calendar another color 2017-01-28 18:21:02 +01:00
Jeremias Arnstadt
09ba1e2470 added possibility to color max and min temprature 2017-01-28 18:01:37 +01:00
Michael Teeuw
68444b81cc Merge pull request #659 from Jopyth/patch-hidden-status
fix module hidden status
2017-01-28 13:44:49 +01:00
Joseph Bethge
d3c0b9a438 fix module hidden status 2017-01-28 12:31:33 +01:00
Michael Teeuw
6e2f1f72c6 Merge pull request #657 from roramirez/splashscreen-halt-reboot
Show splash screen image on reboot and halt.
2017-01-28 06:21:25 +01:00
Michael Teeuw
c82eec09b7 Merge pull request #658 from roramirez/fix-validate-file-config-by-variable
Fix bug validation when is not set MM_CONFIG_FILE enviroment variable
2017-01-28 06:20:23 +01:00
Olexandr Savchuk
d4093d8c98 Merge branch 'deprecated-config-notify' of github.com:olexs/MagicMirror into deprecated-config-notify 2017-01-27 18:03:34 +01:00
Olexandr Savchuk
90616c82b6 Added console warning for deprecated config options 2017-01-27 18:02:50 +01:00
Rodrigo Ramírez Norambuena
de69fe1745 Show splash screen image on reboot and halt. 2017-01-27 13:42:20 -03:00
Michael Teeuw
9bd42ac221 Merge pull request #656 from roramirez/env-config-file-pl
Code change discussion  Pull Request  #653
2017-01-27 17:27:03 +01:00
Rodrigo Ramírez Norambuena
2f9a272696 Improvement of code block about from discussion Pull Request #653
https://github.com/MichMich/MagicMirror/pull/653
2017-01-27 13:13:04 -03:00
Michael Teeuw
552ea0356e Merge pull request #652 from roramirez/electron-issues
Electron issues
2017-01-27 09:02:20 +01:00
Michael Teeuw
ff6bd91ef7 Merge branch 'develop' into electron-issues 2017-01-27 09:01:57 +01:00
Michael Teeuw
835f20f872 Merge pull request #653 from roramirez/env-config-file
Set configuration file by enviroment variable
2017-01-27 09:00:23 +01:00
Rodrigo Ramírez Norambuena
1e9b35d18f Fix bug validation when is not set MM_CONFIG_FILE enviroment variable 2017-01-26 21:13:58 -03:00
Rodrigo Ramírez Norambuena
3818e48218 remove console.log 2017-01-25 19:05:40 -03:00
Michael Teeuw
5d63065057 Merge pull request #650 from qistoph/testing
Fix grunt errors in root_path.js and syntax in da.json
2017-01-25 12:25:04 +01:00
Chris van Marle
ae41ed1d51 Fix syntax in DA translation 2017-01-25 12:00:38 +01:00
Chris van Marle
36ead2251a Fix grunt errors 2017-01-25 11:58:20 +01:00
Michael Teeuw
dc7093f68a Merge pull request #648 from qistoph/testing
Add root_path testing
2017-01-25 10:03:53 +01:00
Michael Teeuw
6c79d2b008 Merge pull request #649 from roramirez/example-quote-config
Change of examples configuration in README modules.
2017-01-25 10:02:43 +01:00
Rodrigo Ramírez Norambuena
422349c2d1 Change of examples configuration in README modules.
This change is related commit f59f035a7e
Now is used  grunt for check ESLint syntax validation of config/* files
2017-01-24 17:22:17 -03:00
Chris van Marle
7dbfa0b203 Add root_path testing 2017-01-24 17:58:04 +01:00
Michael Teeuw
57ea2ac039 Merge pull request #645 from roramirez/grunt-config
Add config/* to the Grunt target.
2017-01-24 14:43:32 +01:00
Michael Teeuw
a9e664e89d Merge pull request #646 from zoliaz1993/develop
Update Hungarian language.
2017-01-24 14:42:59 +01:00
Michael Teeuw
c0e2210da3 Merge pull request #647 from qistoph/testing
Run npm test on Travis
2017-01-24 14:40:14 +01:00
Chris van Marle
b13c6f283a Run npm test on Travis 2017-01-24 12:03:19 +01:00
Zoltán Rónai
8181b9a31c Rename hu to hu.json
extension (**.json)
2017-01-24 09:09:13 +01:00
Zoltán Rónai
105e4f990d Update translations.js
Text aligned.
2017-01-24 08:59:37 +01:00
zoliaz1993
9670d74345 Update Hungarian language.
Add Alert module Hun translation.
Text aligned formality.
2017-01-24 08:54:39 +01:00
Rodrigo Ramírez Norambuena
86e553e756 Set configuration file by enviroment variable:
Enable ability to set configuration file by the enviroment variable
called MM_CONFIG_FILE.
2017-01-24 02:59:20 -03:00
Rodrigo Ramírez Norambuena
566ea9a110 Use script for start MagicMirror 2017-01-24 02:12:36 -03:00
Rodrigo Ramírez Norambuena
f59f035a7e Add config/* to the Grunt target.
Also, this change can be check config errors by syntax.
2017-01-23 18:03:26 -03:00
Michael Teeuw
4c6d4f3caf Merge pull request #642 from kthorri/master
Icelandic Translation
2017-01-23 19:41:50 +01:00
Michael Teeuw
8af87bac22 Merge pull request #644 from morozgrafix/tests_cleanup
Minor clean up for test suite
2017-01-23 19:41:27 +01:00
Sergey Morozov
690567659c Minor clean up for test suite
@roramirez thanks for starting adding tests. I figured that we might as well grunt them and follow same rules for linting as we do for rest of JS code in the repo.

I've made following minor modifications:
- added tests to the grunt target
- fixed indentation in package.json
- made tests a bit more descriptive
- fixed eslint errors surfaced by grunt
2017-01-23 09:59:19 -08:00
Michael Teeuw
d9c7ee8976 Fixed Changelog to match the correct version. 2017-01-23 16:18:42 +01:00
Michael Teeuw
95cf554de4 Merge branch 'develop' into master 2017-01-23 16:17:28 +01:00
kthorri
47a87a14f5 Fixing typo 2017-01-23 14:55:24 +00:00
kthorri
5e860b6850 Added icelandic translation to changelog 2017-01-23 14:53:57 +00:00
kthorri
9a983e7565 Adding icelandic translation json file 2017-01-23 14:53:18 +00:00
kthorri
00197d131d Adding Icelandic translation to translation.js 2017-01-23 14:51:59 +00:00
Michael Teeuw
9758f3c9d2 Add the Hungarian translation. 2017-01-23 11:38:48 +01:00
Michael Teeuw
e7d7425b6e Merge pull request #641 from zoliaz1993/master
Add the Hungarian translation.
2017-01-23 11:38:12 +01:00
Michael Teeuw
b566c81ae7 Merge branch 'develop' into master 2017-01-23 11:36:15 +01:00
Michael Teeuw
742837e7a1 Merge pull request #640 from roramirez/fix-mm-script-path
Fix path for script MagicMirror on pm2
2017-01-23 10:29:54 +01:00
zoliaz1993
5087dbd756 Update hu.json
Remove + line.
2017-01-23 09:44:09 +01:00
Rodrigo Ramez Norambuena
b893ae7c14 Fix path for script MagicMirror on pm2 2017-01-22 23:47:17 -03:00
Michael Teeuw
1f7863057f Merge pull request #636 from Jopyth/fix_calendar
Fix Calendar Issues
2017-01-22 16:10:31 +01:00
Michael Teeuw
3dd3afd21f Update CHANGELOG.md 2017-01-22 12:23:11 +01:00
Michael Teeuw
387d3b7335 Merge pull request #638 from villevirtanen/patch-2
Updates to fi.json
2017-01-22 12:22:02 +01:00
villevirtanen
782bfd058b Update fi.json
DAYAFTERTOMORROW, UPDATE_NOTIFICATION and UPDATE_NOTIFICATION_MODULE added.
2017-01-22 10:46:28 +02:00
Michael Teeuw
c0d936fa4d Merge pull request #635 from roramirez/tests
minor fix textual
2017-01-21 19:28:43 +01:00
Joseph Bethge
63819c5757 fix calendar issues 2017-01-21 16:05:29 +01:00
Rodrigo Ramírez Norambuena
08cbac6277 minor fix textual 2017-01-21 11:04:11 -03:00
Michael Teeuw
68c0a9aec4 Merge pull request #634 from roramirez/note-readme-cp-config-sample
Add note in step of copy for sample file configuration in README.
2017-01-21 11:58:59 +01:00
Michael Teeuw
1c585815a1 Merge pull request #633 from roramirez/tests
Hotfix  introduced client error on commit  3a8d72d
2017-01-21 11:57:31 +01:00
Rodrigo Ramírez Norambuena
853ec7320f Add note in step of copy for sample file configuration in README.
This note is related if was used installer script.
2017-01-20 19:07:37 -03:00
Rodrigo Ramírez Norambuena
b8917a3c0e Hotfix introduced client error on commit 3a8d72d
Noticed by @qistoph
https://github.com/MichMich/MagicMirror/pull/623#issuecomment-273505208
2017-01-20 18:44:28 -03:00
zoliaz1993
c4d70e7f9b Hungarian Translation 2017-01-20 13:49:10 +01:00
zoliaz1993
7f1b11d19b Hungarian translation 2017-01-20 13:45:14 +01:00
zoliaz1993
02a32dea40 Revert "Hungarian Translation"
This reverts commit d9e20ea17a.
2017-01-20 13:43:58 +01:00
zoliaz1993
d9e20ea17a Hungarian Translation 2017-01-20 13:43:44 +01:00
Michael Teeuw
039c2fe0a6 Merge pull request #630 from fry0815/fix_temperature_check
Fix temperature check
2017-01-19 20:04:56 +01:00
Michael Teeuw
a967e73f9e Merge branch 'develop' into fix_temperature_check 2017-01-19 20:03:13 +01:00
Tino Ziegler
222e4154a1 changed to double quotes 2017-01-19 09:11:33 +01:00
Tino Ziegler
56413ee94e added fix 2017-01-18 16:04:02 +01:00
Tino Ziegler
93c07b2b1e Fix: check if temperature is defined (0°) 2017-01-18 15:56:12 +01:00
Michael Teeuw
27ed64a1af Merge pull request #628 from aaronaxvig/master
Provide example of syntax for electronOptions
2017-01-18 09:13:37 +01:00
Michael Teeuw
ad68106c3c Merge pull request #629 from roramirez/branch-README
update branch Manual Installation in README.md
2017-01-18 09:13:13 +01:00
Rodrigo Ramírez Norambuena
a591cf1d21 update branch Manual Installation in README.md 2017-01-18 01:36:14 -03:00
Michael Teeuw
03a4b8f5cf Merge pull request #627 from tosti007/README_tables
Replace HTML tables with Markdown tables
2017-01-17 17:23:27 +01:00
Michael Teeuw
2d8d25808d Merge pull request #623 from roramirez/tests
Init Tests
2017-01-17 17:22:50 +01:00
Michael Teeuw
a82fcce734 Merge branch 'develop' into tests 2017-01-17 17:22:37 +01:00
Brian
0734e136d0 Update CHANGELOG 2017-01-17 16:15:39 +01:00
Brian
2913120ff7 Update README files 2017-01-17 16:14:50 +01:00
Michael Teeuw
bd277b087a Merge pull request #624 from tosti007/Calendar_Regex
Add Regexp possibility to titleReplace
2017-01-17 11:07:42 +01:00
Brian
fc00966b8b Update CHANGELOG 2017-01-17 11:05:18 +01:00
Michael Teeuw
495a76353f Merge pull request #622 from tosti007/develop
Fix typo and remove unused variable
2017-01-17 08:41:15 +01:00
Michael Teeuw
6ea225ed2a Rescale Splash Screen 2017-01-16 11:53:02 +01:00
Brian
c1a5f59c42 Remove Trailing space 2017-01-16 02:52:50 +01:00
Brian
49fb9108e9 Add Regexp possibility to titleReplace
Check if the given needle is a regexp, if so create one and use it
instead
2017-01-16 02:49:08 +01:00
Rodrigo Ramírez Norambuena
4cb3b514ab update CHANGELOG test 2017-01-15 22:41:16 -03:00
Brian
c95a37130a Remove unused uelf variable 2017-01-16 02:36:10 +01:00
Brian
29e82cc509 Fix Typo
Change E into R
2017-01-16 02:27:12 +01:00
Michael Teeuw
a4cb53fdb4 Show correct units for showRainAmount 2017-01-15 21:16:01 +01:00
Michael Teeuw
865dce6f68 Add info about issue #611. 2017-01-15 20:36:11 +01:00
Michael Teeuw
1d02154d99 Fix eslint issues. 2017-01-15 19:41:42 +01:00
Rodrigo Ramírez Norambuena
3a8d72db31 init tests:
This patch propouse use the mocha for testing MagicMirror.
2017-01-15 15:40:23 -03:00
Michael Teeuw
ec57a240d5 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2017-01-15 19:38:53 +01:00
Michael Teeuw
949f7587dc Solve issue: #611 2017-01-15 19:38:46 +01:00
Michael Teeuw
55cce646e0 Merge pull request #621 from roramirez/fix-changelog-blackslash
fix blackslash introduce in Pull Request #619
2017-01-15 19:30:50 +01:00
Rodrigo Ramírez Norambuena
4c3dce694a fix blackslash introduce in Pull Request #619
URL Pull Request: https://github.com/MichMich/MagicMirror/pull/619
2017-01-15 14:10:48 -03:00
Michael Teeuw
46d5b70391 Merge pull request #619 from nhubbard/develop
Add postinstall script
2017-01-15 00:19:58 +01:00
Michael Teeuw
08a102d182 Merge pull request #620 from roramirez/Changelog-reference
Changelog: fix number reference issue.
2017-01-15 00:18:21 +01:00
Rodrigo Ramírez Norambuena
1cf8e08d4b Changelog: fix number reference issue. 2017-01-14 19:37:38 -03:00
Nicholas Hubbard
65a8b83150 Add Cache 2017-01-14 15:46:38 -05:00
Nicholas Hubbard
f4c8db654c Fix postinstall error. 2017-01-14 15:42:29 -05:00
Nicholas Hubbard
5c4d1c0259 Add CHANGELOG.md 2017-01-14 15:37:32 -05:00
Nicholas Hubbard
a459f8b84c Merge branch 'develop' of https://github.com/nhubbard/MagicMirror into develop
This merge is necessary to make Git happy.
2017-01-14 15:34:23 -05:00
Nicholas Hubbard
0d672420f7 Add postinstall script for installation 2017-01-14 15:32:59 -05:00
Michael Teeuw
2f7be0559a Switch to rrule-alt. Issue: #565 2017-01-14 19:31:24 +01:00
Michael Teeuw
0623ae1f87 Merge pull request #596 from IgniparousTempest/master
Afrikaans Translation
2017-01-12 19:48:04 +01:00
Michael Teeuw
8ae946c2c5 Merge branch 'develop' into master 2017-01-12 19:46:34 +01:00
Michael Teeuw
bb75f6ffce Merge pull request #601 from morozgrafix/russian_translations2
Russian translations2
2017-01-12 19:45:10 +01:00
Michael Teeuw
fcfe83f0cc Merge pull request #599 from qistoph/hover
Pass pointer-events on fullscreen overlay to underlaying modules
2017-01-12 19:44:46 +01:00
Michael Teeuw
5cbcded929 Merge branch 'develop' into russian_translations2 2017-01-12 19:42:50 +01:00
Michael Teeuw
2a95f792ec Merge pull request #609 from roramirez/README-update
Fix capitalize missing word Community
2017-01-12 19:41:45 +01:00
Michael Teeuw
daa2808448 Merge pull request #612 from thobach/master
Enabled newsfeed default module for gesture events from https://github.com/thobach/MMM-Gestures
2017-01-12 19:41:06 +01:00
Michael Teeuw
fc06ffdcee Merge branch 'develop' into master 2017-01-12 19:40:53 +01:00
Michael Teeuw
1601179081 Merge pull request #613 from roramirez/pm2_start
Pm2 start
2017-01-12 19:39:03 +01:00
Michael Teeuw
7fe374b67e Merge pull request #614 from greg-dev/fix-update-info-pl
Fix missing comma and complete Polish translation
2017-01-12 19:37:37 +01:00
Michael Teeuw
7a353bbe48 Merge pull request #617 from alexbarcelo/extra_update
Add `apt-get update` in raspberry.sh script
2017-01-12 19:36:08 +01:00
Alex Barcelo
c103ff271b Merge branch 'master' into extra_update 2017-01-12 17:37:31 +01:00
Alex Barcelo
ab9e0f891a updating CHANGELOG 2017-01-12 17:35:04 +01:00
Alex Barcelo
af85ef8cfb removing unnecessary exit, leaving a warning 2017-01-12 17:34:56 +01:00
Alex Barcelo
3cea6e5d0c Add apt-get update in raspberry.sh script
Just tried this script and realized that it is likely that it will fail because the apt index is not up to date.

The trivial fix seems to be to add an `apt-get update` before the package installation. It should be harmless also.
2017-01-12 17:34:54 +01:00
Greg Dev
6d1b0ae498 Add Polish translation for UPDATE_INFO 2017-01-12 01:33:13 +01:00
Courtney Pitcher
07d5b07748 Update Changelog.md 2017-01-11 21:48:33 +02:00
Courtney Pitcher
d47b9cd5c0 Merge branch 'develop' into master 2017-01-11 21:47:19 +02:00
IgniparousTempest
d542c063d7 Updated CHANGELOG.md to include Afrikkans translation 2017-01-11 21:42:31 +02:00
Rodrigo Ramírez Norambuena
4bb3d33907 add choice to use pm2 for auto starting of MagicMirror 2017-01-11 10:22:46 -03:00
Thomas Bachmann
62bec25b6e Merge remote-tracking branch 'MichMich/develop' 2017-01-11 11:34:04 +01:00
Thomas Bachmann
3ba16f1773 Merge remote-tracking branch 'MichMich/develop' 2017-01-11 11:32:20 +01:00
Thomas Bachmann
c302030301 Added documentation on supported notifications and related third party modules 2017-01-11 11:19:33 +01:00
Rodrigo Ramírez Norambuena
49abe2b11f Fix capitalize missing word Community 2017-01-10 16:11:29 -03:00
Sergey Morozov
544e7fce88 removing .gitignore changes and changelog notes about it 2017-01-10 11:05:37 -08:00
Michael Teeuw
b9e7f018e2 Merge pull request #607 from qistoph/fixdefmod
Fix gitignore to not ignore default modules folder
2017-01-10 19:54:02 +01:00
Michael Teeuw
f31049cf69 Merge branch 'develop' into fixdefmod 2017-01-10 19:52:20 +01:00
Michael Teeuw
2b3b73b3f1 Merge pull request #600 from roramirez/config_sample-installer
modified installer to use config.js.sample for init config.
2017-01-10 19:46:38 +01:00
Michael Teeuw
704bb5a848 Merge pull request #597 from roramirez/fix-white-flash-boot
Remove white flash on boot up
2017-01-10 19:44:01 +01:00
Michael Teeuw
01f7d7add2 Merge pull request #608 from roramirez/new_year
update year license for 2017
2017-01-10 19:34:55 +01:00
Rodrigo Ramírez Norambuena
831d8b6d36 update year license for 2017 2017-01-10 15:22:10 -03:00
Chris van Marle
2e9b6ead2e Fix gitignore to not ignore default modules folder
/modules/** makes git ignore all directories and files in /modules, so
it's not even looking in /modules/default for changes.
!/modules/default/** is therefore never used. By adding the new line
!/modules/default, git is told to look in the /modules/default folder
for changes and will find all sub files/dirs and match these on
!/modules/default/**.
2017-01-10 11:31:00 +01:00
Rodrigo Ramírez Norambuena
d71fd0ff2d Add pm2 configuration for manager MagicMirror in script installer 2017-01-09 20:39:48 -03:00
aaronaxvig
6466bd4ba7 Add back missing newline 2017-01-08 18:15:48 -07:00
aaronaxvig
a97fa1abb6 Remove errant character 2017-01-08 18:14:30 -07:00
aaronaxvig
6171e5cc6e Update README.md 2017-01-08 18:02:45 -07:00
Thomas Bachmann
456502893c Addressed code review comments to reduce redundant lines 2017-01-08 14:38:16 +01:00
Thomas Bachmann
443a90c7ba Made full article view of news full-screen on any screen size 2017-01-07 22:42:11 +01:00
Thomas Bachmann
b8a72245dc Using generic news feed events as notifications, instead of more implementation specific gestures from sensor 2017-01-06 21:57:30 +01:00
Sergey Morozov
d019f88e26 Merge branch 'develop' into russian_translations2 2017-01-06 11:24:52 -08:00
Sergey Morozov
01cf4cc1ed Added Russian Translations
Redo of the PR #598

**Added:**
- Russian Translations

**Fixed:**
- corrected .gitignore rules for default modules

(Reasoning behind change: when I added translation for `alert` module `git add` was telling me that `.gitignore` rule excludes files and folders under `modules/default`)

I also noticed that `.gitignore:56` has following declaration:

```
!/modules/node_helper
!/modules/node_helper/**
```
but I don't think this directory structure exists today (also there is a small typo)
2017-01-06 11:21:20 -08:00
Rodrigo Ramírez Norambuena
396bbd83c8 modified installer to use config.js.sample for init config. 2017-01-05 16:09:41 -03:00
Chris van Marle
92e0affb85 Disable pointer-events on fullscreen overlay 2017-01-05 10:14:52 +01:00
Rodrigo Ramez Norambuena
6552157894 Remove white flash on boot up
When the electron app is started appear a white flash before show the
MagicMirror system.

This patch remove the white flash on boot up.
2017-01-04 13:06:24 -03:00
IgniparousTempest
af41e4892f Afrikaans language translation 2017-01-04 16:26:49 +02:00
Thomas Bachmann
09531b399a Fixed Link formatting in MD 2017-01-04 11:04:33 +01:00
Thomas Bachmann
6251b77b28 Fixed code formatting issues 2017-01-04 11:01:07 +01:00
Thomas Bachmann
0099b6d4a2 Added change to CHANGELOG.md 2017-01-04 10:56:03 +01:00
Thomas Bachmann
adb8de9754 Enabled newsfeed default module for gesture events from https://github.com/thobach/MMM-Gestures 2017-01-04 10:46:31 +01:00
Michael Teeuw
8ac8b666bf Update CHANGELOG.md 2017-01-04 08:59:37 +01:00
Michael Teeuw
095feddf73 Merge pull request #591 from qistoph/modloaded
Update CHANGELOG for the async loaded function
2017-01-04 08:58:53 +01:00
Chris van Marle
4882a801d2 Update CHANGELOG 2017-01-03 17:46:41 +01:00
Michael Teeuw
1a1736ca0e Merge pull request #588 from brosy/handle-newsfeed-errors
Add error handling to newsfeed
2017-01-03 11:43:26 +01:00
Ben Brosnahan
a7619771a6 Add error handling to newsfeed 2017-01-02 21:35:53 +00:00
Michael Teeuw
6febcf3b94 Merge pull request #556 from qistoph/modloaded
Add async callback to module when loaded
2017-01-02 13:37:16 +01:00
Chris van Marle
3947deb7bd Add async callback to module when loaded 2017-01-02 13:04:15 +01:00
Michael Teeuw
98855de71f Changes in preperation of 2.1.1 2016-12-31 21:25:49 +01:00
Michael Teeuw
8010e6220d Merge pull request #586 from MichMich/develop
Release 2.1.0
2016-12-31 21:17:54 +01:00
Michael Teeuw
09e6a6a4ad Merge branch 'master' into develop 2016-12-31 21:16:09 +01:00
Michael Teeuw
da772e6649 Add release date. 2016-12-31 21:12:53 +01:00
Michael Teeuw
65b8f78ca1 Merge pull request #579 from brosy/handle-newsfeed-errors
Add error handling to newsfeed
2016-12-31 19:13:01 +01:00
Michael Teeuw
23bcac2e55 Merge pull request #585 from roramirez/extra-spaces
fix tabs, remove extra spaces and lines.
2016-12-31 19:12:24 +01:00
Michael Teeuw
e6a88eef35 Merge pull request #584 from roramirez/js-use-root-path
global.root_path for js core
2016-12-31 19:11:21 +01:00
Michael Teeuw
6654c461a6 Merge pull request #582 from henglert/patch-1
Fix repeating count of yearly calendar events
2016-12-31 19:10:21 +01:00
Rodrigo Ramírez Norambuena
a48cb052c2 resolv some missing fix eslint rules no-trailing-spaces 2016-12-30 17:47:33 -03:00
Rodrigo Ramírez Norambuena
809d932087 add rules "no-trailing-spaces" and "no-irregular-whitespace" for ESLint 2016-12-30 17:44:41 -03:00
Rodrigo Ramírez Norambuena
19d906c5e4 fix tabs, remove extra spaces and lines. 2016-12-29 22:23:08 -03:00
Rodrigo Ramírez Norambuena
2f933a90fd global.root_path for js core
Use global.root_path instead of "/../" syntax to go back directory
2016-12-29 19:09:28 -03:00
henglert
3607875714 Fix repeating count of yearly calendar events
The occurrence counter for a yearly repeating event e was calculated by "current year" - "e.firstYear", instead of "e.year" - "e.firstYear". That leads to a repeating event counter - 1 at the end of the year. E.g.
event e: first Date: 2015-01-02, yearly repetition
repeating count evaluated on 2015-12-31: 2015-2015 = 0 => incorrect
repeating count evaluated on 2016-01-01: 2016-2015 = 1 => correct
Fix: repeating count has to be calculated from event date instead of current date.
2016-12-29 15:31:01 +01:00
Michael Teeuw
fec8829041 Merge pull request #580 from roramirez/root_path
global: Add the root_path variable in global.
2016-12-28 13:33:47 +01:00
Rodrigo Ramírez Norambuena
f58e758a41 global: Add the root_path variable in global.
This will can be help for work the better way in use the path into
the core and modules.
2016-12-27 14:31:35 -03:00
Ben Brosnahan
cebed0824f Fix lint error 2016-12-26 11:35:37 +00:00
Ben Brosnahan
97120bd1f1 Add error handling to newsfeed 2016-12-26 01:17:45 +00:00
Michael Teeuw
4237d0c7e3 Merge pull request #547 from dbahn25/hidePrivate
Hide private
2016-12-24 14:23:47 +01:00
Daniel Buecheler
243cdfefa2 Fix failed linter test 2016-12-22 22:00:59 +01:00
Daniel Buecheler
a12a4cd8f2 Merge remote-tracking branch 'mich/develop' into hidePrivate
Resolved merge conflict
2016-12-22 21:53:47 +01:00
Olexandr Savchuk
980b8a2924 Added console warning for deprecated config options 2016-12-14 18:54:44 +01:00
Michael Teeuw
989dca5792 Merge pull request #563 from aschulz90/mm-fixes
Mm fixes
2016-12-14 10:05:20 +01:00
Michael Teeuw
c9eb06bb70 Merge pull request #560 from berlincount/develop
make electronOptions configurable
2016-12-14 10:04:27 +01:00
Michael Teeuw
af89906b81 Merge pull request #559 from roramirez/user-agent
newsfeed, calendar: Standardize user-agent.
2016-12-14 10:03:31 +01:00
Andreas
de71b1b397 Revert calendar default value and add documentation 2016-12-13 17:16:46 +01:00
Rodrigo Ramírez Norambuena
2decee1d87 Merge branch 'develop' into user-agent fix conflict. 2016-12-13 10:40:10 -03:00
Andreas 'count' Kotes
6a184b069b make electronOptions configurable, remove kioskmode from documentation 2016-12-13 13:59:24 +01:00
Michael Teeuw
48db615ac8 Merge pull request #553 from roramirez/grunt-eslint-modules
Grunt eslint modules
2016-12-13 12:58:43 +01:00
Michael Teeuw
bb9caa4838 Merge pull request #566 from roramirez/flag-plymouth
splashscreen: remove flag not used into script plymouth
2016-12-13 12:49:53 +01:00
Rodrigo Ramírez Norambuena
3c11c3fc16 splashscreen: remove flag not used into script plymouth 2016-12-13 00:33:29 -03:00
Andreas
6c1dbc5e61 Updated module READMEs with current default values 2016-12-12 14:55:07 +01:00
Andreas
21bf1dd1a3 Updated module READMEs with current default values 2016-12-12 14:52:00 +01:00
Michael Teeuw
78aa2b491c Merge pull request #558 from roramirez/size-for-compliments-text
Size for compliments text
2016-12-09 14:54:29 +01:00
Rodrigo Ramírez Norambuena
53d2c7e89f compliments: add abilty to set classes for compliments module 2016-12-09 10:49:49 -03:00
Michael Teeuw
cdf78db629 Merge pull request #552 from olexs/electron-zoom-factor
Option to scale the whole display using Electron's zoom factor
2016-12-08 15:57:47 +01:00
Olexandr Savchuk
15c5725829 Merge branch 'develop' into electron-zoom-factor 2016-12-08 15:54:52 +01:00
Michael Teeuw
96653170a2 Merge pull request #551 from olexs/round-temps
Option to display temperatures rounded to nearest integer
2016-12-08 15:47:44 +01:00
Michael Teeuw
eade89da48 Merge pull request #555 from qistoph/remoteonly
Check updates (in updatenotification) only for repos with remote
2016-12-08 15:29:17 +01:00
Rodrigo Ramírez Norambuena
9b86049964 newsfeed, calendar: Standardize user-agent.
Add node and MagicMirror version.
2016-12-08 01:29:55 -03:00
Rodrigo Ramírez Norambuena
9e2bbd50b6 README compliments: Close code tag and fix tabs 2016-12-07 22:03:32 -03:00
Chris van Marle
0d18266ad1 Fetch remote git only if repo has a remote 2016-12-07 08:38:45 +01:00
Rodrigo Ramírez Norambuena
83ee0534f2 fixed eslint error into modules for Javascript files 2016-12-02 23:23:54 -03:00
Rodrigo Ramírez Norambuena
8ad00025ad use Gruntfile into modules/default/* 2016-12-02 23:23:48 -03:00
Olexandr Savchuk
7d08a7c9cd Added documentation and changelog entry. 2016-12-02 21:14:41 +01:00
Olexandr Savchuk
c8d5a5319e Clean up duplicate code in Electron options 2016-12-02 21:09:16 +01:00
Olexandr Savchuk
a08fa721cf Added zoom factor config value and Electron option 2016-12-02 21:05:36 +01:00
Olexandr Savchuk
89bc3137ba Fixed method description. 2016-12-02 20:56:10 +01:00
Olexandr Savchuk
4d8d30f897 Moved misplaced method signature 2016-12-02 20:53:02 +01:00
Olexandr Savchuk
d67e9468c0 Changed roundTemp implementation to a cleaner one 2016-12-02 20:52:36 +01:00
Olexandr Savchuk
7dda36ab97 Merge branch 'round-temps' of github.com:olexs/MagicMirror into round-temps 2016-12-02 17:38:04 +01:00
Olexandr Savchuk
32df3e80b1 Renamed roundTemperature option to roundTemp
Added changelog entry
2016-12-02 17:33:41 +01:00
Olexandr Savchuk
3c33969d23 implemented roundTemperature in weather modules 2016-12-02 17:27:45 +01:00
Olexandr Savchuk
c2aec5ae36 implemented roundTemperature in weather modules 2016-12-02 17:17:58 +01:00
Daniel Bücheler
7afc908c32 Added hidePrivate option of calendar module 2016-11-30 21:28:49 +01:00
Daniel Bücheler
c66ecbdd29 Added hidePrivate to README.md
Added explanation of hidePrivate option to the Calendar Module's README
2016-11-30 21:28:44 +01:00
Daniel Buecheler
e61bccab36 Calendar Module: Added false as default for hidePrivate 2016-11-30 21:24:04 +01:00
Daniel Buecheler
cfeef98261 Private events are hidden
Events with the class:PRIVATE iCal property are not shown in the
calendar module. They are not added to the array of calendar
events in createEventList.

This feature can be turned on and off in the config via the property
hidePrivate: true/false.
2016-11-30 21:09:57 +01:00
Michael Teeuw
c949548150 Merge pull request #546 from BrianHepler/load_compliments_from_remote_file
Load compliments from remote file
2016-11-30 16:43:14 +01:00
Brian
829ccfca88 Updated changelog and compliments documentation. 2016-11-30 10:31:19 -05:00
Brian
950fa84d1c Added capability to load compliments from the host file system. 2016-11-30 10:30:49 -05:00
Michael Teeuw
5666729fcf Merge pull request #543 from roramirez/pulled-clock
clock: remove statement of repetead code.
2016-11-29 10:41:29 +01:00
Michael Teeuw
3a13886af9 Merge pull request #542 from aschulz90/mm-fixes
Fixed Global Default Config Being Modified
2016-11-26 16:17:14 +01:00
Rodrigo Ramírez Norambuena
db6e0ccf63 clock: remove statement of repetead code. 2016-11-26 11:45:12 -03:00
Andreas
35f2ebc2aa Fixed Global Default Config Being Modified 2016-11-26 15:33:10 +01:00
Michael Teeuw
60ac4a3e86 Merge pull request #541 from roramirez/bind-address
Add option to set bind address
2016-11-26 13:23:27 +01:00
Rodrigo Ramírez Norambuena
c966d34b07 fix camelCase detected eslint 2016-11-25 21:55:51 -03:00
Rodrigo Ramírez Norambuena
a05d7059fb Update CHANGELOG 2016-11-25 21:54:03 -03:00
Rodrigo Ramírez Norambuena
facc1dc944 add label where is bind serveronly 2016-11-25 21:48:36 -03:00
Rodrigo Ramírez Norambuena
df2ebbf384 Add option to set bind address 2016-11-25 21:41:05 -03:00
Michael Teeuw
e210471c7a Merge pull request #539 from roramirez/fix_tab_config.js_sample
fix tab into config.js.sample
2016-11-24 15:48:03 +01:00
Michael Teeuw
f42d552dad Merge pull request #540 from roramirez/space_comment_js_main
fix comments and space js/main.js
2016-11-24 15:47:49 +01:00
Rodrigo Ramírez Norambuena
edfd9e46b6 fix comments and space js/main.js 2016-11-24 00:26:40 -03:00
Rodrigo Ramírez Norambuena
27644776f3 fix tab into config.js.sample 2016-11-24 00:20:04 -03:00
Michael Teeuw
a4797dcc73 Merge pull request #537 from roramirez/comment-fix
comments fix for js/module.js
2016-11-22 23:09:35 +01:00
Rodrigo Ramírez Norambuena
677312648b comments fix for js/module.js 2016-11-22 18:53:46 -03:00
Michael Teeuw
ace460c69b Merge pull request #535 from Platimir/patch-3
Added update info translation
2016-11-22 07:51:48 +01:00
Platimir
b922fe35ab Added update info translation
Added 2/3 update info translation
2016-11-21 22:14:16 +01:00
Michael Teeuw
222e2166ff Merge pull request #530 from Jopyth/patch-3
update documentation to module default config
2016-11-21 11:03:10 +01:00
Michael Teeuw
7dc25ec425 Merge pull request #532 from roramirez/default_value_animation_newsfeed
newsfeed: fix set default value for animationSpeed option in README
2016-11-21 11:02:52 +01:00
Michael Teeuw
980835981f Merge pull request #533 from roramirez/onlyTemp
Only temp
2016-11-21 11:02:30 +01:00
Rodrigo Ramírez Norambuena
e425adc230 fix some tabs 2016-11-20 22:19:55 -03:00
Rodrigo Ramez Norambuena
2ea7ef327e currentweather: add option onlyTemp.
Is added option onlyTemp for show only current temperature and weather
icon.
2016-11-20 22:19:51 -03:00
Rodrigo Ramírez Norambuena
6c9d33f05c newsfeed: fix set default value for animationSpeed option in README 2016-11-20 20:06:58 -03:00
Jopyth
c584b51726 Update CHANGELOG.md 2016-11-20 16:49:30 +01:00
Jopyth
3c8fa3382b update documentation to module default config 2016-11-20 16:47:49 +01:00
Michael Teeuw
e5c75259e0 Merge pull request #524 from qistoph/moduleupdates
Check updates for configured modules only
2016-11-19 11:37:02 +01:00
Michael Teeuw
f78e437a42 Merge pull request #526 from roramirez/UPDATE_NOTIFICATION_MODULE-es
Update translations module es
2016-11-19 11:35:54 +01:00
Michael Teeuw
8f61b1d320 Merge pull request #527 from roramirez/standarize-tab-translations
fix tabs translations
2016-11-19 11:35:40 +01:00
Michael Teeuw
84f3c6f7e6 Merge pull request #528 from Jopyth/patch-2
add German translation for module update
2016-11-19 11:35:16 +01:00
Jopyth
bfb6c001a0 add german translation for module update 2016-11-19 07:46:30 +01:00
Rodrigo Ramírez Norambuena
f0fa9f2033 translations: Fix massive tabs into translations files. 2016-11-18 22:19:45 -03:00
Rodrigo Ramírez Norambuena
c82cc30968 translations: Add UPDATE_NOTIFICATION_MODULE string for spanish. 2016-11-18 19:23:04 -03:00
Michael Teeuw
b0cb14b515 Merge pull request #525 from Jopyth/patch-2
Fix typo
2016-11-18 17:13:11 +01:00
Jopyth
7f86d2aa0a Fix typo 2016-11-18 17:07:55 +01:00
Chris van Marle
482dd4db76 Check updates for configured modules only 2016-11-18 12:57:45 +01:00
Michael Teeuw
0f44fd2290 Merge pull request #523 from nhubbard/develop
Update Dependencies and Improve Security
2016-11-17 19:36:14 +01:00
Nicholas Hubbard
690d461693 Update CHANGELOG 2016-11-17 10:33:13 -05:00
Nicholas Hubbard
f1ca72aee9 Improve Security and Update Dependencies 2016-11-17 09:34:11 -05:00
Michael Teeuw
a3a6fc0d15 Merge pull request #521 from nhubbard/develop
Update Electron
2016-11-17 08:47:29 +01:00
Nicholas Hubbard
4f4fe5f06b Update Electron: Part II
Add the change to the changelog.
2016-11-16 20:04:56 -05:00
Nicholas Hubbard
c59f47f4b5 Update Electron: Part I
Replace `electron-prebuilt` with `electron`.
2016-11-16 20:02:37 -05:00
Michael Teeuw
0ae810b8c6 Merge pull request #519 from StefanBols/develop
Updated da translation file
2016-11-16 20:47:10 +01:00
Stefan Bols
ac9f42a8fe Updated da translationfile 2016-11-16 20:35:55 +01:00
Michael Teeuw
eab7e56ece Merge pull request #518 from qistoph/moduleupdates
Module Updates
2016-11-16 18:57:44 +01:00
Chris van Marle
7329515a4d Check for module updates 2016-11-16 18:19:44 +01:00
Michael Teeuw
6d6bf2df3a Merge pull request #516 from StefanBols/develop
Added UPDATE INFO to da.json
2016-11-16 07:03:29 +01:00
Stefan Bols
3008bfbe0a Added UPDATE INFO to da.json 2016-11-15 22:54:47 +01:00
Michael Teeuw
9399517cfb Merge pull request #512 from roramirez/readme-calendar-format-fix
calendar: little fix format README
2016-11-15 19:40:43 +01:00
Michael Teeuw
b117fe222d Merge pull request #515 from roramirez/disabled_module
Config: Add option disabled for modules configuration
2016-11-15 09:33:07 +01:00
Rodrigo Ramírez Norambuena
62567264f0 Config: Add option disabled for modules configuration 2016-11-14 14:45:59 -03:00
Michael Teeuw
c054b3b0de Merge pull request #514 from roramirez/log_line_number
logger: Show line number where is called the function for the log
2016-11-14 17:26:59 +01:00
Rodrigo Ramez Norambuena
83fb5b4d1b logger: Show line number where is called the function for the log 2016-11-14 00:04:23 -03:00
Rodrigo Ramírez Norambuena
07a86800c9 calendar: little fix format README 2016-11-12 21:10:37 -03:00
Michael Teeuw
688b5f29b6 Cleanup. 2016-11-12 20:03:56 +01:00
Michael Teeuw
e311f17062 Temp fix for wrapper issue. 2016-11-12 11:19:58 +01:00
Michael Teeuw
b4cdb22e24 Merge pull request #509 from roramirez/extra_log
remove extra console.log introduced in commit e419701
2016-11-11 14:20:38 +01:00
Rodrigo Ramez Norambuena
b63194c0aa remove extra console.log introduced in commit e419701 2016-11-11 10:18:29 -03:00
Michael Teeuw
0bab32315c Merge PR 2016-11-10 20:06:00 +01:00
Michael Teeuw
7e881dd850 Merge branch 'compliments_from_currentweather' of https://github.com/roramirez/MagicMirror into roramirez-compliments_from_currentweather 2016-11-10 20:03:58 +01:00
Michael Teeuw
d6aaafb069 Merge pull request #508 from roramirez/var_updateTimer
currentweather: Remove variable updateTimer not used
2016-11-10 20:01:25 +01:00
Michael Teeuw
731fcb8829 Merge pull request #507 from roramirez/update_es_translations
Update es translations
2016-11-10 19:39:37 +01:00
Michael Teeuw
af0e94a4b7 Merge pull request #506 from qistoph/dateformat
Dateformat
2016-11-10 19:38:51 +01:00
Rodrigo Ramírez Norambuena
deda869cc5 currentweather: Remove variable updateTimer not used 2016-11-10 15:33:16 -03:00
Rodrigo Ramírez Norambuena
434089395a translations: add DAYAFTERTOMORROW key Spanish language. 2016-11-10 15:27:10 -03:00
Rodrigo Ramírez Norambuena
048985bdf4 translations: add Spanish translations for alert module 2016-11-10 15:26:55 -03:00
Rodrigo Ramez Norambuena
70d6d4246d compliments: Add feature use current weather.
Possibility the use the actual type of currentweather to show the
compliments.
2016-11-10 15:11:18 -03:00
Chris van Marle
70befe900c Update changelog 2016-11-10 17:28:39 +01:00
Chris van Marle
9fd81bf6c7 Add dateFormat to calendar module 2016-11-10 17:26:29 +01:00
Michael Teeuw
a388fe3acb Merge pull request #505 from StefanBols/develop
Added keys to EN and DA translations files
2016-11-09 19:29:02 +01:00
Stefan Bols
d4946d931a Create da.json 2016-11-09 17:40:51 +01:00
Stefan Bols
9812654bfa Update CHANGELOG.md 2016-11-09 17:30:20 +01:00
Stefan Bols
557426246c Added key DAYAFTERTOMORROW to translation file
The key was found in the NL translation file, and were missing in the EN file
2016-11-09 17:22:33 +01:00
Stefan Bols
d0a3e8f789 Added DAYAFTERTOMORROW key to translation file
Key found at NL translation file, and are missing in the Danish translation
2016-11-09 17:20:35 +01:00
Michael Teeuw
50b37f2ddd Update changelog. 2016-11-08 20:11:46 +01:00
Michael Teeuw
e4197012f6 updateWrapperStates to hide unused regions. 2016-11-08 20:07:31 +01:00
Michael Teeuw
df00a1e0a3 Merge pull request #503 from derwehr/develop
added url to the newsfeed fetcher
2016-11-07 20:48:29 +01:00
derwehr
41327bfb03 quick fix to prevent issues with feeds that omit url and link 2016-11-07 20:46:28 +01:00
derwehr
66ef72a040 added url to the newsfeed fetcher 2016-11-07 17:49:32 +01:00
Michael Teeuw
af660bc631 Fix typo. 2016-11-06 12:54:00 +01:00
Michael Teeuw
18edb13e76 Remove Snyk since it gives to many NPM issues. 2016-11-06 12:37:04 +01:00
Michael Teeuw
e05431c847 Merge pull request #482 from roramirez/fix_change_log_pr_479
Fix the position for the feature note added in the Pull Request #479
2016-11-06 12:34:43 +01:00
Michael Teeuw
5c61f95093 Merge pull request #485 from roramirez/url_example_cities
currentweather, weatherforecast: sample URL for LocationID:
2016-11-06 12:33:20 +01:00
Michael Teeuw
9a407c727a Merge pull request #497 from roramirez/error_missing_coma-lang-es
error missing coma into es translations
2016-11-06 12:31:22 +01:00
Michael Teeuw
cad655a15b Merge pull request #500 from roramirez/space_vs_tab_calendar
calendar: fix space vs tab into caledarfetcher.js
2016-11-06 12:29:44 +01:00
Rodrigo Ramez Norambuena
1fa5c53b72 calendar: fix space vs tab into caledarfetcher.js 2016-11-05 21:23:37 -03:00
Rodrigo Ramez Norambuena
d01b1a706c error missing coma into es translations 2016-11-03 17:56:06 -03:00
Rodrigo Ramírez Norambuena
678d5fc532 currentweather, weatherforecast: sample URL for LocationID:
Changed from README the sample URLs for get the LocationID.
The http://bulk.openweather.org/sample/ doesn't work
2016-11-03 15:36:04 -03:00
Michael Teeuw
c4e01fa566 Merge pull request #494 from onuryilmaz/develop
Turkish translation added
2016-11-03 08:14:27 +01:00
Michael Teeuw
e694622b83 Merge pull request #495 from roramirez/update-es
Update: translations es
2016-11-03 08:13:44 +01:00
Rodrigo Ramírez Norambuena
1d16c96ca4 Update: translations es 2016-11-03 00:19:32 -03:00
Onur Yilmaz
ab1f34726b Turkish translation added 2016-11-02 22:03:17 +00:00
Onur Yilmaz
c9f201755e Turkish translation added 2016-11-02 22:01:14 +00:00
Michael Teeuw
094ef592a7 Merge pull request #492 from aschulz90/mm-fixes
Mm fixes
2016-10-31 20:39:00 +01:00
Andreas
e7493c38d1 Update CHANGELOG.md 2016-10-31 20:16:55 +01:00
Andreas
6fd0fcfdb5 Update module.js 2016-10-31 20:10:52 +01:00
Michael Teeuw
6da534a961 Merge pull request #491 from dougshamoo/patch-1
Fix typo in readme
2016-10-29 21:44:18 +02:00
Doug Shamoo
f26e43144e Fix typo in README 2016-10-29 12:27:34 -07:00
Michael Teeuw
427529171c Merge pull request #489 from roramirez/README-weathers-times
README Fix updateInterval for currentweather, weatherforecast:
2016-10-27 16:41:08 +02:00
Rodrigo Ramírez Norambuena
cd146cf822 README Fix updateInterval for currentweather, weatherforecast:
Fix milliseconds in the example for the updateInterval option
2016-10-27 11:12:15 -03:00
Michael Teeuw
ced412372c Merge pull request #486 from roramirez/fix_location_id_empty
currentweather, weatherforecast: fix locationID empty
2016-10-26 21:29:26 +02:00
Rodrigo Ramez Norambuena
2f6e650c1b currentweather, weatherforecast: fix locationID empty
Fix when the option locationID the value = ''

If you have the next config

 config: {
            // See 'Configuration options' for more information.
            location: 'Chillan, Chile',
            locationID: '',
            appid: 'abcde12345abcde12345abcde12345ab'
        }

The modules dont get the data, because the parameters of query is created
in id=''
2016-10-26 16:15:42 -03:00
Rodrigo Ramírez Norambuena
5c125ca9b4 Fix position note for add the feature into Pull Request #479 2016-10-25 16:14:59 -03:00
Michael Teeuw
89c0939d58 Fix needs update check. 2016-10-25 12:30:24 +02:00
Michael Teeuw
8ea955fb23 Fix type. 2016-10-25 12:24:01 +02:00
Michael Teeuw
73a297f23f Merge pull request #479 from roramirez/timezone-clock-module
add support to enable set timezone for show in clock module.
2016-10-25 11:39:19 +02:00
Rodrigo Ramírez Norambuena
95f1382fbf add support to enable set timezone for show in clock module. 2016-10-24 23:55:40 -03:00
Michael Teeuw
80df01c8ee Fix unit for display time. 2016-10-22 12:04:58 +02:00
Michael Teeuw
c2df864119 Merge pull request #475 from RedNax67/develop
Deliver additional information in calendar broadcasts
2016-10-20 09:20:30 +02:00
xander
2cc9356c32 Push location, geo and description on events stack for single and repeating events. 2016-10-20 09:05:12 +02:00
RedNax67
89234c0163 Merge pull request #1 from MichMich/develop
Develop
2016-10-20 08:41:40 +02:00
Michael Teeuw
1b7fe286a6 remove logging 2016-10-17 17:03:10 +02:00
Michael Teeuw
7c2d797ed0 Merge pull request #470 from Jopyth/patch-1
Change position from absolute to fixed
2016-10-17 16:50:48 +02:00
Jopyth
4d2eedc56b Update CHANGELOG.md 2016-10-16 17:32:17 +02:00
Jopyth
ece0d9301f Update CHANGELOG.md 2016-10-16 17:32:05 +02:00
Jopyth
cc10cd88d3 change position from absolute to fixed 2016-10-16 17:24:21 +02:00
Michael Teeuw
b9f308c832 Stylelint fixes 2016-10-15 17:11:03 +02:00
Michael Teeuw
6816bd8bad Solve margin issue. 2016-10-15 17:06:52 +02:00
Michael Teeuw
0e026de5bd Merge pull request #469 from fewieden/develop
added german translation for updatenotification
2016-10-15 15:43:01 +02:00
fewieden
a419ad201d added german translation for updatenotification 2016-10-15 13:39:42 +02:00
Michael Teeuw
a66a4f62bd Add module 'updatenotification'. 2016-10-15 13:08:46 +02:00
Michael Teeuw
e721d2204b Fix typo. 2016-10-15 11:27:34 +02:00
Michael Teeuw
f293cf6e81 Merge pull request #468 from Jopyth/patch-rain
Add option to show rain amount
2016-10-15 08:57:53 +02:00
Jopyth
0cde1d4969 Update CHANGELOG.md 2016-10-14 23:13:13 +02:00
Joseph Bethge
bd49bd6e33 option to show rain amount 2016-10-14 23:07:18 +02:00
Michael Teeuw
84dc1fa151 Possibility to use the the calendar feed as the source for the weather. 2016-10-14 17:42:07 +02:00
Michael Teeuw
5858e862d9 Broadcast calendar eventlist to other modules. 2016-10-14 15:23:03 +02:00
Michael Teeuw
8b004a549a Change Newsfeed logging. 2016-10-14 14:19:03 +02:00
Michael Teeuw
4a53e4207c Small visual change. 2016-10-13 21:05:48 +02:00
Michael Teeuw
6510de5d29 Fix logger issue on electron. 2016-10-13 20:22:30 +02:00
Michael Teeuw
a6191320a1 Improve documentation. 2016-10-13 16:47:00 +02:00
Michael Teeuw
a75ff0c061 Improve documentation. 2016-10-13 16:45:23 +02:00
Michael Teeuw
0d45eb91db Fix typo. 2016-10-13 16:43:43 +02:00
Michael Teeuw
95edbc16bb Add requiresVersion property to module API. 2016-10-13 16:42:15 +02:00
Michael Teeuw
15a5e3c779 Fix typo. 2016-10-13 15:19:12 +02:00
Michael Teeuw
0433432e62 Add information about recent changes. 2016-10-13 15:15:38 +02:00
Michael Teeuw
e7ca73bbad Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop
# Conflicts:
#	modules/README.md
2016-10-13 15:07:19 +02:00
Michael Teeuw
8d8374b8e2 First implementation of Visibility locking. 2016-10-13 15:03:52 +02:00
Michael Teeuw
4dc5bbe601 First implementation of Visibility locking. 2016-10-13 15:00:59 +02:00
Michael Teeuw
55371f9c78 Improve object instantiation to prevent reference errors. 2016-10-13 14:25:53 +02:00
Michael Teeuw
af63f4098f Improve logger. 2016-10-13 13:24:56 +02:00
Michael Teeuw
2b4939a875 Add VSCode IntelliSense support. 2016-10-13 13:10:33 +02:00
Michael Teeuw
d5d22844ab Fix info about default setting. 2016-10-04 16:27:06 +02:00
Michael Teeuw
7dab00be87 Fix info about default setting. 2016-10-04 16:26:35 +02:00
Michael Teeuw
67582d388a Fix Table. 2016-10-04 16:25:39 +02:00
Michael Teeuw
0671e7d456 Add update information. 2016-10-04 16:21:53 +02:00
Michael Teeuw
c9e6af96d0 Change update information. 2016-10-04 16:19:33 +02:00
Michael Teeuw
ee48a56603 Add info about humidity. 2016-10-01 14:08:15 +02:00
Michael Teeuw
4c03f39437 Merge branch 'amcolash-current_humidity' into develop 2016-10-01 14:06:45 +02:00
Michael Teeuw
d8d425c963 Visual changes. 2016-10-01 14:06:10 +02:00
Michael Teeuw
ec64ac9f1d Merge branch 'current_humidity' of https://github.com/amcolash/MagicMirror into amcolash-current_humidity 2016-10-01 13:56:46 +02:00
Michael Teeuw
7ed682c186 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2016-10-01 13:55:54 +02:00
Michael Teeuw
9dcb579741 Merge branch 'fewieden-develop' into develop 2016-10-01 13:55:31 +02:00
Michael Teeuw
19f837aa41 Merge changes. 2016-10-01 13:55:08 +02:00
Michael Teeuw
b267491934 Add IPv6 loopback IP address to default whitelist. 2016-10-01 13:49:41 +02:00
Michael Teeuw
a369dddde8 Merge branch 'yo-less-patch-4' into develop 2016-10-01 11:03:16 +02:00
Michael Teeuw
29d87d7c48 Merge branch 'patch-4' of https://github.com/yo-less/MagicMirror into yo-less-patch-4
# Conflicts:
#	CHANGELOG.md
2016-10-01 11:03:05 +02:00
Michael Teeuw
4847f50093 Merge branch 'kasperwandahl-master' into develop 2016-10-01 10:53:08 +02:00
Michael Teeuw
7c848b1253 Merge changes 2016-10-01 10:52:46 +02:00
Michael Teeuw
607aa46032 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2016-10-01 10:35:33 +02:00
Michael Teeuw
430193891f Fix Config keys. 2016-10-01 10:35:22 +02:00
fewieden
cbb82ed635 replace system output with MagicMirror splash screen on boot 2016-10-01 00:38:14 +02:00
Michael Teeuw
1dfb72703a Merge pull request #461 from hkapanen/Finnish
Finnish translation
2016-09-30 20:10:31 +02:00
Harri Kapanen
5edf377f4b Finnish translation 2016-09-30 20:44:53 +03:00
Michael Teeuw
43a33d267a Merge pull request #453 from dmcinnes/patch-1
Fix typos in the module dev docs
2016-09-30 09:30:43 +02:00
Doug McInnes
c4048f4c7b fix typos in the module dev docs 2016-09-29 21:40:45 -07:00
Michael Teeuw
501c89ae3a Merge pull request #457 from Jopyth/patch-limited-access
Patch limited access
2016-09-29 17:58:06 +02:00
Joseph Bethge
5899497aa7 log denied access attempts on server 2016-09-29 17:55:32 +02:00
Joseph Bethge
2c758a9981 remove warning message 2016-09-29 17:52:22 +02:00
Joseph Bethge
66eb99e506 transfer usage information to readme 2016-09-29 17:49:54 +02:00
Joseph Bethge
b583140077 fix double quotes and config.js.sample 2016-09-29 17:43:57 +02:00
Joseph Bethge
f378c93dd3 replace ugly error message 2016-09-29 17:07:22 +02:00
Joseph Bethge
5d29fa5e62 ip address filtering 2016-09-29 16:34:57 +02:00
Michael Teeuw
54f04c9141 Fix ESLint issues 2016-09-29 11:12:49 +02:00
Michael Teeuw
fc0c706100 Add MagPi Logo 2016-09-29 11:05:37 +02:00
Kasper Wandahl Fogh
02ac9fa0d7 Added danish in translations.js and updated changelog 2016-09-24 10:57:02 +02:00
Kasper Wandahl Fogh
ca95c75df3 Added danish translation 2016-09-24 10:41:44 +02:00
Michael Teeuw
4ff86795b9 Snyk security update. 2016-09-22 19:56:54 +02:00
Michael Teeuw
30eaec29d3 Modified translations for Frysk. 2016-09-21 10:29:34 +02:00
Michael Teeuw
742d38c9ec Merge pull request #450 from Wilco89/patch-1
Patch 1
2016-09-21 10:28:23 +02:00
Wilco Land
56a4597784 Update fy.json
Added "DAYAFTERTOMORROW"
2016-09-21 09:57:47 +02:00
Michael Teeuw
b2a7d3584b Add getHeader functionlity.. 2016-09-20 17:22:24 +02:00
Michael Teeuw
b8167f89e5 Merge pull request #448 from MichMich/develop
Release 2.0.5
2016-09-20 16:41:12 +02:00
Michael Teeuw
c916472b22 Release 2.0.5 2016-09-20 16:32:45 +02:00
Michael Teeuw
bdfe7c5e69 Merge pull request #447 from valmassoi/develop
Fix default weather forecast module api URL
2016-09-19 15:27:32 +02:00
valmassoi
749475799a Fix default weather forecast module api URL 2016-09-18 10:54:20 -07:00
Michael Teeuw
daf9c807b5 Merge pull request #446 from contra/patch-1
fix typo
2016-09-18 08:42:03 +02:00
contra
5dfecfdee3 fix typo 2016-09-17 17:54:38 -04:00
Michael Teeuw
d267c03ee2 Merge pull request #435 from nhubbard/develop
Add all the linters!
2016-09-13 09:33:06 +02:00
Michael Teeuw
864e3c7a50 Merge pull request #437 from andyipod1437/develop
Able to turn off and on the date display the clock module.
2016-09-11 21:16:07 +02:00
Andrew Chumchal
747e1a818d Able to turn off and on the clock module 2016-09-11 08:14:28 -07:00
Andrew Chumchal
f468dbf427 Update CHANGELOG.md 2016-09-11 08:04:33 -07:00
Nicholas Hubbard
88572e90d4 Add all the linters 2016-09-10 16:41:57 -04:00
Michael Teeuw
41fc7dd73d Merge pull request #434 from nhubbard/develop
Clean Up the Contributing Documentation and Process: An Opera, Reincarnated
2016-09-09 08:56:34 +02:00
Nicholas Hubbard
c87c588c79 Clean Up the Contributing Documentation and Process: Part VII.LXVI.IV
* Fix yet another out-of-the-blue error that Stylelint found.
2016-09-08 16:00:48 -04:00
Nicholas Hubbard
5ab4b57411 Clean Up the Contributing Documentation and Process: Part VII.LXVI.III
* Fix the errors that popped up out of the blue from Stylelint.
2016-09-08 15:57:25 -04:00
Michael Teeuw
3c936c6957 Merge pull request #433 from icewind1991/webcal-auth
add support for http basic auth for calendars
2016-09-08 21:54:53 +02:00
Nicholas Hubbard
0ca903a146 Clean Up the Contributing Documentation and Process: Part VII.LXVI.II
* Fix the indentation in the clock CSS.
2016-09-08 15:51:58 -04:00
Nicholas Hubbard
4e91919990 Clean Up the Contributing Documentation and Process: Part VII.LXVI.I
* Fix the StyleLint config to allow the empty blocks in the clock module CSS.
2016-09-08 15:49:24 -04:00
Nicholas Hubbard
e023a68780 Clean Up the Contributing Documentation and Process: Part VII.LXVI
* Fix the issues in css/main.css.
2016-09-08 15:47:16 -04:00
Nicholas Hubbard
17452cd5b6 Clean Up the Contributing Documentation and Process: Part VII.XXXIII
* Fix the css/custom.css issues.
2016-09-08 15:44:43 -04:00
Nicholas Hubbard
c76f2c8483 Clean Up the Contributing Documentation and Process: Part VII
* Fix the globbing error in the previous commits.
2016-09-08 15:41:12 -04:00
Robin Appelman
90207f9b68 add support for http basic auth for calendars 2016-09-08 21:29:17 +02:00
Nicholas Hubbard
0ec5371b61 Clean Up the Contributing Documentation and Process: Part VII
* Update the changelog to mention my changes.
2016-09-08 15:26:50 -04:00
Nicholas Hubbard
8549aeb466 Clean Up the Contributing Documentation and Process: Part VI
* Alter the pull request template to look a little better.
2016-09-08 15:24:52 -04:00
Nicholas Hubbard
504d3cd131 Clean Up the Contributing Documentation and Process: Part V
* Replace the contribution instructions with the ones from CONTRIBUTING.md.
2016-09-08 15:23:45 -04:00
Nicholas Hubbard
83ed298eba Clean Up the Contributing Documentation and Process: Part IV
* Replace `postcss:lint` with `stylelint`.
* Update the contribution instructions.
2016-09-08 15:22:40 -04:00
Nicholas Hubbard
a90f2cb156 Clean Up the Contributing Documentation and Process: Part III
* Remove PostCSS from Grunt.
* Add StyleLint to Grunt.
2016-09-08 15:17:20 -04:00
Nicholas Hubbard
1a54bafdd5 Clean Up the Contributing Documentation and Process: Part II
* Add `grunt-stylelint` over the complicated PostCSS method previously used.
* Remove PostCSS dependencies.
2016-09-08 15:14:00 -04:00
Nicholas Hubbard
3cc186f7e4 Clean Up the Contributing Documentation and Process: Part I
* Remove the HTML Validator
* Replace JSCS with ESLint
* Replace `npm` commands with equivalent `grunt` commands
2016-09-08 15:10:17 -04:00
Michael Teeuw
a2497d7564 Merge pull request #430 from nhubbard/develop
Close #374
2016-09-07 08:31:06 +02:00
Nicholas Hubbard
c01c882081 Update the Changelog 2016-09-06 19:25:16 -04:00
Nicholas Hubbard
af279df5c9 Closes #374.
ARMv6 is not supported by recent versions of Chrome, and by extent, this means recent versions of Electron as well.
2016-09-06 19:23:52 -04:00
Michael Teeuw
1ea7ce2589 Fix typo. 2016-09-06 10:09:11 +02:00
Michael Teeuw
476c577bc1 Add fixes. 2016-09-06 10:08:12 +02:00
Michael Teeuw
e3b91c4d71 Merge pull request #428 from callumdmay/master
Fix typos in raspberry.sh
2016-09-06 10:06:52 +02:00
Michael Teeuw
1e2d7acf4a Merge pull request #427 from pOakley/patch-1
currentweather module api url bugfix
2016-09-06 10:06:17 +02:00
Callum
1def120616 Fix typos in raspberry.sh 2016-09-05 22:47:49 -04:00
Phil Oakley
25ddf2c651 currentweather module api url bugfix
Running this on Raspberry Pi 2, node version v6.5.0, magicmirror@2.0.0

The current url created has a typo that causes the module to only display default weather units (Kelvin). After checking the website (http://openweathermap.org/current), there is no "/" at this location in the url. Removing it fixes the issue and allows the user to see the specified units in config.js.
2016-09-05 19:06:21 -06:00
Michael Teeuw
e5d384e808 Merge pull request #426 from nhubbard/develop
CII Best Practices
2016-09-05 10:44:03 +02:00
Jens
63351553d8 calendar.js doesn't overcapitalize future events 2016-09-04 14:24:49 +02:00
Jens
4630740ac7 Added 'getRelative' tag 2016-09-04 00:05:02 +02:00
Jens
0ff4884d3a Added 'getRelative' tag 2016-09-03 23:42:24 +02:00
Jens
2dfdedf7b0 Update README.md 2016-09-03 23:40:29 +02:00
Jens
e1fa5fb180 Added 'getRelative' tag 2016-09-03 23:39:32 +02:00
Jens
4e47f9eb68 Added 'getRelative' tag 2016-09-03 23:37:09 +02:00
Jens
c4c8955bc2 Added 'getRelative' tag 2016-09-03 23:36:29 +02:00
Jens
f47b808478 Added calendar.js tweaks (capitalization / 'getRelative' tag) 2016-09-03 23:28:07 +02:00
Jens
493367da5e point of time when calendar event gets relative now customizable 2016-09-03 23:22:51 +02:00
Jens
4ca185cf45 point of time when calendar event gets relative now customizable 2016-09-03 23:22:37 +02:00
Jens
8f4effbb8d poinst of time when calendar event gets relative now customizable 2016-09-03 23:17:46 +02:00
Nicholas Hubbard
a4ba7f277e Add Change to Changelog 2016-09-02 22:00:37 -04:00
Nicholas Hubbard
c3f97a0cf1 Add CII Badge, Remove Node Version 2016-09-02 21:58:22 -04:00
Jens
c1b8fc1233 calendar dates are uniformly capitalized
This is an attempt at standardizing the calendar layout. Currently the calendar times are only partly capitalized, some time phrases start with lower-case letters, some don't (The ones pulled from the TRANSLATIONS folder start with upper-case letters, the others don't). Behavior has been changed to create a more standardized layout.
2016-09-03 00:39:46 +02:00
Michael Teeuw
a481638c03 Add dutch translation 2016-09-01 09:42:33 +02:00
Michael Teeuw
c12dfc7b4d Merge branch 'yo-less-patch-2' into develop 2016-09-01 09:39:34 +02:00
Michael Teeuw
34bc527709 Merge branch 'patch-2' of https://github.com/yo-less/MagicMirror into yo-less-patch-2 2016-09-01 09:38:06 +02:00
yo-less
ee134d0d7c Merge branch 'patch-2' of https://github.com/yo-less/MagicMirror into patch-2 2016-08-31 22:50:09 +02:00
yo-less
f795ee7fd9 Added "day after tomorrow" changes to calendar.js 2016-08-31 22:49:31 +02:00
yo-less
1bba75881f Added 'day after tomorrow'changes to calendar.js 2016-08-31 22:46:54 +02:00
yo-less
34db2d9efa commit changes 2016-08-31 22:45:12 +02:00
yo-less
91dd308952 Added 'day after tomorrow' changes to calendar.js 2016-08-31 22:43:27 +02:00
Jens
3d97e26cde Delete CHANGELOG.md 2016-08-31 22:40:50 +02:00
Jens
104c1ecbec Added "day after tomorrow" changes to calendar.js 2016-08-31 22:18:30 +02:00
Jens
88266ec4e3 Added "day after tomorrow" changes to calendar.js 2016-08-31 22:17:43 +02:00
Jens
f5be159187 Added "DAYAFTERTOMORROW" tag if available 2016-08-31 22:11:31 +02:00
Jens
1194d86460 Merge pull request #1 from yo-less/patch-1
Added "DAYAFTERTOMORROW" tag if config language is German
2016-08-31 14:49:44 +02:00
Jens
76d6dca63f Added "Übermorgen" to show in calendar.js 2016-08-31 14:41:49 +02:00
Jens
1b69e62e2e Added "DAYAFTERTOMORROW" tag if config language is German 2016-08-31 14:39:37 +02:00
Michael Teeuw
e89839359f Merge pull request #422 from Platimir/patch-1
Update README.md
2016-08-30 16:08:01 +02:00
Platimir
177d113cd9 Update README.md 2016-08-30 15:57:52 +02:00
Andrew McOlash
853fa87012 Slight change to padding of humidity icon, just too much before 2016-08-28 01:58:56 -05:00
Andrew McOlash
a592ca25ff Add in icon for the current humidity 2016-08-28 01:52:08 -05:00
Michael Teeuw
a8c9926fa7 Merge pull request #420 from yo-less/patch-1
Updated README.md
2016-08-27 20:58:21 +02:00
Jens
bf5587fe09 Updated README.md
Fixed minor typo
2016-08-27 20:35:00 +02:00
Michael Teeuw
7c8a27e894 Merge pull request #419 from yo-less/patch-1
Updated README.md
2016-08-27 13:55:28 +02:00
Jens
d248b11ffc Updated README.md
Fixed inconsistencies in tag removal instructions.
2016-08-27 13:48:33 +02:00
Michael Teeuw
1282e010ee Merge pull request #417 from yo-less/patch-1
Updated README.md
2016-08-27 13:29:06 +02:00
Michael Teeuw
d5d1ca948e Merge pull request #418 from yo-less/patch-2
Updated CHANGELOG.md
2016-08-27 13:28:55 +02:00
Jens
a08704e8ed Updated CHANGELOG.md
Added tag removal description for newsfeed items
2016-08-27 13:12:08 +02:00
Jens
2a8c0c0c08 Updated README.md
Fixed inconsistencies in tag removal instructions.
2016-08-27 12:59:00 +02:00
Michael Teeuw
2ae0c98b4c Merge pull request #416 from yo-less/master
Tags at the beginning and/or end of newsfeed items
2016-08-27 12:00:28 +02:00
yo-less
c427050a92 Allow for the removal of feed tags
Added options: both, description, title
2016-08-27 01:16:31 +02:00
yo-less
43a0829f44 Allow for the removal of feed tags
legibility update
2016-08-27 00:37:19 +02:00
yo-less
e9b8b91861 Allow for removal of feed tags
Updated README.md for legibility
2016-08-27 00:35:27 +02:00
yo-less
6f104f5056 Allow for the removal of feed tags
User-specified feed tags in description and title can be removed
2016-08-27 00:32:47 +02:00
yo-less
e720efabdc Updated readme.md / Included more tag 2016-08-26 22:08:23 +02:00
yo-less
45cb770e41 Added option to remove "more" tags in description
Many feed descriptions end with with a link tag to the actual article
online (see http://www.deutschlandfunk.de/die-nachrichten.353.de.rss,
for example). The mirror news description looks strange with this tag in
the end.

I have added an option to remove the tag from the description and
updated the readme.md accordingly.
2016-08-26 22:06:03 +02:00
Michael Teeuw
3f1cc66767 Merge pull request #414 from MichMich/master
Fix typo in NL.json
2016-08-24 09:39:09 +02:00
Michael Teeuw
d1f5118bb5 Merge pull request #413 from mrvanes/patch-1
Update nl.json
2016-08-24 09:35:38 +02:00
Martin
b90f1f786e Update nl.json
Corrected typo
2016-08-24 08:51:49 +02:00
Andrew McOlash
c6f424201b Fix indentation and spacing 2016-08-18 09:32:19 -05:00
Andrew McOlash
a7db8cf7cd Humidity data to the current weather module 2016-08-17 21:51:48 -05:00
Michael Teeuw
e2ed0f5e55 Cleanup 2016-08-09 10:33:34 +02:00
Michael Teeuw
d000e3c8a9 Force fullscreen when kioskmode is active 2016-08-09 10:22:29 +02:00
Michael Teeuw
cf465a1184 Merge pull request #394 from MichMich/develop
Release 2.0.4
2016-08-07 16:03:22 +02:00
Michael Teeuw
f3119824f4 Release 2.0.4 2016-08-07 15:58:07 +02:00
Michael Teeuw
ef069c1689 Updated: More detailed error message. 2016-08-05 20:03:18 +02:00
Michael Teeuw
68e5a9dfda Merge pull request #391 from ssenge/master
More detailed error message in case config file couldn't be loaded.
2016-08-05 19:53:13 +02:00
sese
fd1a31afb6 More precise error messages in case configuration couldn't be loaded. 2016-08-05 19:18:31 +02:00
Michael Teeuw
6d7d4a15d9 Cleanup. 2016-08-03 20:58:49 +02:00
Michael Teeuw
518a7d0dcc Merge pull request #389 from RedNax67/develop
Updated weathericons to latest version and fixed weatherforecast.js w…
2016-08-03 20:57:33 +02:00
xander
a4bdfe6b7d Updated CHANGELOG.md 2016-08-03 20:37:30 +02:00
xander
281269aa0d Updated weathericons to latest version and fixed weatherforecast.js which got broken because of it. 2016-08-03 11:43:28 +02:00
Michael Teeuw
33521ebd31 Fix #388 2016-08-02 22:58:27 +02:00
Michael Teeuw
18ae08de8f Possible fix for #388 2016-08-02 20:14:24 +00:00
Michael Teeuw
3d3c4ba02f Prevent currentweather module from crashing. 2016-07-31 17:13:49 +02:00
Michael Teeuw
89917c1582 Updated package.json to fix vulnerabilities. 2016-07-30 16:09:42 +02:00
Michael Teeuw
90c6758562 Upgrade vulnerabilities. 2016-07-30 16:06:48 +02:00
Michael Teeuw
5be8084473 Fix formatting. 2016-07-30 15:58:51 +02:00
Michael Teeuw
8a066a4ec0 Merge pull request #387 from alexyak/develop
Added dev parameter
2016-07-30 15:57:39 +02:00
Alex Yakhnin
b98237fa44 Added dev parameter 2016-07-30 09:42:31 -04:00
Michael Teeuw
c4f9388668 Fix openweathermap url 2016-07-28 17:53:48 +02:00
Michael Teeuw
0f44b27e54 Add kioskmode to changelog 2016-07-27 12:52:36 +02:00
Michael Teeuw
10d05e1870 Merge branch 'develop' of https://github.com/MichMich/MagicMirror into develop 2016-07-27 12:51:18 +02:00
Michael Teeuw
921557161d Add option to enable kios mode 2016-07-27 12:50:59 +02:00
Michael Teeuw
eb092b9f20 Merge pull request #381 from diego-vieira/develop
Brazilian Portuguese Translation
2016-07-26 12:33:25 +02:00
Diego Vieira
28ca8a9f9f added Greek translation back 2016-07-26 07:31:31 -03:00
Diego Vieira
d7be56df7a Update CHANGELOG.md 2016-07-25 16:12:28 -03:00
Diego Vieira
ce2c163f4b brazilian portuguese translation 2016-07-25 16:11:01 -03:00
Michael Teeuw
5272462368 Add header 2016-07-23 17:43:37 +02:00
Michael Teeuw
42354a6728 Merge pull request #380 from kapsolas/develop
Greek Translation
2016-07-23 17:41:26 +02:00
Dimitrios Kapsalis
754fe3df91 Greek Translation 2016-07-23 10:35:14 -05:00
Dimitrios Kapsalis
a7a0350c1a Update CHANGELOG.md 2016-07-21 13:45:14 -05:00
Dimitrios Kapsalis
a8b2ca7cfe Added Greek translation 2016-07-21 13:42:48 -05:00
Michael Teeuw
e82867820b Merge pull request #378 from KirAsh4/upstream-dev
Ability ot turn off date view on analog clock & small grammer error f…
2016-07-20 22:05:26 +02:00
Ashley M. Kirchner
13305d111e Ability ot turn off date view on analog clock & small grammer error fix in module.js 2016-07-20 13:31:46 -06:00
Michael Teeuw
ae37fa2bc5 Append slash to endpoint. (Fix issue #337) 2016-07-20 18:51:34 +02:00
Michael Teeuw
c81db752f6 Prevent getModules() selectors from returning duplicate entries. 2016-07-14 11:48:37 +02:00
Michael Teeuw
5d9d71dee8 Merge pull request #373 from MichMich/develop
Release of 2.0.3.
2016-07-12 15:55:34 +02:00
Michael Teeuw
1f558d46a4 Add version number for 2.0.3 release. 2016-07-12 15:42:10 +02:00
Michael Teeuw
36eb899c3b Merge pull request #372 from KirAsh4/upstream-dev
Analog clock addition
2016-07-10 13:39:19 +02:00
Ashley M. Kirchner
e223d752cb Fixed README typo
(cherry picked from commit 368dc5d9b87da7ebdbc80f2fe7fcfc6a86e04b71)
2016-07-09 19:40:54 -06:00
Ashley M. Kirchner
fcb503e885 Switched to SVG graphics for scalability
(cherry picked from commit 15f0956b60ec0d16302875bd53dcc037581ad96b)
2016-07-09 19:37:00 -06:00
Ashley M. Kirchner
c1055234d8 Switched to SVG graphics for scalability
(cherry picked from commit 6cb43cac824d57e0ebafc3b00bb15104ff78d4be)
2016-07-09 19:36:52 -06:00
Ashley M. Kirchner
35ec98cf13 Analog clock addition
(cherry picked from commit 5032967343aec2d1a1d66f2ed26dce8b84d8cf37)
2016-07-09 19:36:44 -06:00
Ashley M. Kirchner
66a9138666 Analog clock addition
(cherry picked from commit 6af2ce07a17c6456c3a328133db48c2201345f6d)
2016-07-09 19:36:36 -06:00
Ashley M. Kirchner
279582ff21 Analog clock addition
(cherry picked from commit 9c7da4c24ee50b51e1e3ab513f73caadf3985e84)
2016-07-09 19:36:28 -06:00
Ashley M. Kirchner
a9540ffabe Analog clock addition
(cherry picked from commit 7bae93fdb2744b0deab84882506a333ff809b3a3)
2016-07-09 19:36:20 -06:00
Ashley M. Kirchner
8f02cb83ed Analog clock addition
(cherry picked from commit e7e7c6494d2cbf739069f8d77278b9241ae6aeec)
2016-07-09 19:36:13 -06:00
Ashley M. Kirchner
5e94c8be7b Analog clock addition
(cherry picked from commit f01b6325ed1784f1bebc3fc755da01e6fda60070)
2016-07-09 19:36:02 -06:00
Michael Teeuw
ea6e9af5da Change Requirements. 2016-07-09 17:22:06 +02:00
Michael Teeuw
1bb72262ba Merge pull request #366 from KirAsh4/upstream-dev
Removed 'null' setting
2016-07-01 19:58:43 +02:00
Ashley M. Kirchner
61ace7bd97 CHANGELOG update 2016-07-01 11:57:24 -06:00
Ashley M. Kirchner
1a417cc36f CHANGELOG update 2016-07-01 11:51:42 -06:00
Ashley M. Kirchner
00a11f4343 Removed 'null' setting 2016-07-01 11:33:32 -06:00
Michael Teeuw
491bbacddd Merge pull request #365 from gzot/develop
Fix issue #300
2016-06-27 18:46:33 +02:00
GzoT
1b9daa0adb Fix #300 2016-06-27 16:34:51 +00:00
GzoT
ccdc981756 small fix 2016-06-27 16:15:53 +00:00
GzoT
b44dcc9f30 Not display title and/or message if they are not provided (alert module) 2016-06-24 09:15:12 +00:00
Michael Teeuw
479ceb14e4 Merge pull request #361 from matt08/patch-2
Added polish translation
2016-06-09 20:40:50 +02:00
matt08
50e41d1999 Update CHANGELOG.md 2016-06-09 13:57:46 +02:00
matt08
f6e2073de0 Added polish translation 2016-06-09 13:56:41 +02:00
matt08
271aab9746 Polish translation 2016-06-09 13:53:55 +02:00
Michael Teeuw
8d9bf5cf17 Update CHANGELOG.md 2016-06-07 16:46:32 +02:00
Michael Teeuw
ceb7ed093e Merge pull request #359 from simonsmh/patch-1
Simplified Chinese, Traditional Chinese, Japanese
2016-06-07 16:44:15 +02:00
Simon Shi
abdbcbb741 Update ja.json
@aidasan
2016-06-07 22:24:58 +08:00
Simon Shi
51ac07cd34 Update translations.js
@aidasan
2016-06-07 22:23:17 +08:00
Simon Shi
4b29698c6c Create ja.json 2016-06-07 22:22:22 +08:00
Simon Shi
f93285846a Update translations.js 2016-06-07 21:51:35 +08:00
Simon Shi
44347db52e Rename zh_cn.js to zh_cn.json 2016-06-07 21:50:21 +08:00
Simon Shi
f2749ff17f Create zh_tw.json 2016-06-07 21:50:18 +08:00
Simon Shi
3735342dfa Create zh_cn.js 2016-06-07 21:44:34 +08:00
Michael Teeuw
fed6e1e82f Update CHANGELOG.md 2016-06-06 12:09:17 +02:00
Michael Teeuw
58a59b624a Merge pull request #356 from MichMich/master
Update default titleReplace.
2016-06-06 12:08:02 +02:00
Michael Teeuw
1338918a89 Update default titleReplace. 2016-06-06 12:05:41 +02:00
Michael Teeuw
831e7cdb3f Update CHANGELOG.md 2016-06-06 11:35:31 +02:00
Michael Teeuw
2b8583e652 Merge pull request #355 from Sonaryr/add-max-newsitems-parameter
Add max newsitems parameter to the newsfeed module
2016-06-06 11:34:07 +02:00
Maarten Schroeven
b0220e4200 Update README to explain new parameter 2016-06-06 00:18:01 +02:00
Maarten Schroeven
0d94ef10ce add maxNewsItems config
Added extra config parameter to limit the amount of news items this module cycles through.
2016-06-06 00:16:49 +02:00
Michael Teeuw
544a1381fc Merge pull request #353 from MichMich/develop
Update to 2.0.2
2016-06-05 12:06:27 +02:00
Michael Teeuw
bc17ef896e Update CHANGELOG.md 2016-06-05 12:03:00 +02:00
Michael Teeuw
0bcbf999fb Update CHANGELOG.md 2016-06-05 09:25:36 +02:00
Michael Teeuw
0c4c44f4b6 Merge pull request #352 from KirAsh4/develop
Added proper User-Agent string to Facebook calendar call, and various…
2016-06-05 09:24:47 +02:00
Ashley M. Kirchner
486956b762 Added proper User-Agent string to Facebook calendar call, and various fixed spelling of 'exist'. 2016-06-04 20:32:55 -06:00
Michael Teeuw
8d1ef5291f Add Fix info and. 2016-06-04 21:42:05 +02:00
Michael Teeuw
611627ca97 Fix NE translations for all languages. 2016-06-04 21:36:03 +02:00
Michael Teeuw
732225b781 Merge pull request #345 from OskarKlintrot/patch-1
Adding reference to the Italian language file
2016-06-04 20:18:48 +02:00
Oskar Klintrot
58f88075c8 Adding reference to the Italian language file 2016-05-29 13:15:04 +02:00
Michael Teeuw
e17ef5eccf Merge pull request #343 from OskarKlintrot/develop
Added Swedish translation
2016-05-28 07:58:40 +02:00
OskarKlintrot
70c697f094 Added Swedish translation 2016-05-27 19:04:53 +02:00
Michael Teeuw
4b5625e0b4 Update CHANGELOG.md 2016-05-26 12:03:29 +02:00
Michael Teeuw
7df48870df Merge pull request #341 from mochman/weather-update
Weather update
2016-05-26 12:01:55 +02:00
mochman
4a309c49e5 Updated README.md 2016-05-25 15:47:22 -05:00
mochman
b45899bf90 Updated weather to get a locationID 2016-05-25 15:23:29 -05:00
Michael Teeuw
5ae3c8acfe Merge pull request #337 from EdgardosReis/develop
Portuguese translation
2016-05-21 16:41:38 +02:00
EdgardosReis
ef5df5f01b Update CHANGELOG.md 2016-05-21 15:37:00 +01:00
EdgardosReis
9af7451a61 Update translations.js
portuguese translation
2016-05-21 15:33:47 +01:00
EdgardosReis
7048c550b7 Create pt.json
portuguese translation
2016-05-21 15:33:04 +01:00
Michael Teeuw
f035627f42 Update CHANGELOG.md 2016-05-20 12:32:14 +02:00
Michael Teeuw
7659ff1f77 Merge pull request #335 from RemiHansen/master
Norwegian translations
2016-05-20 12:31:52 +02:00
RemiHansen
3df4062a55 Norwegian translation (nb and nn) 2016-05-20 01:22:45 +02:00
RemiHansen
02bbbe668b Changelog updated 2016-05-19 23:37:32 +02:00
RemiHansen
2b82c8fdc9 Norwegian translation for MM2 2016-05-19 23:26:56 +02:00
Michael Teeuw
93abaed0c2 Merge pull request #333 from MichMich/develop
v2.0.1
2016-05-18 11:04:31 +02:00
Michael Teeuw
b7fff6d452 Update CHANGELOG.md 2016-05-18 11:03:19 +02:00
Michael Teeuw
d09f01db90 Update PULL_REQUEST_TEMPLATE.md 2016-05-13 22:06:07 +02:00
Michael Teeuw
e0c1a58b84 Italian Translation 2016-05-13 22:01:51 +02:00
Michael Teeuw
1b82649cca Merge pull request #326 from MichMich/master
Italian translation.
2016-05-13 22:00:28 +02:00
Michael Teeuw
9317e2a36b Merge pull request #325 from iosonopersia/master
Italian translation
2016-05-13 21:54:48 +02:00
iosonopersia
51aff8ccdc Italian translation 2016-05-13 20:45:55 +02:00
iosonopersia
bdd3ea45af Added italian language 2016-05-13 20:42:56 +02:00
Michael Teeuw
3eb5c77ac4 Merge pull request #323 from MichMich/master
Remove BETA warning.
2016-05-13 10:21:19 +02:00
Michael Teeuw
ccc85784c6 Remove BETA warning. 2016-05-13 10:20:37 +02:00
Michael Teeuw
46806e8607 Merge pull request #322 from MichMich/master
Update PULL_REQUEST_TEMPLATE.md
2016-05-13 09:13:15 +02:00
Michael Teeuw
95f914d6bd Update PULL_REQUEST_TEMPLATE.md 2016-05-13 09:12:26 +02:00
Michael Teeuw
0f86011106 Create CHANGELOG.md 2016-05-13 09:10:54 +02:00
Michael Teeuw
acdd3c0602 Merge pull request #321 from jordi2830/patch-1
Fetch the latest Node.js without any 3rd party interferences
2016-05-13 07:35:04 +02:00
Jordi De Poortere
05b7237add Fixing various typo's in the installer 2016-05-13 00:02:36 +02:00
Jordi De Poortere
51f4e9e160 Get the latest Node.js
This will get the latest Node.js from the selected branch.
I do recommend only using a stable and tested version as newer ones might break MM.
Branch can be changed by simply editing the NODE_STABLE_BRANCH variable.

By using this setup script, Node.js will be downloaded from the official repository provided by NodeSource.
2016-05-12 23:39:11 +02:00
Michael Teeuw
7bbac35d6b Merge pull request #317 from MichMich/master
Fix installer URL.
2016-05-12 14:47:53 +02:00
Michael Teeuw
d280fe457c Fix installer URL. 2016-05-12 14:47:36 +02:00
Michael Teeuw
b5772af4c3 Merge pull request #316 from MichMich/master
Merge master changes.
2016-05-12 13:31:35 +02:00
Michael Teeuw
7ab79bb76e Update PULL_REQUEST_TEMPLATE.md 2016-05-12 13:30:41 +02:00
Michael Teeuw
00e3cc26de Update ISSUE_TEMPLATE.md 2016-05-12 13:29:59 +02:00
Michael Teeuw
4b491c43ff Update CONTRIBUTING.md 2016-05-12 13:29:36 +02:00
Michael Teeuw
41233a933e Merge pull request #315 from MichMich/master
v2-beta references.
2016-05-12 13:04:45 +02:00
Michael Teeuw
b84e553d34 Remove v2-beta reference. 2016-05-12 13:03:13 +02:00
Michael Teeuw
19b9fa1996 Remove v2-beta references. 2016-05-12 13:01:44 +02:00
Michael Teeuw
6abdc4172b remove reference to v2-beta 2016-05-12 12:59:24 +02:00
Michael Teeuw
5e0c0137d3 Fix news parsing when no description is given. #314 2016-05-12 12:30:45 +02:00
Michael Teeuw
3e468d1348 Improved installer. #311 #314 2016-05-12 12:20:02 +02:00
Michael Teeuw
051af521b2 Merge pull request #309 from jordi2830/patch-1
Added Spanish translations
2016-05-11 18:54:12 +02:00
Jordi De Poortere
19b6ad3568 Update es.json
This one should be fine, sorry for the inconvenience.
2016-05-11 18:50:12 +02:00
Jordi De Poortere
5ae514e9b8 Update es.json 2016-05-11 18:49:09 +02:00
Jordi De Poortere
826ee98165 Update es.json
Quotes fixed
2016-05-11 18:46:48 +02:00
Michael Teeuw
f4c021a634 Merge pull request #310 from roxasvalor/v2-beta
Fix deg2Cardinal function in currentweather module
2016-05-11 18:43:59 +02:00
roxasvalor
717ae1903e Fix deg2Cardinal function in currentweather module 2016-05-11 11:36:06 -05:00
Jordi De Poortere
3cd7cdd4fb Update translations.js
Add Spanish translations
2016-05-11 18:34:56 +02:00
Jordi De Poortere
ff612799c0 Create es.json
Added Spanish translations
2016-05-11 18:33:25 +02:00
Michael Teeuw
d364b04cad supscript wind direction 2016-05-11 18:01:34 +02:00
Michael Teeuw
212aef79aa Merge pull request #307 from Wilco89/v2-beta
Update fy.json
2016-05-11 15:14:03 +02:00
Wilco Land
9ca2b08a0e Update fy.json
Fixed Typo,
2016-05-11 15:09:40 +02:00
Michael Teeuw
fc3ac88806 Merge pull request #306 from Wilco89/v2-beta
Frisian translation
2016-05-11 14:03:13 +02:00
Wilco Land
c550c4c212 Update translations.js
Added Frisian to translation file
2016-05-11 13:59:52 +02:00
Wilco Land
f0df8a4a09 Create fy.json
Frisian Translation
2016-05-11 13:58:42 +02:00
Michael Teeuw
65923abcae Add travis shield. 2016-05-11 13:54:52 +02:00
Michael Teeuw
c4f3009bb5 Add suspend and resume methods. 2016-05-11 13:49:40 +02:00
Michael Teeuw
405a81c8f0 Translation info. 2016-05-11 12:42:36 +02:00
Michael Teeuw
7a067a0f6e Finish translation system. #191 2016-05-11 12:38:41 +02:00
Michael Teeuw
32c9f197b1 Fix wind direction. #303 2016-05-11 09:25:16 +02:00
Michael Teeuw
85151b23d3 Add user agent to request. Fix: 231 2016-05-11 09:07:10 +02:00
Michael Teeuw
fc0a4d90df Merge pull request #304 from KirAsh4/v2-beta
V2 beta [Calendar Module]: Time display options
2016-05-10 22:42:01 +02:00
Ashley M. Kirchner
9558616f59 Minor text changes, and updating README file 2016-05-10 11:58:05 -06:00
Michael Teeuw
5be5741ac3 Possible fix for #181 2016-05-10 16:18:35 +02:00
Michael Teeuw
80c0e6a4e0 Add support for (some) Atom feeds. #231 2016-05-10 13:35:13 +02:00
Michael Teeuw
9bc8f54233 Fix issue with calendar events without title. #221 2016-05-10 12:24:49 +02:00
Ashley M. Kirchner
a4c02cef54 Absolute or Relative time display on Calendar module
User can now choose between an 'absolute' or 'relative time display on
events. Furthermore, when set to 'absolute', there's an option to set an
'urgency' range of days and only those events within that period will be
displayed with a relative time (in x days) while all others will have an
absolute date.
2016-05-10 01:01:00 -06:00
Ashley M. Kirchner
935f4132ab Filemode changes? 2016-05-10 00:46:21 -06:00
Michael Teeuw
a1cb82e7db Merge pull request #296 from paviro/v2-beta
Use node v5.9.1
2016-05-06 16:58:13 +02:00
Paul-Vincent Roll
146d782729 Use node v5.9.1 2016-05-06 16:57:14 +02:00
Paul-Vincent Roll
ac8bf5e939 Merge pull request #22 from MichMich/v2-beta
Update from Master
2016-05-06 16:55:09 +02:00
Michael Teeuw
2a70620844 Typo. 2016-05-06 11:29:17 +02:00
Michael Teeuw
7494b867a7 Merge pull request #291 from jordi2830/patch-1
Fixing the hardcoded Node.js version number
2016-05-05 19:14:52 +02:00
Jordi De Poortere
2874ee8609 Fixing the hardcoded Node.js version number 2016-05-05 19:12:35 +02:00
Michael Teeuw
e61145eabe Merge pull request #289 from paviro/patch-5
Added module showcase link.
2016-05-04 15:26:20 +02:00
Paul-Vincent Roll
4f01c574d2 Added module showcase link. 2016-05-04 15:25:23 +02:00
Michael Teeuw
06a471033c Merge pull request #287 from nhubbard/v2-beta
Close #281: ESLint and using the force, Luke
2016-05-04 07:19:56 +02:00
Michael Teeuw
3761bfd26f Merge pull request #286 from roxasvalor/v2-beta
Added option for using the Beaufort scale or raw wind speed
2016-05-04 07:17:26 +02:00
roxasvalor
07ad1b1de4 Update Readme for useBeaufort option 2016-05-03 19:21:58 -05:00
Warwolf8.9
5725af55a8 Make Beaufort wind speed optional 2016-05-03 19:14:27 -05:00
Nicholas Hubbard
d0f75ffda9 TravisFix2 2016-05-03 20:00:32 -04:00
Nicholas Hubbard
4117938140 Merge branch 'v2-beta' of https://github.com/nhubbard/MagicMirror into v2-beta 2016-05-03 19:56:28 -04:00
Nicholas Hubbard
f50c206d4f Travis fixer. 2016-05-03 19:56:14 -04:00
Nicholas Hubbard
ed95cb791c Force Travis 2016-05-03 19:52:49 -04:00
Nicholas Hubbard
9d0bf6d409 Grunt and Travis, you\'re late 2016-05-03 19:51:07 -04:00
roxasvalor
5e68a8200d Merge pull request #1 from MichMich/v2-beta
V2 beta
2016-05-03 18:38:38 -05:00
Nicholas Hubbard
15887994fe JSCS Says Goodbye 2016-05-03 19:13:46 -04:00
Michael Teeuw
8bec8281d2 Merge pull request #285 from danito/v2-beta
V2 beta - module calendar - french translation
2016-05-03 17:07:05 +02:00
Daniel nix
2e5a5812a9 Update calendar.js
add fr translation for calendar
2016-05-03 17:04:45 +02:00
Daniel nix
744f9316a9 Create fr.json
adding fr translation
2016-05-03 17:01:48 +02:00
Michael Teeuw
a6da9e8943 Fix #283 2016-05-03 16:59:18 +02:00
Michael Teeuw
14d3bb273c Load custom.css after the modules. Fix: #284 2016-05-03 16:42:09 +02:00
Michael Teeuw
37f8c0783d Fix facebook dates. #271 2016-05-03 11:56:24 +02:00
Michael Teeuw
05a946e2bf Formatting. 2016-05-03 11:19:01 +02:00
Michael Teeuw
a1b3e0778a Add info about malformed config files. Fix: #249 2016-05-03 11:18:06 +02:00
Michael Teeuw
93f8ade350 Merge pull request #253 from momo13292/v2-beta
calendar events repeating count title for birthdayd etc
2016-05-02 19:36:51 +02:00
momo13292
2a3a942b8e Delete nohup.out 2016-05-02 19:32:18 +02:00
Michael Teeuw
796583c0be Merge pull request #280 from paviro/v2-beta
Added forum to README
2016-05-02 17:10:39 +02:00
Paul-Vincent Roll
df31b56cf3 Added forum to README. 2016-05-02 17:02:03 +02:00
Paul-Vincent Roll
e5f4446c82 Merge pull request #21 from MichMich/v2-beta
Update from Master
2016-05-02 16:50:05 +02:00
Michael Teeuw
0252495eca Missing , 2016-05-01 23:30:01 +02:00
Michael Teeuw
5e75a6b4a0 Merge pull request #276 from nhubbard/v2-beta
Extend the Logger
2016-05-01 19:54:44 +02:00
Michael Teeuw
3002a4f9b3 Merge pull request #274 from KirAsh4/v2-beta
V2 beta - weatherforecast maxNumberOfDays
2016-05-01 19:53:46 +02:00
Nicholas Hubbard
f627c5e5a1 Extend the Logger
Add Timing, Grouping, and Warning to the logger.
2016-05-01 13:46:41 -04:00
Ashley M. Kirchner
4d0a93fc3b Update README.md
Added the maxNumberOfDays config option to change the amount of forecasted days returned by the OpenWeatherAPI.
2016-04-29 12:58:03 -06:00
Ashley M. Kirchner
3f040e7744 Update weatherforecast.js
Added the option to change the amount of forecasted days returned by the OpenWeatherAPI.
2016-04-29 12:52:10 -06:00
Michael Teeuw
e572d544ef Merge pull request #269 from nhubbard/v2-beta
clockBold's Re-Incarnation
2016-04-29 18:55:55 +02:00
Nicholas Hubbard
ab3f585a2b clockBold's Re-Incarnation: Part II 2016-04-29 11:25:05 -04:00
Nicholas Hubbard
8b792c5fe0 clockBold's Re-Incarnation: Part I 2016-04-29 11:24:14 -04:00
Michael Teeuw
f184116824 Remove slack. 2016-04-27 14:39:21 +02:00
Michael Teeuw
ab2c91ba20 Add slack channel (experimental) 2016-04-27 14:37:12 +02:00
Michael Teeuw
f2a786254e Merge pull request #256 from djsunrise19/v2-beta
Update de.json
2016-04-27 11:05:19 +02:00
djsunrise19
7cbc8a0ede Update de.json
Cause ´morgen um ***` and other words are written lowercased, it makes sense to write ´noch` lowercased too. Days und whole day events have to be as they are.
2016-04-27 10:45:15 +02:00
Michael Teeuw
08bc644de1 Fix #245 2016-04-27 09:42:13 +02:00
Michael Teeuw
f12125f2a4 Update to node 6.0.0 2016-04-27 09:37:44 +02:00
Mona Schüch
4e86de7fc2 calendar events repeating count title for birthdayd etc 2016-04-26 22:34:12 +02:00
Michael Teeuw
38796a0d40 Merge pull request #243 from roxasvalor/v2-beta
Add optional wind direction in currentweather module
2016-04-25 13:27:59 +02:00
roxasvalor
8562bdfc4a Removed trailing comma 2016-04-25 06:27:26 -05:00
roxasvalor
74c96d8521 Removed showWindDirection 2016-04-25 06:23:55 -05:00
roxasvalor
5f8ef64ca4 showDirection to showWindDirection 2016-04-24 18:34:39 -05:00
roxasvalor
5a5f5318d1 Update README.md 2016-04-24 18:31:46 -05:00
roxasvalor
db9e615e4d Update README.md 2016-04-24 18:30:54 -05:00
Warwolf8.9
2aae0528b5 Added wind direction in Current Weather module 2016-04-24 18:06:12 -05:00
roxasvalor
8d29bd5c32 Update currentweather.js 2016-04-24 17:40:18 -05:00
roxasvalor
77cb8530e5 Update currentweather.js 2016-04-24 16:55:39 -05:00
Michael Teeuw
bfd7404c85 Merge pull request #241 from paviro/patch-4
Moved this.translate() to the instance methods
2016-04-24 23:21:22 +02:00
roxasvalor
836148a335 Update currentweather.js 2016-04-24 16:15:05 -05:00
Paul-Vincent Roll
1ab00ac804 Moved this.translate() to the instance methods 2016-04-24 23:14:24 +02:00
Michael Teeuw
7a3db8f670 Merge pull request #240 from paviro/patch-3
Added translation fallback note to documentation
2016-04-24 23:07:35 +02:00
Paul-Vincent Roll
fd3676067a Added translation fallback note to documentation 2016-04-24 23:06:49 +02:00
Michael Teeuw
de61e4bf8c Merge pull request #239 from roxasvalor/v2-beta
Fixed module Readmes for #237
2016-04-24 23:05:24 +02:00
roxasvalor
3d0de834e0 Units now configured by config.js 2016-04-24 16:01:27 -05:00
roxasvalor
a897772df2 Units now configured by config.js 2016-04-24 16:00:13 -05:00
Michael Teeuw
5726d796f9 Merge pull request #237 from roxasvalor/v2-beta
Added option for units inside of config.js
2016-04-24 22:56:19 +02:00
roxasvalor
8381960737 Added "units" configuration instructions
Added instructions for configuring the units variable in config.js.
2016-04-24 15:38:50 -05:00
Michael Teeuw
b61d41f569 Merge pull request #238 from paviro/patch-3
Added getTranslations() to the documentation
2016-04-24 22:34:29 +02:00
Paul-Vincent Roll
af827b5645 Added getTranslations() to the documentation 2016-04-24 22:33:30 +02:00
roxasvalor
13a01d76f7 Added default units variable
Added a default units variable if users do not configure in config.js.
2016-04-24 15:33:22 -05:00
roxasvalor
2007f5ece4 Units from config.js 2016-04-24 15:25:35 -05:00
roxasvalor
a91a2c2609 Units configurable from Config.js 2016-04-24 15:24:44 -05:00
roxasvalor
0890fd521e Added units variable 2016-04-24 15:23:07 -05:00
Michael Teeuw
4338cb305d Merge pull request #235 from paviro/patch-2
Wheezy supported
2016-04-24 14:20:30 +02:00
Paul-Vincent Roll
84e02c828f Wheezy is supported now isn't it? 2016-04-24 14:18:41 +02:00
Michael Teeuw
be8707570c Merge pull request #234 from paviro/patch-1
custom.css will be ignored
2016-04-24 13:59:14 +02:00
Paul-Vincent Roll
39602e0a98 Update custom.css 2016-04-24 13:53:21 +02:00
Michael Teeuw
bc2f2f5323 Merge pull request #229 from djsunrise19/v2-beta
Update README.md
2016-04-23 20:28:58 +02:00
djsunrise19
66e71282a0 Update README.md
Not necessary anymore, because we made that with "de.json" in calendar
2016-04-23 20:26:05 +02:00
Michael Teeuw
bca56f88af Merge pull request #228 from djsunrise19/v2-beta
Update de.json in calendar
2016-04-23 20:17:51 +02:00
djsunrise19
35068631ec Merge pull request #1 from djsunrise19/djsunrise19-patch-1
Update de.json
2016-04-23 17:45:58 +02:00
Michael Teeuw
bd9557b11e Prevent display of events in the past. #162 2016-04-23 17:40:46 +02:00
djsunrise19
0f2c19f40f Update de.json
"Noch" is grammatically better than "Endet in" for running events.
2016-04-23 17:36:59 +02:00
Michael Teeuw
4248ae7792 Merge pull request #225 from paviro/v2-beta
Added translaions to the alert module
2016-04-23 17:32:06 +02:00
Paul-Vincent Roll
535a4205b1 Added translaions to the alert module. 2016-04-23 17:27:36 +02:00
Michael Teeuw
ab14fc8440 fix #223 2016-04-23 17:20:58 +02:00
Paul-Vincent Roll
86eea16271 Merge pull request #20 from MichMich/v2-beta
Fix for #222
2016-04-23 16:58:53 +02:00
Michael Teeuw
52a9caa96e Fix for #222 2016-04-23 16:57:03 +02:00
Paul-Vincent Roll
d8fe1a6e44 Merge pull request #19 from MichMich/v2-beta
Update from Master
2016-04-23 16:22:51 +02:00
Michael Teeuw
ae86090a03 Update to Node 5.11 2016-04-22 19:21:50 +02:00
Michael Teeuw
87aa887b2f Fix missing module. 2016-04-22 08:32:07 +02:00
Michael Teeuw
81378b5e25 Add update information. 2016-04-21 09:16:53 +02:00
Michael Teeuw
6f615b8202 Add NL translation & Convert config property to lowercase. 2016-04-21 09:02:41 +02:00
Michael Teeuw
44c1266a8c Merge pull request #211 from CFenner/l10n
implements l10n
2016-04-21 08:53:10 +02:00
Christopher
920f720699 fix indent 2016-04-21 08:47:07 +02:00
Christopher
a7c394de6c use translator 2016-04-21 01:04:00 +02:00
Christopher
4529675ca6 add l18n ability
fixes #191
2016-04-21 01:03:26 +02:00
Christopher
935909f24b fix typo 2016-04-20 23:13:31 +02:00
Christopher
7b61a0253c Merge branch 'v2-beta' into v2 2016-04-20 22:51:23 +02:00
Michael Teeuw
64e039cf8f Show 'tomorrow' when a full day event is planned for tomorrow. 2016-04-20 21:40:56 +02:00
Paul-Vincent Roll
65ae1f6f5a Merge pull request #18 from MichMich/v2-beta
Update form Master
2016-04-20 15:22:22 +02:00
Michael Teeuw
fa38ad3a74 Fix for #207 2016-04-20 15:19:36 +02:00
Michael Teeuw
fd500ac411 Allow the subscription to multiple news feeds in one newsfeed instance. 2016-04-20 14:39:38 +02:00
Paul-Vincent Roll
c6b5bb84e9 Merge pull request #17 from MichMich/v2-beta
V2 beta
2016-04-20 14:26:36 +02:00
Michael Teeuw
3b1f1a41dc Fix period display when using 24 hour mode. 2016-04-20 12:16:41 +02:00
Michael Teeuw
d778f2dd8b fix: #206 2016-04-20 11:42:01 +02:00
Michael Teeuw
287452169b Fix for #197 and #185 2016-04-20 11:32:48 +02:00
Michael Teeuw
6fdcd7f7e9 Add darkTheme. 2016-04-19 20:26:22 +02:00
Michael Teeuw
b16a49109f Possible fix for #185 2016-04-19 16:45:57 +02:00
Michael Teeuw
7d8cde2f0f Move exception handling to the core app. 2016-04-19 11:25:50 +02:00
Michael Teeuw
a3fedb47cb Fix socket reference bug. #196 2016-04-19 11:04:36 +02:00
Michael Teeuw
095f08d443 Fix: #162, Possible fix for: #197 2016-04-19 10:34:15 +02:00
Michael Teeuw
a7948ee1da Merge pull request #198 from Intecpsp/v2-beta
Allow 12 hour period config
2016-04-19 07:48:10 +02:00
Cody
54eeb27f09 Add documentation for 12 hour period config
Add the documentation for the 12 hour period config
2016-04-18 20:03:26 -04:00
Cody
d0e57df1d8 Add documentation for 12 hour period config
Add the documentation for the 12 hour period config
2016-04-18 20:01:53 -04:00
Cody
b4df63f37f Allow 12 hour period config
Allow for configuring the 12 hour format period (AM/PM).
2016-04-18 19:53:34 -04:00
Cody
16a7ea2b75 Allow 12 hour period config
Allow for configuring the 12 hour format period (AM/PM).
2016-04-18 19:52:40 -04:00
Michael Teeuw
3892ce3ed4 Fix for #188, #194 2016-04-18 20:03:12 +02:00
Michael Teeuw
6c47de0170 Merge branch 'v2-beta' of https://github.com/MichMich/MagicMirror into v2-beta 2016-04-18 19:12:56 +02:00
Michael Teeuw
8793196bb3 Possible fix for #181 2016-04-18 19:12:24 +02:00
Michael Teeuw
a3a9a8e3f1 Info about the supported OS. 2016-04-18 17:16:06 +02:00
Michael Teeuw
bef5b48fce Prevent crash when no internet connection is available. #193 2016-04-18 16:25:00 +02:00
Michael Teeuw
bc0ba2f524 fix typo. #190 2016-04-17 17:12:40 +02:00
Michael Teeuw
1b387dabde Merge pull request #189 from nhubbard/snyk
Add Snyk
2016-04-17 15:10:22 +02:00
Nicholas Hubbard
fe8cb7c461 Add Snyk 2016-04-17 08:55:48 -04:00
Michael Teeuw
bfbf62d398 Merge pull request #183 from nhubbard/gitignore
Standardize the GitIgnore
2016-04-17 14:41:58 +02:00
Michael Teeuw
b22b845d57 Merge pull request #184 from nhubbard/no-eslint
No More ESLint!
2016-04-17 14:40:56 +02:00
Nicholas Hubbard
104a62e24d Remove ESLint: Part II 2016-04-16 21:40:05 -04:00
Nicholas Hubbard
4639911a04 Remove ESLint: Part I 2016-04-16 21:38:42 -04:00
Nicholas Hubbard
6677f2f5d4 Standardize the GitIgnore 2016-04-16 21:36:46 -04:00
Michael Teeuw
8adb16e1f6 Change formatting. #181 2016-04-16 21:42:44 +02:00
Michael Teeuw
9c9e93974e possible fix #181 2016-04-16 20:01:02 +02:00
Michael Teeuw
44a6604fe8 Possible fix for #181 2016-04-16 19:55:19 +02:00
Michael Teeuw
47a18666b6 Possible fix for #180 2016-04-15 22:10:00 +02:00
Michael Teeuw
a231ebc408 Cleanup. 2016-04-15 14:27:50 +02:00
Michael Teeuw
33ab2f9cc5 Move module list to wiki. 2016-04-15 14:26:06 +02:00
Michael Teeuw
e56c1a5853 Disable logging. 2016-04-15 13:16:02 +02:00
Michael Teeuw
27a47d4e4a Show text when event is still running. 2016-04-15 13:13:06 +02:00
Michael Teeuw
614e5e62af Show relative time to non full day events. Fix: #162 2016-04-15 12:50:34 +02:00
Michael Teeuw
f45a2e7806 Fix repeating appointments, Fix: #169 2016-04-15 12:19:00 +02:00
Michael Teeuw
c03485b93e Add information about the Raspberry Pi support. 2016-04-15 11:36:36 +02:00
Michael Teeuw
900e668cd6 Merge pull request #177 from CFenner/addModule
add link to Netatmo module
2016-04-15 10:42:22 +02:00
Christopher
2657e1194c add link to Netatmo module 2016-04-15 10:02:03 +02:00
Michael Teeuw
ec5ad089a3 Merge pull request #175 from CFenner/ignoreFile
ignore .DS_Store files
2016-04-15 09:57:32 +02:00
Christopher
69a3354617 ignore .DS_Store files
ignore Desktop Services Store file for OS X
2016-04-15 09:53:34 +02:00
Michael Teeuw
6e60d30970 Prevent autostart after installation. 2016-04-13 15:00:05 +02:00
Michael Teeuw
d6fa1f9cbc Improve scrollbar hiding. 2016-04-13 09:58:56 +02:00
Michael Teeuw
bc8dccd4b5 Fix #153 2016-04-13 09:27:30 +02:00
Michael Teeuw
14f48ec440 Prevent clipping of header. Fixes: #167 2016-04-13 09:23:54 +02:00
Michael Teeuw
fd1b847077 Merge pull request #164 from paviro/v2-beta
Added Font Awesome Support to alerts
2016-04-12 21:03:33 +02:00
Paul-Vincent Roll
ed3c0e42fb Added Font Awesome Support into alerts. 2016-04-12 20:54:30 +02:00
Paul-Vincent Roll
d72d6d925e Merge pull request #16 from MichMich/v2-beta
Update form Master
2016-04-12 20:23:58 +02:00
Michael Teeuw
4ae034b21c Merge pull request #163 from laurio/patch-1
Fix some typos in README.md file
2016-04-12 20:06:44 +02:00
Lauri Oherd
bbc7a1fff0 Fix some typos in README.md file 2016-04-12 20:16:04 +03:00
Michael Teeuw
68ed3e4996 Prevent scrollbars. 2016-04-12 13:59:19 +02:00
Michael Teeuw
03ae6366ea Add module to readme. 2016-04-12 12:07:31 +02:00
Michael Teeuw
af2f469b84 Add possibility to display item description. #157 2016-04-12 11:06:59 +02:00
Michael Teeuw
a64699d064 Remove background. 2016-04-11 15:01:01 +02:00
Michael Teeuw
ac96baae66 Remove bold. 2016-04-11 11:50:36 +02:00
Michael Teeuw
15d9569fa4 Text change. 2016-04-11 11:50:13 +02:00
Michael Teeuw
bd99affb13 Fix Link. 2016-04-11 11:36:30 +02:00
Michael Teeuw
88166b7c73 Add list of known issues. 2016-04-11 11:35:56 +02:00
Michael Teeuw
3543ebb9a6 Add project description. Remove TODO's. 2016-04-11 11:27:44 +02:00
Michael Teeuw
924f239d1b Merge pull request #156 from nhubbard/v2-beta
Markdown Refresh
2016-04-11 11:14:57 +02:00
Michael Teeuw
b641285cf4 Text change. 2016-04-11 11:11:36 +02:00
Nicholas Hubbard
c22ce3b9a2 Markdown Refresh: Part V 2016-04-10 18:02:03 -04:00
Nicholas Hubbard
64091b5463 Markdown Refresh: Part IV 2016-04-10 17:59:31 -04:00
Nicholas Hubbard
09f0b251ab Markdown Refresh: Part III 2016-04-10 17:49:50 -04:00
Michael Teeuw
9bf22e5e13 Brighter headers.
The headers were to dark to be visible thru the mirror.
2016-04-10 23:42:03 +02:00
Nicholas Hubbard
360e1e327e Markdown Refresh: Part II 2016-04-10 17:14:19 -04:00
Nicholas Hubbard
4b8bc65fb7 Markdown Refresh: Part I 2016-04-10 17:11:31 -04:00
Nicholas Hubbard
1b9d91936b Centered badges... now? 2016-04-10 17:06:21 -04:00
Nicholas Hubbard
7457432c2a Finally... centered badges! 2016-04-10 17:05:54 -04:00
Michael Teeuw
30bcc8e7f0 Merge pull request #155 from nhubbard/v2-beta
Update the README and other things
2016-04-10 22:14:01 +02:00
Nicholas Hubbard
6232bf070d Update README.md 2016-04-10 16:07:47 -04:00
Nicholas Hubbard
978b0ed811 Update README.md 2016-04-10 16:07:30 -04:00
Nicholas Hubbard
24acd14da0 Update README
Add centering.
2016-04-10 16:07:10 -04:00
Nicholas Hubbard
4950b69152 Add Synk Policy 2016-04-10 16:04:51 -04:00
Michael Teeuw
f25da27c58 Add header, add wiki links. 2016-04-10 20:39:42 +02:00
Michael Teeuw
12a5c4a311 Merge pull request #154 from nhubbard/v2-beta
Contribution and Updates
2016-04-10 10:16:59 +02:00
Nicholas Hubbard
3fcc163261 Contribution Policy Changes: Part II 2016-04-09 19:08:07 -04:00
Nicholas Hubbard
18a670ae29 Contribution Policy Changes: Part I
Add ESLint.
2016-04-09 19:03:10 -04:00
Nicholas Hubbard
f443fef091 Contribution: Part III 2016-04-09 18:56:26 -04:00
Michael Teeuw
58adf75c18 Add info about config in node helper. 2016-04-09 20:59:55 +02:00
Michael Teeuw
bee04bec44 Add link to documentation. 2016-04-09 20:58:07 +02:00
Michael Teeuw
01cc32004a Remove TOC. (Links not working.) 2016-04-09 20:56:46 +02:00
Michael Teeuw
5ede0d35f2 Add TOC 2016-04-09 20:56:16 +02:00
Michael Teeuw
a1b8d951c1 Add node helper documentation. 2016-04-09 20:54:33 +02:00
Michael Teeuw
880e2401e1 Merge pull request #152 from nhubbard/v2-beta
Update Contributions
2016-04-09 20:32:44 +02:00
Michael Teeuw
3434bd8460 Add documentation. 2016-04-09 20:31:59 +02:00
Nicholas Hubbard
239db35ba0 Contribution: Part II 2016-04-09 14:21:40 -04:00
Michael Teeuw
6310750168 header update 2016-04-09 18:08:35 +02:00
Michael Teeuw
133e41e3be typo 2016-04-09 18:07:44 +02:00
Michael Teeuw
b616cfa75c Typo. 2016-04-09 18:03:12 +02:00
Michael Teeuw
86a0b5f59a change header description. 2016-04-09 17:58:57 +02:00
Michael Teeuw
becf029583 Add header info. 2016-04-09 17:58:10 +02:00
Michael Teeuw
f36f2357ef Start of Module Development Documentation 2016-04-09 17:04:08 +02:00
Michael Teeuw
faa6d91f7c Add ordering information. 2016-04-09 16:00:34 +02:00
Michael Teeuw
be5ecc6d0d Add configuration instructions. 2016-04-09 15:59:05 +02:00
Michael Teeuw
00a18d54bb Cleanup. 2016-04-09 15:51:18 +02:00
Michael Teeuw
bad20c3e0b change git ignore 2016-04-09 15:51:04 +02:00
Michael Teeuw
14a72dec15 Change Class behavior of hello world. 2016-04-09 15:49:39 +02:00
Michael Teeuw
7ef43caa1e minor fix 2016-04-09 15:34:18 +02:00
Michael Teeuw
244c4c6201 fix typo 2016-04-09 15:32:31 +02:00
Nicholas Hubbard
8d29947e32 Templating: Part III
Create pull request template.
2016-04-09 09:17:25 -04:00
Michael Teeuw
29fc705672 Minor change. 2016-04-09 15:15:27 +02:00
Michael Teeuw
2859db15fe Update install instructions. 2016-04-09 15:14:01 +02:00
Nicholas Hubbard
9ab020518e Templating: Part II
Remove the improperly titled and saved issue template.
2016-04-09 09:13:31 -04:00
Nicholas Hubbard
838635ae4d Templating: Part I
Create the issue template in the proper folder.
2016-04-09 09:12:51 -04:00
Michael Teeuw
a88e4932e6 Update installer. 2016-04-09 15:10:47 +02:00
Nicholas Hubbard
56c94a2986 Contribution: Part I 2016-04-08 20:45:14 -04:00
Michael Teeuw
a4c3d9cb17 Remove trailing dot. 2016-04-08 23:05:45 +02:00
Michael Teeuw
c31d392e19 Change branding on default config. 2016-04-08 22:21:14 +02:00
Michael Teeuw
a34a5c4db0 Separate server core from Electron. 2016-04-08 22:16:22 +02:00
Michael Teeuw
0441b9fb50 Update README.md 2016-04-08 20:24:08 +02:00
Michael Teeuw
3e871ea33d Add issue template. 2016-04-08 19:53:57 +02:00
Michael Teeuw
54dda91726 fix issue with show/hide callbacks 2016-04-08 17:27:03 +02:00
Michael Teeuw
0a19570f2c Merge pull request #148 from nhubbard/v2-beta
A Mishmash of Fixes
2016-04-08 10:06:25 +02:00
Nicholas Hubbard
f280aa227e Update Alert Spelling 2016-04-07 21:20:34 -04:00
Nicholas Hubbard
af34dc4d4d HTML Love 2016-04-07 21:19:29 -04:00
Nicholas Hubbard
0ab1079c9c Markdown Love: Part III 2016-04-07 21:14:11 -04:00
Nicholas Hubbard
d2cb0bde91 Fix Packages 2016-04-07 21:10:29 -04:00
Nicholas Hubbard
5b34f7cf8c Markdown Love: Part II 2016-04-07 21:06:35 -04:00
Nicholas Hubbard
9e6e34eda0 Markdown Love: Part I 2016-04-07 21:04:24 -04:00
Michael Teeuw
cfd6cdc50f Remove debugging. Fixes: #146 2016-04-07 09:22:54 +02:00
Michael Teeuw
78346cda46 Update latest version. 2016-04-06 16:20:34 +02:00
Michael Teeuw
c547ab4570 Merge pull request #142 from nhubbard/v2-beta
Standardization and Issue Fixes
2016-04-05 22:05:11 +02:00
Nicholas Hubbard
939b54787e Update installation script.
- (possibly?) Fix issue that sha256sum does not work.
- Add shebang for good reasons.
- Fix continuing even after an error happens.
2016-04-05 15:52:10 -04:00
Nicholas Hubbard
7b5b81504b Standardize: TO STYLELINT! 2016-04-05 15:43:52 -04:00
Michael Teeuw
5578a274f6 Merge pull request #141 from CFenner/npmStart2
describe how to run npm start on SHH
2016-04-05 21:43:01 +02:00
Christopher
9e0c4a89f3 add comment about ssh & npm start 2016-04-05 21:39:56 +02:00
Nicholas Hubbard
426728058c Standardize: TO JSCS! 2016-04-05 14:35:11 -04:00
Michael Teeuw
18390503b5 Merge pull request #139 from SVendittelli/v2-beta
Add MMM-wordnik to README
2016-04-05 16:29:22 +02:00
Sam Vendittelli
6e79b8404a Add MMM-wordnik to the README 2016-04-05 15:24:46 +01:00
Sam Vendittelli
4567272baa Merge pull request #1 from MichMich/v2-beta
V2 beta
2016-04-05 15:01:36 +01:00
Michael Teeuw
6ff3a37665 Prevent memory leaks. 2016-04-05 14:54:40 +02:00
Michael Teeuw
5420314784 Register the express app to allow registration of urls. 2016-04-05 14:22:34 +02:00
Michael Teeuw
f1dad4c9fb Merge pull request #138 from paviro/v2-beta
Change slide position based on notification position - closes #137
2016-04-05 13:47:57 +02:00
Paul-Vincent Roll
aba0b29c77 Change slide position based on notification position - closes #137 2016-04-05 13:45:18 +02:00
Michael Teeuw
638263e8eb Add two special regions. 2016-04-05 13:39:52 +02:00
Michael Teeuw
e2040b7194 Remove old version. 2016-04-05 13:33:59 +02:00
Paul-Vincent Roll
0006e3b4bd Merge pull request #15 from MichMich/v2-beta
Update from Master
2016-04-05 13:24:38 +02:00
Michael Teeuw
06efd01032 Configurable encoding. #126 2016-04-05 13:16:23 +02:00
Michael Teeuw
1a20bd2f4d add an align-left class 2016-04-05 12:22:01 +02:00
Michael Teeuw
598cf61eb4 Fix Facebook Birthdays - Fix: #97 2016-04-05 11:20:47 +02:00
Michael Teeuw
7b6772e77b Allow custom css styling. 2016-04-05 10:26:18 +02:00
Michael Teeuw
c4bfa6d4d8 Finish loading empty calendars. Fixes issue: #124 2016-04-05 10:01:54 +02:00
Michael Teeuw
700ebc53f8 Merge pull request #135 from Domi-G/v2-beta
Font Improvements - closes #133
2016-04-05 09:44:35 +02:00
Domi-G
4db83293e5 Reorder the fonts for optimized loading 2016-04-05 00:35:30 +02:00
Domi-G
0fcdc2e118 Define fallback fonts 2016-04-05 00:33:29 +02:00
Domi-G
4b8d44aa2e Cleanup fonts, larger charset - fixes #133 2016-04-05 00:09:11 +02:00
Michael Teeuw
915e716936 Merge pull request #134 from nhubbard/v2-beta
Clean up the project's README and installation instructions.
2016-04-04 20:25:15 +02:00
Nicholas Hubbard
bb63232f55 Update the installer to allow condensed installation.
Condensed installation is where the user Git Clones the repo and runs the installer there.
2016-04-04 13:57:09 -04:00
Nicholas Hubbard
43288b2e97 Update the README for better disclosure of installation script. 2016-04-04 13:54:49 -04:00
Nicholas Hubbard
824eade8b2 Update installation script for Pi 3 support. 2016-04-04 12:28:07 -04:00
Nicholas Hubbard
df26058172 Add installation script for ease of installation. 2016-04-04 12:19:13 -04:00
Nicholas Hubbard
2f3219704e Add badges and fix Usage list formatting. 2016-04-03 20:39:01 -04:00
Nicholas Hubbard
5c0532e6c6 Some branding, grammar and spelling updates. 2016-04-03 19:43:31 -04:00
Michael Teeuw
a4d5b74b57 Fixes encoding issues: #125 & #126 2016-04-03 23:16:59 +02:00
Michael Teeuw
864106d336 Merge pull request #132 from paviro/v2-beta
Fixed mistake that happens when no type is given
2016-04-03 20:43:35 +02:00
Paul-Vincent Roll
5a612e792e Fixed mistake that happens when no type is given 2016-04-03 20:41:03 +02:00
Michael Teeuw
e473dfc15e Merge pull request #131 from paviro/v2-beta
Use SHOW_ALERT for all type of notifications
2016-04-03 20:36:18 +02:00
Paul-Vincent Roll
f931316dc8 No type = alert 2016-04-03 20:34:47 +02:00
Paul-Vincent Roll
e323a315e1 README ms not seconds 2016-04-03 20:31:09 +02:00
Paul-Vincent Roll
a55a2bcca0 Use SHOW_ALERT for all type of notifications 2016-04-03 20:28:51 +02:00
Michael Teeuw
f0c739c94c Add Contributing. 2016-04-03 20:27:56 +02:00
Michael Teeuw
60db5abb54 Change default port to port 8080. 2016-04-03 20:27:56 +02:00
Michael Teeuw
9ab7356730 Merge pull request #130 from paviro/v2-beta
Removed no longer existing params
2016-04-03 20:15:50 +02:00
Paul-Vincent Roll
7f2537f9b1 Removed no longer existing params 2016-04-03 20:13:22 +02:00
Michael Teeuw
6fe3ca1058 Merge pull request #129 from paviro/v2-beta
Added alert todos
2016-04-03 20:12:34 +02:00
Paul-Vincent Roll
99dbb3abed Added alert todos 2016-04-03 20:08:22 +02:00
Paul-Vincent Roll
053bdd0467 Merge pull request #14 from MichMich/v2-beta
Update from Master
2016-04-03 20:05:55 +02:00
Michael Teeuw
5554dce924 Fix merge conflict. 2016-04-03 19:56:01 +02:00
Michael Teeuw
ec7a4734df Merge branch 'v2-beta' of https://github.com/MichMich/MagicMirror into pr/120
# Conflicts:
#	README.md
2016-04-03 19:55:35 +02:00
Michael Teeuw
40e3e71b48 Fix merge conflict. 2016-04-03 19:53:36 +02:00
Michael Teeuw
5eed80c28e Squashed commit of the following:
commit e38dd346d9
Author: Michael Teeuw <michael@xonaymedia.nl>
Date:   Sat Apr 2 19:17:30 2016 +0200

    Add the possibility to set the maximum number of days.

commit 6f5c86775b
Author: Sam Vendittelli <sam.vendittelli@hotmail.com>
Date:   Sat Apr 2 06:27:44 2016 +0100

    Fixed cursor appearing in margin

    Cursor was appearing in the margin so moved `cursor: none` property to html.

commit 576c668d84
Author: Domi-G <lessuseguy+githubdomig@gmail.com>
Date:   Fri Apr 1 22:52:32 2016 +0200

    Huge cleanup of white space
2016-04-03 19:52:13 +02:00
Paul-Vincent Roll
e2436ad796 Updated install instructions 2016-04-03 17:46:09 +02:00
Paul-Vincent Roll
7f0d82e960 Fixed README 2016-04-03 13:32:17 +02:00
Paul-Vincent Roll
5ecdca28fb Added Alert module to README 2016-04-03 13:02:49 +02:00
Paul-Vincent Roll
67bd6eac99 Use seconds instead of ms 2016-04-03 04:03:57 +02:00
Paul-Vincent Roll
f8ce8ece1e Removed SweetAlert License 2016-04-03 03:07:59 +02:00
Paul-Vincent Roll
679521c8a0 Removed sweetalert added custom alerts 2016-04-03 03:04:38 +02:00
Paul-Vincent Roll
f8c1644dee Added text alignment based on position 2016-04-03 00:20:11 +02:00
Paul-Vincent Roll
882e9731ac Added position config 2016-04-02 23:54:15 +02:00
Paul-Vincent Roll
3cd882f618 Notification styling 2016-04-02 20:27:59 +02:00
Paul-Vincent Roll
98e333cef9 Added title to notification 2016-04-02 20:05:05 +02:00
Paul-Vincent Roll
21a0063756 removed ns-style-growl.css now in default 2016-04-02 19:57:52 +02:00
Paul-Vincent Roll
76f1a82746 Allow multiple notifications 2016-04-02 19:56:19 +02:00
Michael Teeuw
e38dd346d9 Add the possibility to set the maximum number of days. 2016-04-02 19:17:30 +02:00
Paul-Vincent Roll
a8184ec17d Allow welcome_message = false 2016-04-02 19:12:59 +02:00
Paul-Vincent Roll
5fb751222b Added table to developer alert parameters 2016-04-02 14:57:29 +02:00
Paul-Vincent Roll
9910af04b0 added Configuration options as table 2016-04-02 14:46:46 +02:00
Sam Vendittelli
6f5c86775b Fixed cursor appearing in margin
Cursor was appearing in the margin so moved `cursor: none` property to html.
2016-04-02 07:27:44 +02:00
Paul-Vincent Roll
9c78af65e1 Added new option and licenses 2016-04-02 04:17:58 +02:00
Paul-Vincent Roll
e14010da35 Now supports alerts and notifications 2016-04-02 03:59:18 +02:00
Sam Vendittelli
c61278f1ad Fixed cursor appearing in margin
Cursor was appearing in the margin so moved `cursor: none` property to html.
2016-04-01 23:23:44 +01:00
Domi-G
576c668d84 Huge cleanup of white space 2016-04-01 22:52:32 +02:00
Paul-Vincent Roll
f93a464b7d Added howto for developers 2016-04-01 22:07:50 +02:00
Paul-Vincent Roll
06271678a6 Added alert module 2016-04-01 22:05:09 +02:00
Paul-Vincent Roll
af0ea4d555 Merge pull request #12 from MichMich/v2-beta
Update V2 beta from master
2016-04-01 21:59:18 +02:00
Michael Teeuw
e448e87252 Prevent weird start effect. 2016-04-01 17:49:43 +02:00
Michael Teeuw
e4c54cc655 Add module subfolder support. 2016-04-01 17:35:29 +02:00
Michael Teeuw
671338425a Add module documentation. 2016-04-01 16:43:59 +02:00
Michael Teeuw
5237cf9eb1 Fix Typos 2016-04-01 16:03:12 +02:00
Michael Teeuw
33586f4bdf Compliments documentation. 2016-04-01 16:02:59 +02:00
Michael Teeuw
2cc05e1878 Explain titleReplace. 2016-04-01 15:53:28 +02:00
Michael Teeuw
44c0f409a9 Fix link. 2016-04-01 14:22:26 +02:00
Michael Teeuw
dde6d8e623 Link to documentation. 2016-04-01 14:21:23 +02:00
Michael Teeuw
f387e28ed4 Formatting. 2016-04-01 14:19:50 +02:00
Michael Teeuw
e0072630f3 Formatting 2016-04-01 14:18:39 +02:00
Michael Teeuw
fdf80c4584 Fix missing info. 2016-04-01 14:18:07 +02:00
Michael Teeuw
68b3f1a8e6 Add documentation. 2016-04-01 14:16:39 +02:00
Paul-Vincent Roll
f044f3ece2 Merge pull request #11 from MichMich/v2-beta
Update V2 beta from master
2016-04-01 13:20:16 +02:00
Michael Teeuw
46312cb44c Fix #115 - Recurring events. 2016-04-01 13:16:29 +02:00
Michael Teeuw
167a548112 Merge pull request #119 from paviro/v2-beta
Added alerts to todo
2016-04-01 12:24:34 +02:00
Paul-Vincent Roll
a381c91af7 Added alerts to todo 2016-04-01 12:23:07 +02:00
Paul-Vincent Roll
eb0446bfe1 Merge pull request #10 from MichMich/v2-beta
Update V2 beta from master
2016-04-01 12:18:04 +02:00
Michael Teeuw
62fcf8402c Add todo. 2016-04-01 10:47:16 +02:00
Michael Teeuw
f320f6e9b6 Fix show/hide issue on content update. 2016-04-01 10:44:17 +02:00
Michael Teeuw
2c387f6ae6 visual change 2016-04-01 10:34:20 +02:00
Paul-Vincent Roll
702145dada Merge pull request #9 from MichMich/v2-beta
Update V2 beta from master
2016-04-01 10:30:33 +02:00
Michael Teeuw
a1973faa06 Fix CSS glitches. Improve show/hide. 2016-04-01 10:25:55 +02:00
Michael Teeuw
ac7fc587ee Merge pull request #116 from paviro/v2-beta
Added MMM-Wunderlist to README
2016-04-01 07:43:38 +02:00
Paul-Vincent Roll
240487c258 Added MMM-Wunderlist to README 2016-04-01 02:24:06 +02:00
Paul-Vincent Roll
4e07c7ef4b Merge pull request #8 from MichMich/v2-beta
Hide module after fade out.
2016-03-31 22:36:48 +02:00
Michael Teeuw
147791dbcd Hide module after fade out. 2016-03-31 22:34:39 +02:00
Paul-Vincent Roll
caf7056ce0 Merge pull request #7 from MichMich/v2-beta
Update V2 beta from master
2016-03-31 21:02:07 +02:00
Michael Teeuw
38e42cf71e Type check. 2016-03-31 19:25:53 +02:00
Michael Teeuw
584a12e1f5 Method to hide/show modules. 2016-03-31 19:15:58 +02:00
Michael Teeuw
d601919dc4 Minor visual changes. 2016-03-31 17:07:21 +02:00
Michael Teeuw
e5351c573b Add comments. 2016-03-31 17:06:39 +02:00
Michael Teeuw
ccff5c5921 Magic module selection. 2016-03-31 17:05:36 +02:00
Michael Teeuw
c3ef992219 Merge pull request #114 from Domi-G/v2-beta
Fixed layout for Firefox
2016-03-31 16:58:08 +02:00
Domi-G
c698d27a29 Fixed layout for Firefox 2016-03-31 15:07:55 +02:00
Michael Teeuw
05162ebd59 Update todo. 2016-03-31 14:20:43 +02:00
Michael Teeuw
6f991b3238 Merge pull request #113 from paviro/v2-beta
Added MMM-Facial-Recognition to README
2016-03-31 13:44:06 +02:00
Paul-Vincent Roll
a14373a3e6 Added MMM-Facial-Recognition to README 2016-03-31 13:37:44 +02:00
Paul-Vincent Roll
6a61dc47ac Merge pull request #6 from MichMich/v2-beta
Update V2 beta from master
2016-03-31 13:31:22 +02:00
Michael Teeuw
971729dfdd Merge pull request #112 from paviro/v2-beta
Hide cursor and updated electron params
2016-03-31 13:30:54 +02:00
Michael Teeuw
5c1feb2848 Fix issue with starting of modules. 2016-03-31 13:30:01 +02:00
Paul-Vincent Roll
4455bf13c9 Merge pull request #5 from MichMich/v2-beta
Improved module loader.
2016-03-31 13:12:49 +02:00
Michael Teeuw
f28b0316f4 Improved module loader. 2016-03-31 13:05:23 +02:00
Paul-Vincent Roll
9999b3aa0c Hide cursor and updated electron params 2016-03-31 12:44:00 +02:00
Paul-Vincent Roll
f9734dbc8b Merge pull request #4 from MichMich/v2-beta
Update V2 beta from master
2016-03-31 12:27:26 +02:00
Michael Teeuw
c1bd469086 updated readme 2016-03-31 11:08:06 +02:00
Michael Teeuw
900ba886ed Add calendar module. 2016-03-31 11:05:32 +02:00
Paul-Vincent Roll
ab0dce5dea electron params updated 2016-03-31 00:20:54 +02:00
Paul-Vincent Roll
6327670b6f Merge pull request #3 from MichMich/v2-beta
Update V2 beta from master
2016-03-31 00:20:07 +02:00
Michael Teeuw
7717b295bd Fix namespace problem. 2016-03-30 17:22:30 +02:00
Michael Teeuw
b243d25399 Improved socket connection for node_helper. 2016-03-30 16:25:24 +02:00
Michael Teeuw
59b339aba5 Add License File 2016-03-30 15:21:46 +02:00
Michael Teeuw
0d6ada13c4 Add module info to readme. 2016-03-30 15:20:14 +02:00
Michael Teeuw
dd32e61fcc Merge pull request #109 from paviro/v2-beta
Fixed typo in node_helper and added module to README
2016-03-30 15:16:42 +02:00
Michael Teeuw
cbf533aa7d Minor visual changes. 2016-03-30 15:15:11 +02:00
Paul-Vincent Roll
5bccb1a555 Added Callmonitor to README 2016-03-30 15:13:46 +02:00
Michael Teeuw
139a364da6 decrease load delay 2016-03-30 15:13:02 +02:00
Paul-Vincent Roll
60fcafa3b8 Fixed typo 2016-03-30 15:11:56 +02:00
Michael Teeuw
d7ef4adbc8 update gitignore to ignore new modules (except default modules) 2016-03-30 14:59:57 +02:00
Paul-Vincent Roll
c89e5785d8 Merge pull request #2 from MichMich/v2-beta
Update V2 beta from master
2016-03-30 14:54:21 +02:00
Michael Teeuw
af910aa3f7 New node_helper loading. 2016-03-30 14:49:37 +02:00
Michael Teeuw
7e873880f5 fix git ignore 2016-03-30 14:00:42 +02:00
Michael Teeuw
1be0edaf03 git ignore fix 2016-03-30 13:57:06 +02:00
Michael Teeuw
609e498973 git ignore fix 2016-03-30 13:56:53 +02:00
Michael Teeuw
1585b7a142 add git ignore for modules/node_modules 2016-03-30 13:52:32 +02:00
Michael Teeuw
c55ac659c1 Git ignore changes. 2016-03-30 13:47:57 +02:00
Michael Teeuw
1de52f7b64 Update gitignore. 2016-03-30 13:44:49 +02:00
Michael Teeuw
26a6eb506e Allow use of class.js in node. 2016-03-30 13:44:16 +02:00
Michael Teeuw
ede3e669c7 Minor visual change. 2016-03-30 13:29:44 +02:00
Michael Teeuw
d00aa21c96 git ignore changes 2016-03-30 13:19:54 +02:00
Paul-Vincent Roll
6181098f68 Merge pull request #1 from MichMich/v2-beta
Update from master v2 branch
2016-03-30 12:57:27 +02:00
Michael Teeuw
1d4c1624c4 update package.json 2016-03-30 12:49:41 +02:00
Michael Teeuw
899d05bc32 Add server (web/socket), create socket system, better helper loader.
- The Magic Mirror is now hosted via a express server, allowing you to
load it from an external client (for debugging.)
- It now includes a socket system to communicate between the
node_helper and the client module.
- node_helpers are now only loaded if the module is configured in the
config.
2016-03-30 12:20:46 +02:00
Michael Teeuw
15856574d7 Add fade option to weather forecast. 2016-03-29 16:10:50 +02:00
Michael Teeuw
c09f8e97f7 Add news feed module. 2016-03-29 15:44:43 +02:00
Michael Teeuw
4fb7f099de Output node_helper output to console. 2016-03-29 15:39:54 +02:00
Michael Teeuw
90c6283742 Add configuration instructions and todo. 2016-03-29 13:35:55 +02:00
Michael Teeuw
872d8584fb Git ignore changes. 2016-03-29 13:28:51 +02:00
Michael Teeuw
74afe433fb Add weather modules. 2016-03-29 13:28:15 +02:00
Michael Teeuw
e85d6a39f8 Merge pull request #108 from paviro/v2-beta
Updated README
2016-03-28 14:44:19 +02:00
Paul-Vincent Roll
2a41e55ff2 Updated README 2016-03-28 13:47:40 +02:00
Michael Teeuw
1e30811112 Merge pull request #107 from paviro/v2-beta
Start helper_scripts as childs
2016-03-28 13:25:46 +02:00
Paul-Vincent Roll
22f0d752ea Start helper_scripts as childs and not just import them into the main script 2016-03-28 13:23:02 +02:00
Michael Teeuw
4675bae804 Merge pull request #106 from paviro/v2-beta
This seems to be working perfect. I didn't test it yet on a Pi, but since you say this works I merge the pull request. Thanks for your contribution!
2016-03-28 12:17:51 +02:00
Paul-Vincent Roll
57bd3c5a4e Spelling mistake sorry... 2016-03-28 02:29:13 +02:00
Paul-Vincent Roll
29db2dcd14 Use latest electron version 2016-03-28 02:27:12 +02:00
Paul-Vincent Roll
df153ee1a1 Hide menu-bar on Raspberry Pi and some comments 2016-03-28 01:59:05 +02:00
Paul-Vincent Roll
331c12269c disable node-integration so jquery works again 2016-03-28 00:26:24 +02:00
Paul-Vincent Roll
d7844a1e39 electron now searches for node helper scripts on module folders 2016-03-27 22:22:04 +02:00
Paul-Vincent Roll
d96b82500a Added electron wrapper 2016-03-27 20:40:07 +02:00
Michael Teeuw
74f1da81f2 Initial version of the README. 2016-03-27 16:57:20 +02:00
Michael Teeuw
472bc529f9 Cleanup. 2016-03-24 18:13:09 +01:00
Michael Teeuw
4266c0b279 Initial commit of V2. 2016-03-24 17:19:32 +01:00
302 changed files with 42021 additions and 15129 deletions

15
.editorconfig Normal file
View File

@@ -0,0 +1,15 @@
# editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 250
trim_trailing_whitespace = true
[*.{js,json}]
indent_size = 4
indent_style = tab

1
.eslintignore Normal file
View File

@@ -0,0 +1 @@
modules/default/calendar/vendor/*

30
.eslintrc.json Normal file
View File

@@ -0,0 +1,30 @@
{
"extends": ["eslint:recommended", "plugin:prettier/recommended", "plugin:jsdoc/recommended"],
"plugins": ["prettier", "jsdoc", "jest"],
"env": {
"browser": true,
"es6": true,
"jest/globals": true,
"node": true
},
"globals": {
"config": true,
"Log": true,
"MM": true,
"Module": true,
"moment": true
},
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2017,
"ecmaFeatures": {
"globalReturn": true
}
},
"rules": {
"prettier/prettier": "error",
"eqeqeq": "error",
"no-prototype-builtins": "off",
"no-unused-vars": "off"
}
}

49
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,49 @@
# Contribution Policy for MagicMirror²
Thanks for contributing to MagicMirror²!
We hold our code to standard, and these standards are documented below.
If you wish to run our linters, use `npm run lint` without any arguments.
### JavaScript: Run ESLint
We use [ESLint](https://eslint.org) on our JavaScript files.
Our ESLint configuration is in our .eslintrc.json and .eslintignore files.
To run ESLint, use `npm run lint:js`.
### CSS: Run StyleLint
We use [StyleLint](https://stylelint.io) to lint our CSS. Our configuration is in our .stylelintrc file.
To run StyleLint, use `npm run lint:style`.
### Submitting Issues
Please only submit reproducible issues.
If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: [https://forum.magicmirror.builders/category/15/bug-hunt](https://forum.magicmirror.builders/category/15/bug-hunt)
Problems installing or configuring your MagicMirror? Check out: [https://forum.magicmirror.builders/category/10/troubleshooting](https://forum.magicmirror.builders/category/10/troubleshooting)
When submitting a new issue, please supply the following information:
**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX).
**Node Version**: Make sure it's version 10 or later.
**MagicMirror Version**: Now that the versions have split, tell us if you are using the PHP version (v1) or the newer JavaScript version (v2).
**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem.
**Steps to Reproduce**: List the step by step process to reproduce the issue.
**Expected Results**: Describe what you expected to see.
**Actual Results**: Describe what you actually saw.
**Configuration**: What does the used config.js file look like? Don't forget to remove any sensitive information!
**Additional Notes**: Provide any other relevant notes not previously mentioned. This is optional.

2
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
github: MichMich
custom: ['https://magicmirror.builders/#donate']

48
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,48 @@
Hello and thank you for opening an issue.
**Please make sure that you have read the following lines before submitting your Issue:**
## I'm not sure if this is a bug
If you're not sure if it's a real bug or if it's just you, please open a topic on the forum: [https://forum.magicmirror.builders/category/15/bug-hunt](https://forum.magicmirror.builders/category/15/bug-hunt)
## I'm having troubles installing or configuring MagicMirror
Problems installing or configuring your MagicMirror? Check out: [https://forum.magicmirror.builders/category/10/troubleshooting](https://forum.magicmirror.builders/category/10/troubleshooting)
A common problem is that your config file could be invalid. Please run in your MagicMirror directory: `npm run config:check` and see if it reports an error.
## I found a bug in the MagicMirror installer
If you are facing an issue or found a bug while trying to install MagicMirror via the installer please report it in the respective GitHub repository:
[https://github.com/sdetweil/MagicMirror_scripts](https://github.com/sdetweil/MagicMirror_scripts)
## I found a bug in the MagicMirror Docker image
If you are facing an issue or found a bug while running MagicMirror inside a Docker container please create an issue in the GitHub repository of the MagicMirror Docker image:
[https://github.com/bastilimbach/docker-MagicMirror](https://github.com/bastilimbach/docker-MagicMirror)
---
## I found a bug in MagicMirror
Please make sure to only submit reproducible issues. You can safely remove everything above the dividing line.
When submitting a new issue, please supply the following information:
**Platform**: Place your platform here... give us your web browser/Electron version _and_ your hardware (Raspberry Pi 2/3/4, Windows, Mac, Linux, System V UNIX).
**Node Version**: Make sure it's version 10 or later.
**MagicMirror Version**: Please let us now which version of MagicMirror you are running. It can be found in the `package.log` file.
**Description**: Provide a detailed description about the issue and include specific details to help us understand the problem. Adding screenshots will help describing the problem.
**Steps to Reproduce**: List the step by step process to reproduce the issue.
**Expected Results**: Describe what you expected to see.
**Actual Results**: Describe what you actually saw.
**Configuration**: What does the used config.js file look like? Don't forget to remove any sensitive information!
**Additional Notes**: Provide any other relevant notes not previously mentioned. This is optional.

28
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,28 @@
Hello and thank you for wanting to contribute to the MagicMirror project
**Please make sure that you have followed these 4 rules before submitting your Pull Request:**
> 1) Base your pull requests against the `develop` branch.
>
>
> 2) Include these infos in the description:
> * Does the pull request solve a **related** issue?
> * If so, can you reference the issue like this `Fixes #<issue_number>`?
> * What does the pull request accomplish? Use a list if needed.
> * If it includes major visual changes please add screenshots.
>
>
> 3) Please run `npm run lint:prettier` before submitting so that
> style issues are fixed.
>
>
> 4) Don't forget to add an entry about your changes to
> the CHANGELOG.md file.
**Note**: Sometimes the development moves very fast. It is highly
recommended that you update your branch of `develop` before creating a
pull request to send us your changes. This makes everyone's lives
easier (including yours) and helps us out on the development team.
Thanks again and have a nice day!

6
.github/codecov.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
coverage:
status:
project:
default:
# advanced settings
informational: true

BIN
.github/header.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
.github/header.psd vendored Normal file

Binary file not shown.

19
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- under investigation
- pr welcome
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View File

@@ -0,0 +1,25 @@
# This workflow runs the automated test and uploads the coverage results to codecov.io
name: "Run Codecov Tests"
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
jobs:
run-and-upload-coverage-report:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- run: |
Xvfb :99 -screen 0 1024x768x16 &
export DISPLAY=:99
npm ci
npm run test:coverage
- uses: codecov/codecov-action@v1
with:
file: ./coverage/lcov.info
fail_ci_if_error: true

18
.github/workflows/enforce-changelog.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
# This workflow enforces the update of a changelog file on every pull request
name: "Enforce Changelog"
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
jobs:
check:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- uses: dangoslen/changelog-enforcer@v1.6.1
with:
changeLogPath: 'CHANGELOG.md'
skipLabels: 'Skip Changelog'

33
.github/workflows/node-ci.js.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: "Run Automated Tests"
on:
push:
branches: [ master, develop ]
pull_request:
branches: [ master, develop ]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: |
Xvfb :99 -screen 0 1024x768x16 &
export DISPLAY=:99
npm install
npm run test:prettier
npm run test:js
npm run test:css
npm run test:unit
npm run test:e2e

82
.gitignore vendored Normal file
View File

@@ -0,0 +1,82 @@
# Various Node ignoramuses.
logs
*.log
npm-debug.log*
pids
*.pid
*.seed
lib-cov
coverage
.lock-wscript
build/Release
/node_modules/**/*
fonts/node_modules/**/*
vendor/node_modules/**/*
!/tests/node_modules/**/*
jspm_modules
.npm
.node_repl_history
.nyc_output/
# Visual Studio Code ignoramuses.
.vscode/
# IDE Code ignoramuses.
.idea/
# Various Windows ignoramuses.
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msm
*.msp
*.lnk
# Various OSX ignoramuses.
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Various Linux ignoramuses.
.fuse_hidden*
.directory
.Trash-*
# Ignore all modules except the default modules.
/modules/**
!/modules/default
!/modules/default/**
!/modules/README.md**
# Ignore changes to the custom css files.
/css/custom.css
# Ignore users config file but keep the sample.
/config/*
!/config/config.js.sample
# Vim
## swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
## diff patch
*.orig
*.rej
*.bak

1
.husky/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
_

4
.husky/pre-commit Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run lint:staged

8
.prettierignore Normal file
View File

@@ -0,0 +1,8 @@
/config
/coverage
/vendor
!/vendor/vendor.js
.github
.nyc_output
package-lock.json
*.ts

3
.prettierrc.json Normal file
View File

@@ -0,0 +1,3 @@
{
"trailingComma": "none"
}

7
.stylelintrc.json Normal file
View File

@@ -0,0 +1,7 @@
{
"extends": ["stylelint-prettier/recommended"],
"plugins": ["stylelint-prettier"],
"rules": {
"prettier/prettier": true
}
}

1037
CHANGELOG.md Normal file

File diff suppressed because it is too large Load Diff

17
LICENSE.md Normal file
View File

@@ -0,0 +1,17 @@
# The MIT License (MIT)
Copyright © 2016-2021 Michael Teeuw
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the “Software”), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
**The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.**

View File

@@ -1,52 +1,51 @@
MagicMirror
===========
![MagicMirror²: The open source modular smart mirror platform. ](.github/header.png)
##Introduction
<p style="text-align: center">
<a href="https://david-dm.org/MichMich/MagicMirror"><img src="https://david-dm.org/MichMich/MagicMirror.svg" alt="Dependency Status"></a>
<a href="https://david-dm.org/MichMich/MagicMirror?type=dev"><img src="https://david-dm.org/MichMich/MagicMirror/dev-status.svg" alt="devDependency Status"></a>
<a href="https://bestpractices.coreinfrastructure.org/projects/347"><img src="https://bestpractices.coreinfrastructure.org/projects/347/badge" alt="CLI Best Practices"></a>
<a href="https://codecov.io/gh/MichMich/MagicMirror"><img src="https://codecov.io/gh/MichMich/MagicMirror/branch/master/graph/badge.svg?token=LEG1KitZR6" alt="CodeCov Status"/></a>
<a href="https://choosealicense.com/licenses/mit"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
<a href="https://github.com/MichMich/MagicMirror/actions?query=workflow%3A%22Automated+Tests%22"><img src="https://github.com/MichMich/MagicMirror/workflows/Automated%20Tests/badge.svg" alt="Tests"></a>
</p>
The super magic interface of my personal Magic Mirror. More information about this project can be found on my [blog](http://michaelteeuw.nl/tagged/magicmirror).
**MagicMirror²** is an open source modular smart mirror platform. With a growing list of installable modules, the **MagicMirror²** allows you to convert your hallway or bathroom mirror into your personal assistant. **MagicMirror²** is built by the creator of [the original MagicMirror](https://michaelteeuw.nl/tagged/magicmirror) with the incredible help of a [growing community of contributors](https://github.com/MichMich/MagicMirror/graphs/contributors).
Runs as a php script on a web server with basically no external dependencies. *Can use socket.io for XBEE integration, but isn't required for basic functionality*.
MagicMirror² focuses on a modular plugin system and uses [Electron](https://www.electronjs.org/) as an application wrapper. So no more web server or browser installs necessary!
## Documentation
##Configuration
For the full documentation including **[installation instructions](https://docs.magicmirror.builders/getting-started/installation.html)**, please visit our dedicated documentation website: [https://docs.magicmirror.builders](https://docs.magicmirror.builders).
Modify `js/config.js` to change some general variables (language, weather location, compliments, news feed RSS and to add your own ICS calendar)
## Links
To use the OpenWeatherMap API, you'll need a free API key. Checkout [this blogpost](http://michaelteeuw.nl/post/131504229357/what-happened-to-the-weather) for more information.
- Website: [https://magicmirror.builders](https://magicmirror.builders)
- Documentation: [https://docs.magicmirror.builders](https://docs.magicmirror.builders)
- Forum: [https://forum.magicmirror.builders](https://forum.magicmirror.builders)
- Technical discussions: https://forum.magicmirror.builders/category/11/core-system
- Discord: [https://discord.gg/J5BAtvx](https://discord.gg/J5BAtvx)
- Blog: [https://michaelteeuw.nl/tagged/magicmirror](https://michaelteeuw.nl/tagged/magicmirror)
- Donations: [https://magicmirror.builders/#donate](https://magicmirror.builders/#donate)
##Code
## Contributing Guidelines
###[main.js](js/main.js)
Contributions of all kinds are welcome, not only in the form of code but also with regards to
This file initiates the separate pieces of functionality that will appear in the view. It also includes various utility functions that are used to update what is visible.
- bug reports
- documentation
- translations
###[Calendar](js/calendar)
For the full contribution guidelines, check out: [https://docs.magicmirror.builders/getting-started/contributing.html](https://docs.magicmirror.builders/getting-started/contributing.html)
Parsing functionality for the calendar that retrieves and updates the calendar based on the interval set at the top of the [calendar.js](js/calendar/calendar.js) file. This was actually a straight pull from the original main.js file but the parsing code may deserve an upgrade.
## Enjoying MagicMirror? Consider a donation!
###[Compliments](js/compliments)
MagicMirror² is opensource and free. That doesn't mean we don't need any money.
Functionality related to inserting compliments into the view and rotating them based on a specific interval set at the top of the [compliments.js](js/compliments/compliments.js) file.
Please consider a donation to help us cover the ongoing costs like webservers and email services.
If we receive enough donations we might even be able to free up some working hours and spend some extra time improving the MagicMirror² core.
###[News](js/news)
To donate, please follow [this](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G5D8E9MR5DTD2&source=url) link.
Takes an array of news feeds (or a single string) from the config file and retrieves each one so that it can be displayed in a loop based on the interval set at the top of the [news.js](js/news/news.js) file.
###[Time](js/time)
Updates the time on the screen on one second interval.
###[Version](js/version)
Checks the git version and refreshes if a new version has been pulled.
###[Weather](js/weather)
Takes the user's inserted location, language, unit type, and OpenWeatherMap API key and grabs the five day weather forecast from OpenWeatherMap. You need to set the API key in the config for this to work. (See *configuration*.)
##Extensions
###[MagicMirror-Extensions by PaViRo](https://github.com/paviro/MagicMirror-Extensions)
**Current features:** FRITZ!Box Callmonitor <br>
**Future features:** Faceregognition, personalized views, online banking through HBCI and multiple calenders based on faceregognition.
<p style="text-align: center">
<a href="https://forum.magicmirror.builders/topic/728/magicmirror-is-voted-number-1-in-the-magpi-top-50"><img src="https://magicmirror.builders/img/magpi-best-watermark-custom.png" width="150" alt="MagPi Top 50"></a>
</p>

126
clientonly/index.js Normal file
View File

@@ -0,0 +1,126 @@
"use strict";
// Use separate scope to prevent global scope pollution
(function () {
const config = {};
/**
* Helper function to get server address/hostname from either the commandline or env
*/
function getServerAddress() {
/**
* Get command line parameters
* Assumes that a cmdline parameter is defined with `--key [value]`
*
* @param {string} key key to look for at the command line
* @param {string} defaultValue value if no key is given at the command line
* @returns {string} the value of the parameter
*/
function getCommandLineParameter(key, defaultValue = undefined) {
const index = process.argv.indexOf(`--${key}`);
const value = index > -1 ? process.argv[index + 1] : undefined;
return value !== undefined ? String(value) : defaultValue;
}
// Prefer command line arguments over environment variables
["address", "port"].forEach((key) => {
config[key] = getCommandLineParameter(key, process.env[key.toUpperCase()]);
});
// determine if "--use-tls"-flag was provided
config["tls"] = process.argv.indexOf("--use-tls") > 0;
}
/**
* Gets the config from the specified server url
*
* @param {string} url location where the server is running.
* @returns {Promise} the config
*/
function getServerConfig(url) {
// Return new pending promise
return new Promise((resolve, reject) => {
// Select http or https module, depending on requested url
const lib = url.startsWith("https") ? require("https") : require("http");
const request = lib.get(url, (response) => {
let configData = "";
// Gather incoming data
response.on("data", function (chunk) {
configData += chunk;
});
// Resolve promise at the end of the HTTP/HTTPS stream
response.on("end", function () {
resolve(JSON.parse(configData));
});
});
request.on("error", function (error) {
reject(new Error(`Unable to read config from server (${url} (${error.message}`));
});
});
}
/**
* Print a message to the console in case of errors
*
* @param {string} message error message to print
* @param {number} code error code for the exit call
*/
function fail(message, code = 1) {
if (message !== undefined && typeof message === "string") {
console.log(message);
} else {
console.log("Usage: 'node clientonly --address 192.168.1.10 --port 8080 [--use-tls]'");
}
process.exit(code);
}
getServerAddress();
(config.address && config.port) || fail();
const prefix = config.tls ? "https://" : "http://";
// Only start the client if a non-local server was provided
if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].indexOf(config.address) === -1) {
getServerConfig(`${prefix}${config.address}:${config.port}/config/`)
.then(function (configReturn) {
// Pass along the server config via an environment variable
const env = Object.create(process.env);
const options = { env: env };
configReturn.address = config.address;
configReturn.port = config.port;
configReturn.tls = config.tls;
env.config = JSON.stringify(configReturn);
// Spawn electron application
const electron = require("electron");
const child = require("child_process").spawn(electron, ["js/electron.js"], options);
// Pipe all child process output to current stdout
child.stdout.on("data", function (buf) {
process.stdout.write(`Client: ${buf}`);
});
// Pipe all child process errors to current stderr
child.stderr.on("data", function (buf) {
process.stderr.write(`Client: ${buf}`);
});
child.on("error", function (err) {
process.stdout.write(`Client: ${err}`);
});
child.on("close", (code) => {
if (code !== 0) {
console.log(`There something wrong. The clientonly is not running code ${code}`);
}
});
})
.catch(function (reason) {
fail(`Unable to connect to server: (${reason})`);
});
} else {
fail();
}
})();

111
config/config.js.sample Normal file
View File

@@ -0,0 +1,111 @@
/* Magic Mirror Config Sample
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/getting-started/configuration.html#general
* and https://docs.magicmirror.builders/modules/configuration.html
*/
let config = {
address: "localhost", // Address to listen on, can be:
// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
// - another specific IPv4/6 to listen on a specific interface
// - "0.0.0.0", "::" to listen on any interface
// Default, when address config is left out or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses
// or add a specific IPv4 of 192.168.1.5 :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "metric",
// serverOnly: true/false/"local" ,
// local for armv6l processors, default
// starts serveronly and then starts chrome browser
// false, default for all NON-armv6l devices
// true, force serveronly mode, because you want to.. no UI on this device
modules: [
{
module: "alert",
},
{
module: "updatenotification",
position: "top_bar"
},
{
module: "clock",
position: "top_left"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
config: {
calendars: [
{
symbol: "calendar-check",
url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics" }
]
}
},
{
module: "compliments",
position: "lower_third"
},
{
module: "weather",
position: "top_right",
config: {
weatherProvider: "openweathermap",
type: "current",
location: "New York",
locationID: "5128581", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "YOUR_OPENWEATHER_API_KEY"
}
},
{
module: "weather",
position: "top_right",
header: "Weather Forecast",
config: {
weatherProvider: "openweathermap",
type: "forecast",
location: "New York",
locationID: "5128581", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "YOUR_OPENWEATHER_API_KEY"
}
},
{
module: "newsfeed",
position: "bottom_bar",
config: {
feeds: [
{
title: "New York Times",
url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}

View File

@@ -1,5 +0,0 @@
<?php
include "functions/gzip.php";
$url = $_GET["url"];
echo get_url($url);
?>

View File

@@ -1,42 +0,0 @@
<?php
/*
* @function get_url
* @purpose To fetch GZipped web content.
* @author Michael Teeuw
*/
function get_url($url) {
/*
* @array
* Prepare the options that we need for our GZip request.
*/
$opts = array(
"http" => array(
"method" => "GET",
"header" => "Accept-Language: en-US,en;q=0.8rn" . "Accept-Encoding: gzip,deflate,sdchrn" . "Accept-Charset:UTF-8,*;q=0.5rn" . "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 FirePHP/0.4rn",
"ignore_errors" => true
),
/*
* @array
* Put a Band-Aid over some SSL issues.
*/
"ssl" => array(
"verify_peer" => false,
"verify_peer_name" => false
)
);
$context = stream_context_create($opts);
$content = file_get_contents($url, false, $context);
/*
* @note If http response header mentions that content is gzipped, then uncompress it.
*/
foreach($http_response_header as $c => $h) {
if(stristr($h, "content-encoding") and stristr($h, "gzip")) {
/*
* @note Now, let's begin the actual purpose of this function:
*/
$content = gzinflate(substr($content, 10, -8));
}
}
return $content;
}
?>

View File

@@ -1,7 +0,0 @@
<?php
echo json_encode(
array(
"gitHash" => trim(`git rev-parse HEAD`)
)
);
?>

31
css/custom.css.sample Normal file
View File

@@ -0,0 +1,31 @@
/* Magic Mirror Custom CSS Sample
*
* Change color and fonts here.
*
* Beware that properties cannot be unitless, so for example write '--gap-body: 0px;' instead of just '--gap-body: 0;'
*
* MIT Licensed.
*/
/* Uncomment and adjust accordingly if you want to import another font from the google-fonts-api: */
/* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;700&display=swap'); */
:root {
--color-text: #999;
--color-text-dimmed: #666;
--color-text-bright: #fff;
--color-background: black;
--font-primary: "Roboto Condensed";
--font-secondary: "Roboto";
--font-size: 20px;
--font-size-small: 0.75rem;
--gap-body-top: 60px;
--gap-body-right: 60px;
--gap-body-bottom: 60px;
--gap-body-left: 60px;
--gap-modules: 30px;
}

View File

@@ -1,224 +1,240 @@
body,
:root {
--color-text: #999;
--color-text-dimmed: #666;
--color-text-bright: #fff;
--color-background: #000;
--font-primary: "Roboto Condensed";
--font-secondary: "Roboto";
--font-size: 20px;
--font-size-small: 0.75rem;
--gap-body-top: 60px;
--gap-body-right: 60px;
--gap-body-bottom: 60px;
--gap-body-left: 60px;
--gap-modules: 30px;
}
html {
background: #000;
padding: 0px;
margin: 0px;
width: 100%;
height: 100%;
font-family: "HelveticaNeue-Light", sans-serif;
letter-spacing: -2px;
color: #fff;
font-size: 75px;
-webkit-font-smoothing: antialiased;
text-rendering: geometricprecision;
cursor: none;
overflow: hidden;
background: var(--color-background);
user-select: none;
font-size: var(--font-size);
}
.wi {
line-height: 75px;
}
.top {
position: absolute;
top: 50px;
}
.left {
position: absolute;
left: 50px;
}
.right {
position: absolute;
right: 50px;
text-align: right;
}
.center-ver {
position: absolute;
top: 50%;
height: 200px;
margin-top: -100px;
line-height: 100px;
}
.lower-third {
position: absolute;
top: 66.666%;
height: 200px;
margin-top: -100px;
line-height: 100px;
}
.center-hor {
position: absolute;
right: 50px;
left: 50px;
text-align: center;
}
.bottom {
position: absolute;
bottom: 50px;
}
.xxsmall,
.xsmall,
.small {
font-family: "HelveticaNeue-Medium", sans-serif;
letter-spacing: 0;
}
.xxsmall {
font-size: 15px;
}
.xxsmall .wi {
line-height: 15px;
}
.xsmall {
font-size: 20px;
}
.xsmall .wi {
line-height: 20px;
}
.small {
font-size: 25px;
}
.small .wi {
line-height: 25px;
}
.medium {
font-size: 35px;
letter-spacing: -1px;
font-family: "HelveticaNeue-Light", sans-serif;
}
.medium .wi {
line-height: 35px;
}
.xdimmed {
color: #666;
}
.dimmed {
color: #aaa;
}
.light {
font-family: "HelveticaNeue-UltraLight", sans-serif;
}
.icon {
position: relative;
top: -10px;
display: inline-block;
font-size: 45px;
padding-right: 5px;
font-weight: 100;
margin-right: 10px;
}
.icon-small {
position: relative;
display: inline-block;
font-size: 20px;
padding-left: 10px;
padding-right: -10px;
font-weight: 100;
}
.time .sec {
font-size: 25px;
color: #666;
padding-left: 5px;
position: relative;
top: -35px;
}
.forecast-table {
float: right;
text-align: right;
font-size: 20px;
line-height: 20px;
}
.forecast-table .day,
.forecast-table .temp-min,
.forecast-table .temp-max {
width: 50px;
text-align: right;
}
.forecast-table .temp-max {
width: 60px;
}
.forecast-table .day {
color: #999;
}
.calendar-table {
font-size: 14px;
line-height: 20px;
margin-top: 10px;
}
.calendar-table .days {
padding-left: 20px;
text-align: right;
}
.dishwasher {
background-color: white;
color: black;
margin: 0 200px;
font-size: 60px;
border-radius: 1000px;
border-radius: 1200px;
::-webkit-scrollbar {
display: none;
}
@font-face {
font-family: 'HelveticaNeue-UltraLight';
src: url('font/HelveticaNeue-UltraLight.eot');
/* IE9 Compat Modes */
src: url('font/HelveticaNeue-UltraLight.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('font/HelveticaNeue-UltraLight.woff') format('woff'), /* Modern Browsers */
url('font/HelveticaNeue-UltraLight.ttf') format('truetype'), /* Safari, Android, iOS */
url('font/HelveticaNeue-UltraLight.svg#9453ea8da727d260bcdbfa605bdbb5d2') format('svg');
/* Legacy iOS */
font-style: normal;
body {
margin: var(--gap-body-top) var(--gap-body-right) var(--gap-body-bottom) var(--gap-body-left);
position: absolute;
height: calc(100% - var(--gap-body-top) - var(--gap-body-bottom));
width: calc(100% - var(--gap-body-right) - var(--gap-body-left));
background: var(--color-background);
color: var(--color-text);
font-family: var(--font-primary), sans-serif;
font-weight: 400;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
/**
* Default styles.
*/
.dimmed {
color: var(--color-text-dimmed);
}
.normal {
color: var(--color-text);
}
.bright {
color: var(--color-text-bright);
}
.xsmall {
font-size: var(--font-size-small);
line-height: 1.275;
}
.small {
font-size: 1rem;
line-height: 1.25;
}
.medium {
font-size: 1.5rem;
line-height: 1.225;
}
.large {
font-size: 3.25rem;
line-height: 1;
}
.xlarge {
font-size: 3.75rem;
line-height: 1;
letter-spacing: -3px;
}
.thin {
font-family: var(--font-secondary), sans-serif;
font-weight: 100;
}
@font-face {
font-family: 'HelveticaNeue-Medium';
src: url('font/HelveticaNeue-Medium.eot');
/* IE9 Compat Modes */
src: url('font/HelveticaNeue-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('font/HelveticaNeue-Medium.woff') format('woff'), /* Modern Browsers */
url('font/HelveticaNeue-Medium.ttf') format('truetype'), /* Safari, Android, iOS */
url('font/HelveticaNeue-Medium.svg#d7af0fd9278f330eed98b60dddea7bd6') format('svg');
/* Legacy iOS */
font-style: normal;
.light {
font-family: var(--font-primary), sans-serif;
font-weight: 300;
}
.regular {
font-family: var(--font-primary), sans-serif;
font-weight: 400;
}
@font-face {
font-family: 'HelveticaNeue-Light';
src: url('font/HelveticaNeue-Light.eot');
/* IE9 Compat Modes */
src: url('font/HelveticaNeue-Light.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('font/HelveticaNeue-Light.woff') format('woff'), /* Modern Browsers */
url('font/HelveticaNeue-Light.ttf') format('truetype'), /* Safari, Android, iOS */
url('font/HelveticaNeue-Light.svg#7384ecabcada72f0e077cd45d8e1c705') format('svg');
/* Legacy iOS */
font-style: normal;
font-weight: 200;
}
.bold {
font-family: var(--font-primary), sans-serif;
font-weight: 700;
}
.align-right {
text-align: right;
}
.align-left {
text-align: left;
}
header {
text-transform: uppercase;
font-size: var(--font-size-small);
font-family: var(--font-primary), Arial, Helvetica, sans-serif;
font-weight: 400;
border-bottom: 1px solid var(--color-text-dimmed);
line-height: 15px;
padding-bottom: 5px;
margin-bottom: 10px;
color: var(--color-text);
}
sup {
font-size: 50%;
line-height: 50%;
}
/**
* Module styles.
*/
.module {
margin-bottom: var(--gap-modules);
}
.region.bottom .module {
margin-top: var(--gap-modules);
margin-bottom: 0;
}
.no-wrap {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.pre-line {
white-space: pre-line;
}
/**
* Region Definitions.
*/
.region {
position: absolute;
}
.region.fullscreen {
position: absolute;
top: calc(-1 * var(--gap-body-top));
left: calc(-1 * var(--gap-body-left));
right: calc(-1 * var(--gap-body-right));
bottom: calc(-1 * var(--gap-body-bottom));
pointer-events: none;
}
.region.fullscreen * {
pointer-events: auto;
}
.region.right {
right: 0;
text-align: right;
}
.region.top {
top: 0;
}
.region.top.center,
.region.bottom.center {
left: 50%;
transform: translateX(-50%);
}
.region.top.right,
.region.top.left,
.region.top.center {
top: 100%;
}
.region.bottom {
bottom: 0;
}
.region.bottom.right,
.region.bottom.center,
.region.bottom.left {
bottom: 100%;
}
.region.bar {
width: 100%;
text-align: center;
}
.region.third,
.region.middle.center {
width: 100%;
text-align: center;
transform: translateY(-50%);
}
.region.upper.third {
top: 33%;
}
.region.middle.center {
top: 50%;
}
.region.lower.third {
top: 66%;
}
.region.left {
text-align: left;
}
.region table {
width: 100%;
border-spacing: 0;
border-collapse: separate;
}

View File

@@ -1,327 +0,0 @@
/*!
* Weather Icons Beta 1
* Weather themed icons for Bootstrap
* ------------------------------------------------------------------------------
* Maintained at http://erikflowers.github.io/weather-icons
* http://twitter.com/Erik_UX
*
* License
* ------------------------------------------------------------------------------
* - Fpmt licensed under SIL OFL 1.1 -
* http://scripts.sil.org/OFL
* - CSS and LESS are licensed under MIT License -
* http://opensource.org/licenses/mit-license.html
* - Documentation licensed under CC BY 3.0 -
* http://creativecommons.org/licenses/by/3.0/
* - Inspired by and works great as a companion with Font Aweosme
* "Font Awesome by Dave Gandy - http://fontawesome.io"
*
* Weather Icons Bootstrap Package Author - Erik Flowers - erik@helloerik.com
* Weather Icons gives full credit for inspiration to Font Awesome and makes no
* claim to invention, intellectual property, or ownership of methodology.
*
* Support Open Source!
*
* ------------------------------------------------------------------------------
* Email: erik@helloerik.com
* Twitter: http://twitter.com/Erik_UX
*/
@font-face {
font-family: 'weather';
src: url('../font/weathericons-regular-webfont.eot');
src: url('../font/weathericons-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../font/weathericons-regular-webfont.woff') format('woff'), url('../font/weathericons-regular-webfont.ttf') format('truetype'), url('../font/weathericons-regular-webfont.svg#weathericons-regular-webfontRg') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="wi-"],
[class*=" wi-"] {
font-family: weather;
font-weight: normal;
font-style: normal;
text-decoration: inherit;
text-transform: none;
-webkit-font-smoothing: antialiased;
*margin-right: .3em;
}
[class^="wi-"]:before,
[class*=" wi-"]:before {
text-decoration: inherit;
display: inline-block;
speak: none;
}
.wi-day-cloudy-gusts:before {
content: "\f000";
}
.wi-day-cloudy-windy:before {
content: "\f001";
}
.wi-day-cloudy:before {
content: "\f002";
}
.wi-day-fog:before {
content: "\f003";
}
.wi-day-hail:before {
content: "\f004";
}
.wi-day-lightning:before {
content: "\f005";
}
.wi-day-rain-mix:before {
content: "\f006";
}
.wi-day-rain-wind:before {
content: "\f007";
}
.wi-day-rain:before {
content: "\f008";
}
.wi-day-showers:before {
content: "\f009";
}
.wi-day-snow:before {
content: "\f00a";
}
.wi-day-sprinkle:before {
content: "\f00b";
}
.wi-day-sunny-overcast:before {
content: "\f00c";
}
.wi-day-sunny:before {
content: "\f00d";
}
.wi-day-storm-showers:before {
content: "\f00e";
}
.wi-day-thunderstorm:before {
content: "\f010";
}
.wi-cloudy-gusts:before {
content: "\f011";
}
.wi-cloudy-windy:before {
content: "\f012";
}
.wi-cloudy:before {
content: "\f013";
}
.wi-fog:before {
content: "\f014";
}
.wi-hail:before {
content: "\f015";
}
.wi-lightning:before {
content: "\f016";
}
.wi-rain-mix:before {
content: "\f017";
}
.wi-rain-wind:before {
content: "\f018";
}
.wi-rain:before {
content: "\f019";
}
.wi-showers:before {
content: "\f01a";
}
.wi-snow:before {
content: "\f01b";
}
.wi-sprinkle:before {
content: "\f01c";
}
.wi-storm-showers:before {
content: "\f01d";
}
.wi-thunderstorm:before {
content: "\f01e";
}
.wi-windy:before {
content: "\f021";
}
.wi-night-alt-cloudy-gusts:before {
content: "\f022";
}
.wi-night-alt-cloudy-windy:before {
content: "\f023";
}
.wi-night-alt-hail:before {
content: "\f024";
}
.wi-night-alt-lightning:before {
content: "\f025";
}
.wi-night-alt-rain-mix:before {
content: "\f026";
}
.wi-night-alt-rain-wind:before {
content: "\f027";
}
.wi-night-alt-rain:before {
content: "\f028";
}
.wi-night-alt-showers:before {
content: "\f029";
}
.wi-night-alt-snow:before {
content: "\f02a";
}
.wi-night-alt-sprinkle:before {
content: "\f02b";
}
.wi-night-alt-storm-showers:before {
content: "\f02c";
}
.wi-night-alt-thunderstorm:before {
content: "\f02d";
}
.wi-night-clear:before {
content: "\f02e";
}
.wi-night-cloudy-gusts:before {
content: "\f02f";
}
.wi-night-cloudy-windy:before {
content: "\f030";
}
.wi-night-cloudy:before {
content: "\f031";
}
.wi-night-hail:before {
content: "\f032";
}
.wi-night-lightning:before {
content: "\f033";
}
.wi-night-rain-mix:before {
content: "\f034";
}
.wi-night-rain-wind:before {
content: "\f035";
}
.wi-night-rain:before {
content: "\f036";
}
.wi-night-showers:before {
content: "\f037";
}
.wi-night-snow:before {
content: "\f038";
}
.wi-night-sprinkle:before {
content: "\f039";
}
.wi-night-storm-showers:before {
content: "\f03a";
}
.wi-night-thunderstorm:before {
content: "\f03b";
}
.wi-celcius:before {
content: "\f03c";
}
.wi-cloud-down:before {
content: "\f03d";
}
.wi-cloud-refresh:before {
content: "\f03e";
}
.wi-cloud-up:before {
content: "\f040";
}
.wi-cloud:before {
content: "\f041";
}
.wi-degrees:before {
content: "\f042";
}
.wi-down-left:before {
content: "\f043";
}
.wi-down:before {
content: "\f044";
}
.wi-fahrenheit:before {
content: "\f045";
}
.wi-horizon-alt:before {
content: "\f046";
}
.wi-horizon:before {
content: "\f047";
}
.wi-left:before {
content: "\f048";
}
.wi-lightning:before {
content: "\f016";
}
.wi-night-fog:before {
content: "\f04a";
}
.wi-refresh-alt:before {
content: "\f04b";
}
.wi-refresh:before {
content: "\f04c";
}
.wi-right:before {
content: "\f04d";
}
.wi-sprinkles:before {
content: "\f04e";
}
.wi-strong-wind:before {
content: "\f050";
}
.wi-sunrise:before {
content: "\f051";
}
.wi-sunset:before {
content: "\f052";
}
.wi-thermometer-exterior:before {
content: "\f053";
}
.wi-thermometer-internal:before {
content: "\f054";
}
.wi-thermometer:before {
content: "\f055";
}
.wi-tornado:before {
content: "\f056";
}
.wi-up-right:before {
content: "\f057";
}
.wi-up:before {
content: "\f058";
}
.wi-wind-east:before {
content: "\f059";
}
.wi-wind-north-east:before {
content: "\f05a";
}
.wi-wind-north-west:before {
content: "\f05b";
}
.wi-wind-north:before {
content: "\f05c";
}
.wi-wind-south-east:before {
content: "\f05d";
}
.wi-wind-south-west:before {
content: "\f05e";
}
.wi-wind-south:before {
content: "\f060";
}
.wi-wind-west:before {
content: "\f061";
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -1,121 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="weather_iconsregular" horiz-adv-x="2548" >
<font-face units-per-em="2048" ascent="1755" descent="-293" />
<missing-glyph horiz-adv-x="685" />
<glyph horiz-adv-x="2048" />
<glyph horiz-adv-x="2048" />
<glyph unicode="&#xd;" horiz-adv-x="2048" />
<glyph unicode=" " horiz-adv-x="685" />
<glyph unicode="&#x09;" horiz-adv-x="685" />
<glyph unicode="&#xa0;" horiz-adv-x="685" />
<glyph unicode="&#x2000;" horiz-adv-x="1122" />
<glyph unicode="&#x2001;" horiz-adv-x="2245" />
<glyph unicode="&#x2002;" horiz-adv-x="1122" />
<glyph unicode="&#x2003;" horiz-adv-x="2245" />
<glyph unicode="&#x2004;" horiz-adv-x="748" />
<glyph unicode="&#x2005;" horiz-adv-x="561" />
<glyph unicode="&#x2006;" horiz-adv-x="374" />
<glyph unicode="&#x2007;" horiz-adv-x="374" />
<glyph unicode="&#x2008;" horiz-adv-x="280" />
<glyph unicode="&#x2009;" horiz-adv-x="449" />
<glyph unicode="&#x200a;" horiz-adv-x="124" />
<glyph unicode="&#x202f;" horiz-adv-x="449" />
<glyph unicode="&#x205f;" horiz-adv-x="561" />
<glyph unicode="&#xe000;" horiz-adv-x="571" d="M0 0z" />
<glyph unicode="&#xf000;" d="M-287 90q0 -38 29 -64q27 -27 65 -27h627q41 0 72.5 -30t31.5 -73t-31.5 -74t-72.5 -31t-73 32q-29 26 -65 26q-38 0 -64 -25.5t-26 -63.5t26 -64q85 -85 202 -85q118 0 201 83.5t83 201.5t-83 202t-201 84h-627q-38 0 -66 -27.5t-28 -64.5zM-287 411q0 -35 29 -61 q27 -27 65 -27h1170q118 0 201.5 83.5t83.5 201.5t-83 200t-202 82q-121 0 -201 -81q-25 -26 -25 -65t24.5 -63.5t63.5 -24.5q38 0 66 25q30 30 72 30t72.5 -30t30.5 -73t-30.5 -74t-72.5 -31h-1170q-38 0 -66 -27.5t-28 -64.5zM-3 662q0 -13 17 -13h153q12 0 22 15 q36 87 111.5 143.5t169.5 63.5l56 8q20 0 20 18l7 55q17 173 146 289t304 116q176 0 305.5 -115.5t147.5 -289.5l7 -62q0 -19 19 -19h174q144 0 245.5 -100.5t101.5 -242.5q0 -143 -101.5 -244.5t-245.5 -101.5h-736q-19 0 -19 -19v-146q0 -18 19 -18h736q143 0 264.5 71 t192 193t70.5 265q0 118 -45 216q121 159 121 353q0 150 -75 279t-204 204.5t-279 75.5q-248 0 -413 -185q-128 65 -285 65q-225 0 -398 -139.5t-220 -356.5q-136 -32 -240.5 -131t-145.5 -234v-4q-2 -3 -2 -9zM869 1838q0 -38 28 -64l65 -69q26 -26 65 -26q40 0 65.5 24.5 t25.5 64.5q0 38 -24 64l-70 69q-25 28 -63 28t-65 -26.5t-27 -64.5zM1437 1368q115 109 264 109q155 0 267 -112t112 -268q0 -104 -55 -195q-153 153 -369 153h-35q-38 173 -184 313zM1609 1927q0 -37 27 -62.5t65 -25.5t64.5 25.5t26.5 62.5v218q0 38 -26.5 65t-64.5 27 t-65 -27t-27 -65v-218zM2201 1685q0 -39 24 -64q27 -27 65 -27.5t61 27.5l156 153q27 27 27 65q0 37 -27 64t-65 27t-64 -26l-153 -157q-24 -25 -24 -62zM2283 423q0 -37 27 -64l68 -69q32 -26 67 -26q30 0 62 26q27 27 27 64q0 35 -27 65l-68 69q-26 26 -62 26 q-40 0 -67 -26.5t-27 -64.5zM2445 1097q0 -39 26 -63q24 -28 62 -28h216q37 0 64 27t27 64q0 38 -27 65t-64 27h-216q-38 0 -63 -27t-25 -65z" />
<glyph unicode="&#xf001;" d="M-253 94q0 -38 27 -65q70 -29 93 -29h840q38 0 65 27.5t27 65.5q0 37 -27 62.5t-65 25.5h-840q-42 0 -81 -25.5t-39 -61.5zM-104 414q0 -38 27 -63q24 -28 62 -28h1004q38 0 64.5 26.5t26.5 64.5t-26.5 65t-64.5 27h-1004q-37 0 -63 -27t-26 -65zM8 667q0 -14 18 -14h149 q19 0 23 14q41 85 115.5 140.5t168.5 66.5h59q17 0 17 20l8 60q16 173 146 290t306 117q174 0 304.5 -117t148.5 -290l8 -60q0 -20 18 -20h172q142 0 245 -102t103 -242q0 -144 -102.5 -246.5t-245.5 -102.5h-735q-19 0 -19 -20v-142q0 -19 19 -19h735q144 0 266 71t193 193 t71 266q0 114 -47 214q125 155 125 350q0 150 -76 279t-205.5 204.5t-280.5 75.5q-117 0 -223.5 -47.5t-185.5 -133.5q-132 69 -288 69q-226 0 -401 -140t-223 -358q-136 -34 -239.5 -133.5t-144.5 -235.5q-2 -2 -2 -7zM85 -246q0 -39 27 -63q26 -27 63 -27h1004 q37 0 63.5 26.5t26.5 63.5q0 40 -26 66.5t-64 26.5h-1004q-38 0 -64 -26.5t-26 -66.5zM882 1835q0 -39 27 -64l67 -70q26 -26 64 -26q41 0 67 25.5t26 65.5q0 36 -27 63l-68 69q-27 27 -62 27q-40 0 -67 -26.5t-27 -63.5zM1455 1368q106 101 260 101q156 0 265.5 -109.5 t109.5 -265.5q0 -107 -49 -193q-151 152 -372 152h-32q-46 184 -182 315zM1625 1925q0 -38 26.5 -63t63.5 -25q40 0 65 25t25 63v218q0 39 -25.5 65.5t-64.5 26.5q-37 0 -63.5 -27t-26.5 -65v-218zM2215 1681q0 -39 26 -64q20 -26 64 -26q43 0 63 26l157 154q26 24 26 66 q0 37 -27 63.5t-65 26.5t-65 -25l-153 -158q-26 -25 -26 -63zM2299 416q0 -38 26 -64l69 -67q39 -29 65 -29q27 0 66 29q26 26 26 64q0 37 -26 65l-69 65q-30 28 -69 28q-38 0 -63 -26t-25 -65zM2454 1090q0 -40 28 -65q29 -27 64 -27h217q36 0 63 27t27 65q0 36 -26.5 60.5 t-63.5 24.5h-217q-39 0 -65.5 -24.5t-26.5 -60.5z" />
<glyph unicode="&#xf002;" d="M8 528q0 -144 70.5 -266t191.5 -192.5t264 -70.5h1155q143 0 265 70.5t193 192.5t71 266q0 106 -45 213q122 149 122 353q0 114 -44 217.5t-119 178.5t-178.5 119t-217.5 44q-237 0 -414 -186q-124 70 -288 70q-225 0 -398 -139.5t-222 -357.5q-179 -41 -292.5 -184 t-113.5 -328zM190 528q0 134 89.5 231t224.5 113l53 3q20 0 20 19l7 58q22 173 150 289.5t300 116.5q176 0 306.5 -117t146.5 -289l8 -62q4 -18 22 -18h172q141 0 243 -102t102 -242q0 -145 -101.5 -247.5t-243.5 -102.5h-1155q-140 0 -242 103.5t-102 246.5zM905 1837 q0 -39 26 -67l70 -68q40 -30 68 -27q33 0 59 27.5t26 66.5t-28 63l-63 70q-29 26 -65 26q-39 0 -66 -26.5t-27 -64.5zM1475 1365q111 107 261 107q158 0 268.5 -110t110.5 -268q0 -100 -54 -196q-155 153 -372 153h-34q-40 174 -180 314zM1648 1928q0 -41 25 -66t63 -25 q41 0 66 25t25 66v218q0 38 -25.5 63t-65.5 25q-38 0 -63 -25t-25 -63v-218zM2237 1683q0 -41 24 -66q34 -26 66 -26q29 0 63 26l153 153q26 29 26 68q0 38 -26 64t-63 26q-38 0 -62 -26l-157 -153q-24 -28 -24 -66zM2322 421q0 -38 27 -67l69 -67q24 -26 62 -26t63.5 26.5 t25.5 66.5q0 36 -26 62l-69 69q-26 26 -61 26q-38 0 -64.5 -26t-26.5 -64zM2478 1094q0 -37 28 -62q26 -26 65 -26h218q37 0 61.5 25t24.5 63t-24.5 64.5t-61.5 26.5h-218q-38 0 -65.5 -27t-27.5 -64z" />
<glyph unicode="&#xf003;" d="M-290 85q0 -38 26.5 -63t66.5 -25h1997q38 0 64.5 25.5t26.5 62.5q0 38 -26.5 64.5t-64.5 26.5h-1997q-40 0 -66.5 -26.5t-26.5 -64.5zM-10 419q0 -37 27 -62q27 -29 64 -29h1997q37 0 62.5 26.5t25.5 64.5q0 37 -25 62.5t-63 25.5h-1997q-38 0 -64.5 -25.5t-26.5 -62.5z M2 675q0 -14 17 -14h154q10 0 21 17q38 83 113.5 136t166.5 60l59 8q18 0 18 19l7 54q17 173 146.5 289t304.5 116q173 0 302 -115t147 -286l8 -62q0 -18 21 -18h171q103 0 187.5 -55t125.5 -146q11 -17 22 -17h153q22 0 15 24l-22 59q122 151 122 353q0 113 -44 216 t-118 178t-178 119t-218 44q-247 0 -408 -179q-135 67 -286 67q-224 0 -399 -141t-224 -359q-284 -75 -381 -357q-3 -5 -3 -10zM176 -243q0 -38 29 -64q25 -28 62 -28h1999q38 0 65 27.5t27 64.5t-27 61.5t-65 24.5h-1999q-38 0 -64.5 -24.5t-26.5 -61.5zM877 1834 q0 -38 25 -63l68 -68q27 -29 63 -29t63 26.5t27 65.5t-26 67l-68 65q-26 28 -64 28q-39 0 -63.5 -26.5t-24.5 -65.5zM1443 1367q108 108 260 108q157 0 267.5 -111t110.5 -267q0 -104 -52 -192q-152 152 -371 152h-35q-44 186 -180 310zM1615 1925q0 -37 25.5 -62.5 t62.5 -25.5q40 0 67 25.5t27 62.5v218q0 37 -28 64t-66 27q-37 0 -62.5 -26.5t-25.5 -64.5v-218zM2201 1682q0 -37 25 -64q59 -58 132 0l152 153q26 28 26 68q0 37 -26 63t-63 26q-38 0 -64 -26l-157 -157q-25 -27 -25 -63zM2287 424q0 -38 27 -64l69 -69q26 -26 62 -26 q33 0 65 26q26 28 26 68q0 36 -26 60l-69 70q-28 26 -64 26q-38 0 -64 -26.5t-26 -64.5zM2445 1097q0 -39 28 -64q24 -27 63 -27h218q37 0 62.5 26.5t25.5 64.5t-25.5 64t-62.5 26h-218q-38 0 -64.5 -26.5t-26.5 -63.5z" />
<glyph unicode="&#xf004;" d="M1 530q0 -214 149 -367.5t363 -163.5q20 0 20 18v143q0 19 -20 19q-137 7 -233.5 109.5t-96.5 241.5q0 133 90.5 231t224.5 114l57 4q21 0 21 19l7 59q17 173 146.5 289.5t305.5 116.5q174 0 305.5 -116.5t149.5 -289.5l8 -62q0 -20 19 -20h172q143 0 247.5 -102.5 t104.5 -242.5q0 -139 -97 -241.5t-234 -109.5q-21 0 -21 -19v-143q0 -18 21 -18q214 7 362.5 161.5t148.5 369.5q0 116 -45 214q126 154 126 355q0 151 -75.5 280.5t-205 205.5t-280.5 76q-250 0 -416 -187q-128 70 -290 70q-226 0 -401.5 -140t-225.5 -359 q-177 -42 -292 -186t-115 -329zM570 -223q16 -35 49 -48q32 -16 67.5 -2.5t47.5 47.5q16 35 2.5 69t-47.5 47q-32 17 -66 3t-50 -50q-16 -28 -3 -66zM639 80q0 -22 10 -41q31 -49 95 -49q51 0 74 69l111 343q13 39 -7.5 71.5t-58.5 39.5q-35 11 -67.5 -6.5t-43.5 -53.5 l-110 -344q-3 -15 -3 -29zM838 -519q0 -21 5 -31q14 -35 48 -48q15 -8 37 -8q10 0 32 6q35 13 50.5 48.5t-0.5 70.5t-48 48.5t-66 -0.5q-31 -12 -44.5 -37.5t-13.5 -48.5zM903 1843q0 -40 26 -64l69 -69q26 -26 58 -29q33 -5 65.5 24.5t32.5 68.5q0 38 -26 64l-67 68 q-30 27 -67 27q-39 0 -65 -26t-26 -64zM917 -232q0 -26 16.5 -51t50.5 -35q18 -4 26 -4q24 0 41 8q32 13 46 61l192 655q11 38 -6 69.5t-53 41.5q-38 11 -70 -6t-43 -54l-197 -660q-3 -15 -3 -25zM1285 -191q0 -22 6 -33q14 -33 48 -47q17 -8 37 -8q10 0 32 6q36 14 49 47 q13 35 0.5 67.5t-44.5 48.5q-36 17 -70.5 3t-51.5 -50q-6 -11 -6 -34zM1361 83q0 -25 16.5 -48.5t49.5 -33.5q13 -3 27 -3q62 0 84 65l110 339q12 37 -7 69t-55 42q-38 11 -68.5 -6t-42.5 -54l-109 -341q-5 -22 -5 -29zM1475 1371q107 103 266 103q156 0 266.5 -109.5 t110.5 -265.5q0 -100 -55 -197q-153 154 -374 154h-33q-47 185 -181 315zM1648 1933q0 -38 27.5 -65t65.5 -27q37 0 62.5 27t25.5 65v220q0 38 -25.5 65t-62.5 27q-38 0 -65.5 -27t-27.5 -65v-220zM2240 1689q0 -39 27 -64q24 -28 61.5 -27.5t64.5 27.5l154 154q29 24 29 64 q0 38 -27.5 65t-65.5 27q-35 0 -61 -29l-155 -153q-27 -25 -27 -64zM2326 419q0 -36 26 -64l70 -67q23 -29 64 -29q38 0 61 29q29 26 29 64t-29 65l-69 66q-25 28 -62 28t-63.5 -27t-26.5 -65zM2482 1099q0 -38 28 -64q28 -28 66 -28h217q38 0 65.5 27t27.5 65 q0 37 -27 62.5t-66 25.5h-217q-40 0 -67 -25.5t-27 -62.5z" />
<glyph unicode="&#xf005;" d="M5 528q0 -213 148 -366t362 -163q19 0 19 18v146q0 19 -19 19q-139 11 -234 110.5t-95 235.5q0 134 91 233.5t224 110.5l56 8q20 0 20 18l7 54q17 173 146.5 289.5t304.5 116.5q174 0 304 -116t149 -290l7 -62q0 -18 19 -18h172q145 0 247 -101t102 -243 q0 -136 -95 -235.5t-234 -110.5q-20 0 -20 -19v-146q0 -18 20 -18q213 7 361 161t148 368q0 108 -50 221q126 150 126 349q0 114 -44.5 217.5t-119 178.5t-178 119t-216.5 44q-247 0 -414 -185q-137 66 -284 66q-227 0 -401.5 -139t-223.5 -359q-176 -41 -290.5 -184.5 t-114.5 -327.5zM805 -674h32l566 837q6 7 3 14.5t-14 7.5h-233l244 449q12 23 -14 23h-315q-13 0 -23 -15l-229 -610q-4 -22 15 -22h230zM898 1841q0 -39 27 -66l69 -69q67 -51 129 0q27 30 27 68q0 36 -27 63l-67 69q-30 27 -66 27q-38 0 -65 -27.5t-27 -64.5zM1469 1369 q109 109 264 109q156 0 266 -111t110 -269q0 -97 -54 -193q-156 150 -369 150h-33q-43 182 -184 314zM1641 1933q0 -40 26 -66t66 -26q38 0 63 25.5t25 66.5v218q0 38 -25 63t-63 25t-65 -25t-27 -63v-218zM2230 1686q0 -38 28 -64q29 -27 60 -27q26 0 66 27l153 153 q28 30 28 67q0 39 -27 65t-65 26q-35 0 -62 -27l-153 -153q-28 -30 -28 -67zM2317 425q0 -37 26 -65l68 -70q26 -26 62 -26q38 0 65 27.5t27 66.5q0 35 -28 61l-65 70q-30 25 -66 25q-38 0 -63.5 -26t-25.5 -63zM2472 1098q0 -36 27 -61q27 -27 64 -27h219q38 0 64.5 25.5 t26.5 62.5q0 38 -27 65t-64 27h-219q-37 0 -64 -27t-27 -65z" />
<glyph unicode="&#xf006;" d="M1 523q0 -212 146 -363t360 -161q19 0 19 18v142q0 19 -19 19q-137 7 -231 106.5t-94 238.5q0 135 90 234t224 110l56 8q17 0 17 15l8 59q20 175 147.5 290t302.5 115t305.5 -115t147.5 -287l7 -62q4 -18 23 -18h171q142 0 244 -102.5t102 -246.5q0 -139 -94 -238.5 t-231 -106.5q-21 0 -21 -19v-142q0 -18 21 -18q213 7 359 159t146 365q0 108 -41 214q124 154 124 357q0 113 -44 216.5t-119 178.5t-178.5 119.5t-217.5 44.5q-246 0 -412 -186q-143 70 -292 70q-226 0 -398.5 -140t-221.5 -360q-180 -41 -293 -184.5t-113 -329.5z M573 -227q0 -27 17 -54t50 -37q37 -11 68.5 4t42.5 60l15 65q8 36 -10 67.5t-55 42.5q-36 11 -68.5 -8t-42.5 -57l-15 -63q-2 -6 -2 -20zM654 82q0 -35 26 -61q25 -27 61 -27q38 0 64 25.5t26 62.5t-26 62.5t-64 25.5q-37 0 -62 -25t-25 -63zM719 325q-2 -25 14 -48.5 t51 -34.5q33 -10 66.5 7.5t44.5 54.5l30 96q12 39 -7.5 69.5t-58.5 41.5q-35 11 -67 -7t-43 -53l-27 -98q-3 -27 -3 -28zM842 -560q0 -27 17 -52.5t52 -35.5q14 -3 26 -3q69 0 85 65l15 63q10 40 -9 72.5t-57 39.5q-34 11 -66.5 -7.5t-43.5 -54.5l-15 -63q-4 -18 -4 -24z M902 1834q0 -38 26 -64l70 -68q22 -25 57.5 -27.5t66.5 27.5q27 27 27 63q0 37 -27 64l-67 69q-25 25 -63 28q-37 0 -63.5 -27t-26.5 -65zM926 -250q0 -36 26 -62t62 -26q38 0 63 25t25 63q0 37 -25 62t-63 25t-63 -25t-25 -62zM992 -8q-2 -24 14.5 -50t48.5 -32 q37 -10 68 6t44 60l28 96q11 35 -7.5 67t-56.5 43q-35 11 -68 -8.5t-44 -56.5l-24 -96q-3 -14 -3 -29zM1287 -237q0 -27 16 -51.5t49 -34.5q5 0 15 -2t15 -2q65 0 81 70l15 64q11 34 -7.5 67t-54.5 44q-39 10 -71.5 -8.5t-43.5 -56.5l-11 -63q0 -2 -1.5 -12t-1.5 -15z M1366 78q0 -37 26 -61q24 -26 62 -26t63 25t25 62q0 38 -25 63t-63 25t-63 -25t-25 -63zM1431 325q0 -27 17.5 -51.5t52.5 -34.5q3 0 12.5 -2t14.5 -2q17 0 39 10q33 17 43 56l27 96q10 36 -8 67.5t-54 42.5q-37 11 -68.5 -6t-42.5 -54l-30 -97q0 -3 -1.5 -11.5t-1.5 -13.5z M1469 1361q106 106 262 106q158 0 269 -108.5t111 -264.5q0 -106 -57 -200q-157 157 -373 157h-33q-45 176 -179 310zM1645 1923q0 -37 24.5 -61.5t61.5 -24.5q39 0 66 24.5t27 61.5v220q0 37 -27.5 64t-65.5 27q-37 0 -61.5 -26.5t-24.5 -64.5v-220zM2233 1681 q0 -40 24 -64q57 -57 129 0l153 153q27 27 27 67q0 38 -26.5 64.5t-64.5 26.5q-37 0 -65 -26l-153 -158q-24 -23 -24 -63zM2317 417q0 -38 28 -63l65 -67q32 -26 65 -26q32 0 64 26q27 25 27 63q0 36 -27 66l-69 65q-24 27 -61 27t-64 -27q-28 -26 -28 -64zM2474 1094 q0 -38 28 -63q29 -29 66 -29h216q37 0 62.5 27t25.5 65t-25.5 64.5t-62.5 26.5h-216q-38 0 -66 -27t-28 -64z" />
<glyph unicode="&#xf007;" d="M-3 527q0 -180 106.5 -321.5t274.5 -188.5q16 -2 27 8l124 150q-143 0 -244.5 103.5t-101.5 248.5q0 134 90 231.5t225 113.5l53 3q20 0 20 20l8 58q17 173 147 290t306 117t307 -117t148 -290l7 -63q7 -18 23 -18h174q141 0 243.5 -101.5t102.5 -243.5 q0 -135 -90.5 -236t-220.5 -112q-78 -9 -96 -30l-235 -301q-22 -30 -17 -67t33 -60q24 -27 63.5 -22t63.5 38l206 262q98 10 185.5 56t150.5 116t100 163t37 193q0 117 -44 214q125 151 125 355q0 113 -44.5 217t-120 179t-179.5 120t-218 45q-241 0 -415 -186 q-127 70 -289 70q-226 0 -400.5 -140.5t-221.5 -359.5q-181 -41 -297 -185t-116 -329zM413 -352q12 -35 49 -51q35 -16 71 -1t49 50q15 33 0.5 66.5t-47.5 49.5q-35 16 -70.5 2t-48.5 -49q-13 -41 -3 -67zM606 -59v-12q3 -35 32 -59q28 -24 67 -21t61 31l233 301 q23 29 19.5 67.5t-31.5 60.5q-29 24 -67 20t-64 -33l-230 -299q-20 -25 -20 -56zM661 -578q0 -14 5 -32q14 -35 49 -49q18 -7 38 -7q15 0 33 5q34 13 47 47q16 35 3 71t-47 49q-35 16 -71.5 1.5t-48.5 -48.5q-8 -17 -8 -37zM839 -325v-11q3 -37 34 -62q24 -26 64 -21.5 t64 36.5l442 558q22 32 18.5 68.5t-32.5 62.5q-29 23 -66 18.5t-60 -33.5l-445 -561q-19 -23 -19 -55zM901 1839q0 -39 28 -63l65 -70q25 -25 59 -28q33 -5 65.5 24t32.5 68q0 36 -26 64l-69 69q-24 26 -63 26q-38 0 -65 -26t-27 -64zM1215 -447q0 -19 7 -33q14 -35 48 -49 q17 -8 36 -8q10 0 32 6q36 14 49 49q16 35 3 70.5t-47 48.5q-35 16 -71.5 2t-49.5 -48q-7 -18 -7 -38zM1472 1368q113 103 264 103q158 0 270 -109.5t112 -265.5q0 -106 -55 -198q-155 155 -372 155h-35q-44 184 -184 315zM1645 1929q0 -37 26.5 -62.5t64.5 -25.5 q39 0 66 25.5t27 62.5v221q0 37 -27.5 64t-65.5 27t-64.5 -26.5t-26.5 -64.5v-221zM2240 1686q0 -38 24 -64q28 -27 65.5 -27.5t60.5 27.5l159 154q26 26 26 65q0 37 -27.5 65t-65.5 28q-35 0 -64 -27l-154 -157q-24 -26 -24 -64zM2322 416q0 -37 27 -64l69 -67 q26 -26 59 -29h5q29 0 67 29q26 26 26 62q0 38 -26 67l-70 66q-25 27 -63 27q-40 0 -67 -26.5t-27 -64.5zM2482 1096q0 -37 27 -64q26 -29 64 -29h218q37 0 64 27.5t27 65.5q0 37 -26.5 62.5t-64.5 25.5h-218q-38 0 -64.5 -25.5t-26.5 -62.5z" />
<glyph unicode="&#xf008;" d="M5 529q0 -213 148.5 -366.5t363.5 -163.5q18 0 18 18v143q0 18 -18 18q-137 7 -234 109.5t-97 241.5q0 132 91 230t225 114l56 5q20 0 20 18l7 58q17 173 147 290t305 117q174 0 304.5 -117t148.5 -290l8 -61q0 -20 19 -20h172q142 0 246 -102t104 -242 q0 -139 -96 -241.5t-233 -109.5q-21 0 -21 -18v-143q0 -18 21 -18q213 7 361 161.5t148 368.5q0 117 -44 214q124 154 124 353q0 152 -75.5 281.5t-204.5 204.5t-280 75q-248 0 -413 -186q-131 70 -289 70q-226 0 -401.5 -140.5t-224.5 -358.5q-177 -42 -291.5 -185.5 t-114.5 -327.5zM581 -202q0 -27 17 -52.5t52 -35.5q18 -4 30 -4q62 0 81 68l169 627q11 38 -8.5 71t-56.5 40q-35 11 -67.5 -7t-43.5 -54l-169 -630q-4 -16 -4 -23zM858 -531q0 -30 16 -55.5t55 -31.5q18 -4 29 -4q25 0 47.5 18.5t28.5 51.5l256 953q10 37 -7 68.5t-53 42.5 q-37 11 -69.5 -7t-42.5 -54l-256 -953q0 -3 -2 -13.5t-2 -15.5zM904 1840q0 -39 26 -65l70 -70q32 -24 65 -24q34 0 62 25t28 63q0 39 -26 68l-67 69q-29 27 -64 27q-40 0 -67 -27.5t-27 -65.5zM1302 -205q0 -26 16.5 -50.5t49.5 -34.5q18 -4 26 -4q29 0 53.5 15.5 t31.5 52.5l169 627q10 37 -8 68.5t-54 42.5q-38 11 -69.5 -7t-41.5 -54l-169 -630q-4 -18 -4 -26zM1475 1368q113 107 264 107q157 0 267.5 -110.5t110.5 -268.5q0 -100 -55 -197q-155 155 -373 155h-34q-45 185 -180 314zM1648 1928q0 -37 26.5 -62.5t64.5 -25.5 q37 0 62.5 25t25.5 63v219q0 41 -25 67t-63 26q-40 0 -65.5 -26.5t-25.5 -66.5v-219zM2238 1685q0 -39 28 -63q22 -25 59 -27.5t67 27.5l153 153q29 27 29 67q0 39 -27 65t-66 26q-33 0 -62 -27l-153 -154q-28 -27 -28 -67zM2325 421q0 -38 26 -67l68 -67q28 -22 64 -22 l3 -2q36 0 62 26t26 65q0 38 -29 62l-65 70q-29 26 -66 26t-63 -26.5t-26 -64.5zM2480 1096q0 -39 27 -63q28 -28 67 -28h217q37 0 64 26.5t27 64.5t-27 65.5t-64 27.5h-217q-38 0 -66 -27.5t-28 -65.5z" />
<glyph unicode="&#xf009;" d="M1 530q0 -213 148.5 -365.5t362.5 -163.5q18 0 18 18v143q0 19 -18 19q-136 7 -231 108.5t-95 240.5q0 133 90 230.5t225 113.5l52 4q21 0 21 19l7 57q17 173 146.5 289.5t304.5 116.5t305 -116.5t146 -289.5l8 -61q0 -19 19 -19h178q140 0 242 -102t102 -242 q0 -136 -95.5 -237t-230.5 -112q-18 0 -18 -19v-143q0 -18 18 -18q140 4 256 76.5t182.5 192t66.5 260.5q0 114 -44 209q121 150 121 350q0 114 -44 217.5t-119 178.5t-178.5 119t-217.5 44q-241 0 -406 -177q-127 68 -291 68q-226 0 -399 -139.5t-220 -357.5 q-180 -41 -296 -184t-116 -328zM579 -184q0 -29 17 -56.5t49 -38.5q31 -11 65.5 6.5t46.5 58.5l26 112q11 33 -7.5 66.5t-54.5 44.5q-40 10 -72 -9t-39 -57l-29 -106q-2 -14 -2 -21zM718 319q0 -61 68 -84q35 -12 68 5.5t44 56.5l27 110q11 33 -7.5 66t-54.5 45 q-39 10 -71 -8.5t-39 -55.5l-32 -109q-3 -14 -3 -26zM848 -522q0 -26 18 -53t52 -38q1 0 10.5 -1.5t15.5 -1.5q22 0 39 8q30 13 44 62l29 106q11 37 -7.5 69.5t-54.5 42.5q-37 11 -69.5 -7.5t-42.5 -54.5l-29 -109q-5 -20 -5 -23zM897 1832q0 -40 28 -66l69 -69 q54 -54 125 0q26 28 26 65t-26 65l-66 70q-26 26 -64 26t-65 -27t-27 -64zM992 -11q0 -27 17 -54t50 -37q37 -11 68 5t43 60l27 108q11 37 -7 69.5t-54 43.5q-40 11 -72.5 -8.5t-39.5 -56.5l-30 -110q-2 -6 -2 -20zM1289 -195q4 -59 68 -88l26 -4q26 0 51 17t35 53l30 108 q10 38 -9.5 70.5t-56.5 39.5q-33 11 -66 -7.5t-44 -54.5l-29 -109zM1438 313q0 -26 16.5 -51.5t48.5 -34.5l27 -3q31 0 55 19t30 50l30 106q11 37 -7.5 69t-54.5 42q-37 11 -68.5 -6.5t-41.5 -53.5l-32 -113q-3 -13 -3 -24zM1473 1365q106 102 256 102q157 0 268.5 -110.5 t111.5 -267.5q0 -88 -51 -188q-153 153 -370 153h-35q-43 180 -180 311zM1638 1923q0 -40 25.5 -65.5t65.5 -25.5t66 25.5t26 65.5v215q0 40 -26 66t-66 26t-65.5 -26t-25.5 -66v-215zM2230 1678q0 -40 24 -65q33 -27 66 -27q30 0 63 27l153 153q26 29 26 67t-26 64t-63 26 t-65 -26l-154 -153q-24 -28 -24 -66zM2314 416q0 -37 28 -67l66 -68q33 -33 66 -33q30 0 62 33q29 29 28 65.5t-28 63.5l-69 70q-26 26 -61 26q-38 0 -65 -26.5t-27 -63.5zM2471 1089q0 -36 26 -62t62 -26h218q41 0 67 25t26 63q0 40 -26.5 66t-66.5 26h-218 q-37 0 -62.5 -27t-25.5 -65z" />
<glyph unicode="&#xf00a;" d="M1 525q0 -138 68 -257t185.5 -191t256.5 -76q18 0 18 18v142q0 20 -18 20q-136 7 -232.5 108.5t-96.5 235.5q0 132 90.5 230t223.5 114l56 6q19 0 19 20l8 54q17 175 146 291.5t304 116.5q174 0 304 -116.5t147 -288.5l8 -62q0 -18 18 -18h172q144 0 246 -102.5 t102 -244.5q0 -134 -96.5 -235.5t-231.5 -108.5q-20 0 -20 -20v-142q0 -18 20 -18q212 7 360 160t148 364q0 121 -46 217q126 151 126 352q0 150 -75 278.5t-204 203.5t-279 75q-246 0 -413 -185q-130 70 -286 70q-225 0 -399.5 -139.5t-223.5 -356.5q-179 -44 -292 -187 t-113 -328zM678 93q0 -38 25.5 -65t62.5 -27t62.5 27t25.5 65q0 36 -25.5 62t-62.5 26t-62.5 -26t-25.5 -62zM678 -294q0 -33 26 -61q28 -26 62 -26q38 0 63 25t25 62q0 38 -25 63t-63 25t-63 -25t-25 -63zM896 1832q0 -39 26 -63l70 -70q26 -26 57 -27q33 -5 65 23.5 t32 67.5t-26 68l-67 65q-24 27 -63 27q-40 0 -67 -26.5t-27 -64.5zM1017 -112q0 -36 26 -64q26 -26 62 -26q38 0 65 26t27 64q0 37 -27 63.5t-65 26.5q-36 0 -62 -26.5t-26 -63.5zM1017 272q0 -36 26 -62t62 -26q38 0 65 25.5t27 62.5t-27 63t-65 26q-36 0 -62 -26t-26 -63z M1017 -502q0 -35 26 -61q27 -27 62 -27q38 0 65 25t27 63q0 37 -27 64t-65 27q-35 0 -61.5 -27t-26.5 -64zM1361 93q0 -38 26 -65t63 -27t62.5 27t25.5 65q0 36 -25.5 62t-62.5 26t-63 -26t-26 -62zM1361 -294q0 -34 25 -61q28 -26 64 -26q38 0 63 25t25 62q0 38 -25 63 t-63 25t-63.5 -25.5t-25.5 -62.5zM1465 1365q110 106 263 106q155 0 265 -111t110 -266q0 -100 -54 -196q-153 153 -371 153h-33q-47 186 -180 314zM1637 1921q0 -37 26.5 -62t64.5 -25t63 25t25 62v218q0 38 -25.5 65t-62.5 27t-64 -27t-27 -65v-218zM2224 1679 q0 -37 27 -63q24 -25 59.5 -27.5t66.5 27.5l153 153q28 28 28 65q0 38 -27 65t-65 27q-34 0 -61 -27l-154 -156q-27 -25 -27 -64zM2310 421q0 -40 26 -66l69 -67q39 -26 67 -26q33 0 59.5 27.5t26.5 65.5q0 36 -28 62l-66 69q-28 26 -65 26t-63 -26.5t-26 -64.5zM2464 1094 q0 -37 29 -63q27 -29 65 -29h216q37 0 64 27t27 65t-26.5 64.5t-64.5 26.5h-216q-38 0 -66 -27t-28 -64z" />
<glyph unicode="&#xf00b;" d="M-2 529q0 -139 67.5 -258.5t184.5 -191.5t256 -78q20 0 20 18v142q0 20 -20 20q-136 7 -232 108.5t-96 239.5q0 132 90 229.5t223 113.5l56 3q21 0 21 19l8 58q17 173 145.5 289t303.5 116q172 0 302.5 -116.5t149.5 -288.5l6 -62q0 -18 19 -18h172q141 0 245 -102 t104 -241q0 -138 -96 -239.5t-233 -108.5q-20 0 -20 -20v-142q0 -18 20 -18q139 4 256 76.5t184 192.5t67 259q0 118 -44 213q124 152 124 352q0 151 -75 279.5t-203 203t-278 74.5q-248 0 -413 -185q-131 70 -287 70q-225 0 -399.5 -139.5t-223.5 -356.5 q-176 -42 -290 -185t-114 -326zM627 435q0 -61 45.5 -104t108.5 -43q64 0 106.5 42.5t42.5 104.5q0 40 -37 107.5t-69 105.5q-34 36 -43 45l-38 -43q-43 -46 -79.5 -110t-36.5 -105zM893 1834q0 -41 26 -65l68 -70q68 -51 130 0q26 31 26 68t-26 63l-68 69q-30 27 -65 27 q-39 0 -65 -27t-26 -65zM945 13q0 -105 72.5 -176.5t175.5 -71.5q104 0 176.5 73t72.5 175q0 87 -85 210q-74 97 -136 159q-13 9 -28 24l-25 -24q-57 -52 -136 -157q-87 -121 -87 -212zM1102 719q0 -40 30.5 -69t73.5 -29q41 0 70 29t29 69q0 66 -99 171l-27 -27 q-29 -31 -53 -74t-24 -70zM1462 1365q106 106 263 106q156 0 265 -110t109 -267q0 -96 -54 -196q-154 153 -371 153h-34q-46 186 -178 314zM1633 1926q0 -38 27.5 -65t64.5 -27t61.5 27t24.5 65v217q0 38 -24.5 63t-61.5 25q-38 0 -65 -25t-27 -63v-217zM2221 1679 q0 -39 27 -63q28 -26 59 -26q29 0 66 26l153 153q28 28 28 66q0 39 -26.5 65t-64.5 26q-35 0 -62 -27l-153 -153q-27 -27 -27 -67zM2306 423q0 -40 25 -68l70 -62q23 -29 63 -29q39 0 62 29q28 25 28 62q0 36 -28 62l-65 69q-28 26 -66 26q-37 0 -63 -26t-26 -63zM2461 1094 q0 -36 27 -62q28 -26 66 -26h216q38 0 65 25.5t27 62.5t-27 64t-65 27h-216q-38 0 -65.5 -27t-27.5 -64z" />
<glyph unicode="&#xf00c;" horiz-adv-x="1971" d="M-282 899q0 -43 30 -71t77 -28h180q43 0 73.5 28.5t30.5 70.5q0 46 -30 76t-74 30h-180q-47 0 -77 -29.5t-30 -76.5zM-94 239q0 -155 113.5 -268.5t268.5 -113.5h731q155 0 265.5 112t110.5 270q0 79 -21 131q133 85 210.5 226.5t77.5 302.5q0 130 -51 248.5t-136.5 204 t-204 136.5t-247.5 51q-175 0 -322.5 -86t-232 -233t-84.5 -321v-36q-160 -91 -211 -266q-121 -38 -194 -135t-73 -223zM73 1750q0 -45 28 -72l172 -180q75 -57 150 0q30 30 30 75q0 43 -30 75l-176 175q-34 31 -74 31q-45 0 -72.5 -30t-27.5 -74zM118 239q0 67 43 115 t109 54l66 9q21 0 21 24l10 60q11 92 77.5 154t157.5 62q93 0 161.5 -62t79.5 -154l10 -69q10 -24 26 -24h140q69 0 120 -50t51 -119q0 -71 -51 -122.5t-120 -51.5h-731q-72 0 -121 51t-49 123zM590 921q11 175 135 294t298 119q178 0 302.5 -127t124.5 -308 q0 -112 -54 -207.5t-147 -154.5q-94 78 -217 78q-47 140 -164.5 223t-265.5 83h-12zM919 1854q0 -44 30.5 -74.5t73.5 -30.5q44 0 74.5 30.5t30.5 74.5v250q0 42 -30.5 70.5t-74.5 28.5q-43 0 -73.5 -28.5t-30.5 -70.5v-250zM1593 230q0 -43 29 -75l175 -173q66 -68 149 0 q29 27 29 72q0 42 -29 71l-179 179q-29 27 -73 27t-72.5 -29t-28.5 -72zM1593 1575q0 -45 29 -77q29 -29 72 -29q44 0 73 29l179 180q29 27 29 72q0 44 -30.5 74t-74.5 30q-42 0 -73 -31l-175 -175q-29 -29 -29 -73zM1869 899q0 -43 30 -71t77 -28h179q43 0 73.5 28.5 t30.5 70.5q0 46 -30 76t-74 30h-179q-47 0 -77 -29.5t-30 -76.5z" />
<glyph unicode="&#xf00d;" horiz-adv-x="1828" d="M-248 771q0 39 27 66q28 26 64 26h218q37 0 61.5 -27t24.5 -65t-24.5 -64.5t-61.5 -26.5h-218q-37 0 -64 27t-27 64zM57 32q0 37 25 65l157 152q24 25 63 25q38 0 63.5 -24t25.5 -61q0 -39 -26 -68l-152 -152q-65 -51 -131 0q-25 27 -25 63zM57 1509q0 37 25 65 q31 26 68 26q35 0 63 -26l152 -157q26 -24 26 -63q0 -38 -25.5 -63.5t-63.5 -25.5q-39 0 -63 26l-157 152q-25 27 -25 66zM329 771q0 149 75 277.5t203.5 203.5t277.5 75q112 0 215 -44.5t177.5 -119t118.5 -177.5t44 -215q0 -150 -74.5 -278t-202.5 -202.5t-278 -74.5 t-278 74.5t-203 202.5t-75 278zM510 771q0 -156 109.5 -266.5t265.5 -110.5t266.5 110.5t110.5 266.5q0 154 -110.5 263t-266.5 109q-155 0 -265 -109t-110 -263zM794 -58q0 38 26.5 64t64.5 26q39 0 65 -26t26 -64v-212q0 -39 -26.5 -66t-64.5 -27t-64.5 27t-26.5 66v212z M794 1595v218q0 37 27 64t64 27t64 -27t27 -64v-218q0 -37 -26.5 -61.5t-64.5 -24.5t-64.5 24.5t-26.5 61.5zM1383 189q0 37 24 60q24 25 60 25q39 0 64 -25l156 -152q26 -28 26 -65t-26 -63q-64 -50 -128 0l-152 152q-24 27 -24 68zM1383 1354q0 40 24 63l152 157 q28 26 63 26q38 0 64.5 -27t26.5 -64q0 -40 -26 -66l-156 -152q-29 -26 -64 -26q-36 0 -60 25.5t-24 63.5zM1624 771q0 38 26 66q26 26 61 26h216q37 0 64.5 -27.5t27.5 -64.5t-27.5 -64t-64.5 -27h-216q-37 0 -62 26.5t-25 64.5z" />
<glyph unicode="&#xf00e;" d="M-1 530q0 -179 106.5 -320t275.5 -188l-70 -181q-8 -23 15 -23h227l-152 -449h31l465 604q6 7 1.5 14.5t-15.5 7.5h-233l265 496q12 23 -14 23h-316q-15 0 -25 -16l-114 -307q-115 29 -190 123.5t-75 215.5q0 135 90 233t225 114l54 3q19 0 24 15l8 63 q17 173 146.5 290.5t305.5 117.5q174 0 305.5 -117.5t149.5 -290.5l8 -63q0 -18 18 -18h173q143 0 246 -102.5t103 -244.5q0 -139 -95.5 -241.5t-232.5 -109.5q-21 0 -21 -19v-143q0 -18 21 -18q141 4 258.5 76.5t185.5 193t68 261.5q0 117 -46 215q122 154 122 351 q0 152 -75.5 281.5t-205 205t-281.5 75.5q-115 0 -224 -48t-188 -133q-129 69 -289 69q-227 0 -402.5 -140.5t-224.5 -359.5q-177 -41 -292.5 -186t-115.5 -330zM872 -528q0 -24 17 -50t49 -36q18 -4 27 -4q24 0 41 8q33 13 45 61l30 110q10 40 -9 71.5t-57 39.5 q-33 11 -66 -8t-45 -55l-27 -111q-5 -22 -5 -26zM897 1841q0 -38 26 -64l70 -70q25 -25 58 -28q33 -5 65.5 24t32.5 68q0 37 -27 64l-67 70q-26 26 -64 26q-40 0 -67 -26t-27 -64zM1015 -16q-1 -26 15 -50.5t51 -34.5q34 -11 66.5 6.5t44.5 59.5l32 110q11 35 -8.5 67.5 t-57.5 43.5q-36 11 -68.5 -7.5t-43.5 -56.5l-27 -112q-4 -18 -4 -26zM1317 -195q0 -23 11 -42q21 -34 58 -46q18 -6 30 -6q20 0 33 8q32 12 48 64l26 108q11 38 -6.5 69.5t-53.5 41.5q-37 11 -69.5 -7t-43.5 -54l-30 -111q-3 -14 -3 -25zM1463 319q0 -28 17.5 -53.5 t52.5 -35.5q27 -9 65 5q31 13 45 61l30 107q10 40 -8.5 71.5t-56.5 39.5q-36 11 -68 -6.5t-43 -53.5l-31 -113q-3 -21 -3 -22zM1474 1369q107 103 261 103q157 0 267.5 -109.5t110.5 -266.5q0 -105 -50 -193q-154 154 -375 154h-33q-47 190 -181 312zM1643 1931 q0 -38 27 -65t65 -27t63.5 26.5t25.5 65.5v220q0 39 -25.5 65.5t-63.5 26.5t-65 -27t-27 -65v-220zM2239 1687q0 -39 25 -64q22 -25 58.5 -27.5t67.5 27.5l154 154q27 25 27 64t-27 64q-26 28 -64 28q-37 0 -62 -28l-154 -154q-25 -25 -25 -64zM2322 416q0 -37 27 -64 l69 -67q29 -27 65 -27l3 -2q35 0 58 29q27 26 27 64t-27 65l-66 66q-29 29 -65 29q-38 0 -64.5 -27.5t-26.5 -65.5zM2478 1096q0 -39 28 -63q25 -28 64 -28h220q38 0 65 26.5t27 64.5t-26.5 63.5t-65.5 25.5h-220q-39 0 -65.5 -25.5t-26.5 -63.5z" />
<glyph unicode="&#xf010;" d="M-1 528q0 -177 105 -316t274 -190l-68 -181q-7 -22 15 -22h226l-133 -421h31l445 575q6 7 1.5 14.5t-15.5 7.5h-232l264 494q11 23 -15 23h-314q-15 0 -25 -15l-115 -307q-114 29 -189 124t-75 214q0 133 91 231t225 114l56 7q20 0 20 19l7 54q17 173 147 290t305 117 q173 0 303.5 -117t149.5 -290l7 -62q0 -18 19 -18h172q145 0 247.5 -101t102.5 -244q0 -136 -95 -235.5t-234 -110.5q-21 0 -21 -19v-146q0 -18 21 -18q213 7 361 161t148 368q0 120 -45 214q125 151 125 354q0 150 -75.5 279t-204.5 204.5t-280 75.5q-246 0 -413 -185 q-129 69 -288 69q-226 0 -401 -140t-224 -358q-177 -41 -291.5 -184.5t-114.5 -328.5zM862 -494q-2 -24 14.5 -47t49.5 -35q10 -3 21 -3q27 0 54.5 16t36.5 50l244 914q10 37 -7 68.5t-52 42.5q-37 11 -69.5 -7t-42.5 -54l-246 -917q-3 -13 -3 -28zM897 1837q0 -39 26 -63 l69 -70q27 -27 65 -27.5t61 27.5q29 23 29 64q0 39 -26 63l-67 70q-28 26 -65 26q-40 0 -66 -26t-26 -64zM1305 -168q0 -19 12 -40q20 -32 53 -46q11 -5 32 -5q24 0 35 6q32 13 44 62l159 592q10 38 -8 69t-54 42q-37 11 -69 -7t-42 -54l-158 -595q0 -4 -2 -12t-2 -12z M1467 1367q107 103 264 103q156 0 267 -109t111 -265q0 -100 -55 -197q-159 157 -373 157h-33q-49 186 -181 311zM1640 1927q0 -38 27 -65t64 -27q38 0 63 27t25 65v219q0 38 -25 65t-63 27q-37 0 -64 -27t-27 -65v-219zM2230 1683q0 -39 28 -64q23 -27 60.5 -27t64.5 27 l154 155q28 25 28 63t-27 65t-65 27q-36 0 -62 -28l-153 -154q-28 -25 -28 -64zM2315 418q0 -35 27 -64l69 -67q20 -23 59 -26l2 -1q1 0 4 -0.5t5 -0.5q30 0 56 28q28 26 28 64q0 37 -28 65l-70 65q-26 29 -61 29q-37 0 -64 -27t-27 -65zM2471 1096q0 -38 28 -64 q29 -29 66 -29h217q37 0 64.5 27.5t27.5 65.5q0 37 -27 62.5t-65 25.5h-217q-40 0 -67 -25.5t-27 -62.5z" />
<glyph unicode="&#xf011;" horiz-adv-x="2194" d="M-231 90q0 39 28 67q28 26 64 26h577q118 0 201.5 -84.5t83.5 -202.5q0 -119 -83 -202.5t-202 -83.5t-203 84q-25 25 -25 64t24.5 64.5t64.5 25.5q38 0 66 -26q32 -31 73 -31q42 0 73 30.5t31 74.5q0 42 -31 72.5t-73 30.5h-577q-38 0 -65 27t-27 64zM-231 414 q0 38 28 66q28 26 64 26h1124q42 0 73 31t31 74t-31 73.5t-73 30.5q-44 0 -73 -30q-28 -24 -67 -24t-63.5 24.5t-24.5 63.5q0 40 24 65q81 81 204 81q119 0 202.5 -83t83.5 -201t-83.5 -201.5t-202.5 -83.5h-1124q-38 0 -65 25.5t-27 62.5zM-2 666q0 -13 17 -13h154 q13 0 23 16q36 87 112 144t170 64l56 8q21 0 21 18l8 55q17 173 146.5 290.5t305.5 117.5q177 0 307 -116.5t148 -291.5l8 -63q0 -18 19 -18h172q145 0 248.5 -102t103.5 -245t-103.5 -245t-248.5 -102h-737q-19 0 -19 -18v-148q0 -18 19 -18h737q145 0 267.5 71t194 193.5 t71.5 266.5q0 145 -71.5 267t-194 193t-267.5 71h-33q-50 213 -223.5 349t-397.5 136q-226 0 -400 -140.5t-221 -359.5q-137 -32 -243 -131.5t-147 -235.5v-4q-2 -5 -2 -9z" />
<glyph unicode="&#xf012;" horiz-adv-x="2194" d="M-352 87q0 39 27 65t67 26h957q38 0 63 -25.5t25 -65.5q0 -38 -25.5 -63.5t-62.5 -25.5h-957q-40 0 -67 25.5t-27 63.5zM-71 413q0 38 29 64q23 24 63 24h960q37 0 61.5 -25t24.5 -63t-24.5 -65t-61.5 -27h-960q-37 0 -64.5 27.5t-27.5 64.5zM-5 662q0 -15 18 -15h152 q15 0 25 15q36 87 111 144t168 64l58 7q18 0 18 19l7 55q18 174 148.5 290t306.5 116q174 0 302 -114.5t150 -288.5l8 -63q0 -17 19 -17h171q145 0 247.5 -102t102.5 -247q0 -140 -104 -243.5t-246 -103.5h-735q-19 0 -19 -18v-143q0 -19 19 -19h735q108 0 206.5 41.5 t169 112.5t112.5 168.5t42 204.5q0 144 -70.5 265.5t-192.5 192t-267 70.5h-33q-52 215 -224.5 351.5t-392.5 136.5q-227 0 -401.5 -141.5t-221.5 -361.5q-138 -31 -242 -129.5t-145 -236.5v-2q-2 -4 -2 -8zM117 -243q0 39 28 64q24 25 63 25h959q39 0 65.5 -25.5 t26.5 -63.5t-27 -65t-65 -27h-959q-37 0 -64 27t-27 65z" />
<glyph unicode="&#xf013;" horiz-adv-x="2377" d="M3 454q0 159 99.5 282.5t254.5 158.5q41 188 189.5 307.5t342.5 119.5q189 0 337.5 -116.5t192.5 -298.5h29q188 0 321.5 -132.5t133.5 -320.5q0 -123 -61 -228t-166 -166t-228 -61h-990q-92 0 -176.5 36t-145.5 97t-97 145.5t-36 176.5zM159 454q0 -122 87.5 -209.5 t211.5 -87.5h990q124 0 212.5 87.5t88.5 209.5t-88.5 209t-212.5 87h-147q-16 0 -16 16l-7 52q-16 151 -127 250.5t-262 99.5t-262 -100t-125 -250l-7 -45q0 -16 -17 -16l-48 -7q-115 -10 -193 -95t-78 -201zM1103 1384q-16 -15 8 -22q66 -29 114 -59q18 -5 24 3 q97 92 226 92q130 0 224.5 -86.5t105.5 -213.5l10 -68h151q104 0 178.5 -74.5t74.5 -177.5q0 -96 -65.5 -167t-162.5 -82q-16 0 -16 -17v-121q0 -17 16 -17q161 10 272 127t111 277q0 169 -119.5 288.5t-288.5 119.5h-16q-42 160 -175.5 263.5t-299.5 103.5 q-225 0 -372 -169z" />
<glyph unicode="&#xf014;" horiz-adv-x="2171" d="M-294 86q0 39 27 65t67 26h1991q40 0 65.5 -25.5t25.5 -65.5q0 -37 -26.5 -62t-64.5 -25h-1991q-40 0 -67 25t-27 62zM-15 421q0 38 29 64q24 24 63 24h1992q37 0 61.5 -25t24.5 -63t-25 -64.5t-61 -26.5h-1992q-38 0 -65 27t-27 64zM-1 675q0 -14 16 -14h153q11 0 22 17 q38 83 113.5 136t165.5 60l58 8q18 0 18 19l7 53q17 173 146.5 288.5t303.5 115.5q173 0 301.5 -114t146.5 -286l8 -61q0 -18 21 -18h170q103 0 187.5 -55t125.5 -146q11 -17 22 -17h153q19 0 15 24q-47 164 -186 268t-317 104h-34q-53 213 -223.5 348.5t-389.5 135.5 q-224 0 -397.5 -140.5t-222.5 -358.5q-136 -32 -239 -129t-143 -232v4q-1 -3 -1 -10zM171 -241q0 38 28 63q24 24 64 24h1993q38 0 64.5 -25t26.5 -62q0 -38 -27 -65t-64 -27h-1993q-37 0 -64.5 27.5t-27.5 64.5z" />
<glyph unicode="&#xf015;" horiz-adv-x="2211" d="M2 528q0 -213 148.5 -366t362.5 -163q18 0 18 18v143q0 18 -18 18q-137 7 -233 109t-96 241q0 132 90 230t223 114l57 3q21 0 21 20l7 57q17 173 146 289.5t304 116.5q174 0 304.5 -116.5t148.5 -289.5l8 -62q0 -18 18 -18h172q142 0 246 -102t104 -242 q0 -139 -96.5 -241t-232.5 -109q-21 0 -21 -18v-143q0 -18 21 -18q104 3 198.5 46.5t162.5 114t108 167t40 201.5q0 143 -71.5 263.5t-193.5 190t-265 69.5h-34q-52 214 -224.5 350t-392.5 136q-225 0 -400 -139.5t-224 -357.5q-177 -41 -291.5 -184.5t-114.5 -327.5z M583 -240q15 -34 49 -49q32 -16 66.5 -2t47.5 48q16 35 3 68.5t-48 46.5q-32 17 -66 3t-50 -50q-15 -26 -2 -65zM650 61q0 -25 17 -48.5t50 -34.5q31 -18 66 -1.5t47 63.5l96 361q10 40 -8.5 71.5t-56.5 38.5q-13 3 -27 3q-25 0 -49.5 -16t-34.5 -47l-95 -362q-5 -22 -5 -28 zM849 -535q0 -19 6 -31q14 -35 48 -48q15 -8 35 -8q10 0 32 6q36 13 51.5 48t-0.5 70t-48 49t-67 0q-30 -13 -43.5 -38t-13.5 -48zM927 -257q0 -59 67 -78q18 -4 27 -4q24 0 41 8q32 12 44 61l179 671q10 38 -7 69t-53 41q-14 3 -28 3q-27 0 -52.5 -16t-31.5 -47l-182 -676 q-4 -22 -4 -32zM1294 -208q0 -19 8 -34q13 -31 47 -47q18 -7 36 -7q10 0 32 6q34 13 49 47q12 35 -0.5 67t-44.5 48q-36 17 -69.5 3t-49.5 -50q-8 -15 -8 -33zM1370 66q0 -23 17 -48t48 -35q25 -5 29 -5q15 0 39 11q32 15 43 56l96 356q0 3 2 13t2 15q0 25 -16.5 49 t-48.5 33q-14 3 -29 3q-26 0 -49.5 -15.5t-32.5 -47.5l-96 -358q0 -3 -2 -12t-2 -15z" />
<glyph unicode="&#xf016;" horiz-adv-x="1371" d="M-62 -283h43l733 1086q15 29 -16 29h-303l319 581q14 29 -20 29h-407q-17 0 -31 -19l-296 -789q-4 -29 21 -29h292zM846 392h28l557 818q8 13 4 21t-18 8h-224l233 430q19 32 -19 32h-292q-21 0 -32 -20l-221 -585q-10 -30 20 -30h219z" />
<glyph unicode="&#xf017;" horiz-adv-x="2211" d="M-5 522q0 -211 149 -364t361 -160q20 0 20 18v142q0 19 -20 19q-135 7 -232 108.5t-97 236.5q0 134 90.5 233.5t223.5 110.5l56 8q21 0 21 19l8 53q16 175 145 293t305 118q173 0 303.5 -117t149.5 -289l7 -62q0 -19 19 -19h171q144 0 247 -103t103 -245 q0 -135 -96.5 -236.5t-232.5 -108.5q-21 0 -21 -19v-142q0 -18 21 -18q213 7 361 159.5t148 364.5q0 143 -71.5 264.5t-193.5 192t-265 70.5h-33q-53 214 -225 350.5t-392 136.5q-225 0 -400 -140t-224 -357q-180 -46 -293 -188.5t-113 -328.5zM573 -227q0 -27 17 -54 t50 -37q37 -11 68.5 4t42.5 60l15 65q8 36 -10 67.5t-55 42.5q-36 11 -68.5 -8t-42.5 -57l-15 -63q-2 -6 -2 -20zM654 82q0 -35 26 -61q25 -27 61 -27q38 0 64 25.5t26 62.5t-26 62.5t-64 25.5q-37 0 -62 -25t-25 -63zM719 325q-2 -25 14 -48.5t51 -34.5q33 -10 66.5 7.5 t44.5 54.5l30 96q12 39 -7.5 69.5t-58.5 41.5q-35 11 -67 -7t-43 -53l-27 -98q-3 -27 -3 -28zM842 -560q0 -27 17 -52.5t52 -35.5q14 -3 26 -3q69 0 85 65l15 63q10 40 -9 72.5t-57 39.5q-34 11 -66.5 -7.5t-43.5 -54.5l-15 -63q-4 -18 -4 -24zM926 -250q0 -36 26 -62 t62 -26q38 0 63 25t25 63q0 37 -25 62t-63 25t-63 -25t-25 -62zM992 -8q-2 -24 14.5 -50t48.5 -32q37 -10 68 6t44 60l28 96q11 35 -7.5 67t-56.5 43q-35 11 -68 -8.5t-44 -56.5l-24 -96q-3 -14 -3 -29zM1287 -237q0 -27 16 -51.5t49 -34.5q5 0 15 -2t15 -2q65 0 81 70 l15 64q11 34 -7.5 67t-54.5 44q-39 10 -71.5 -8.5t-43.5 -56.5l-11 -63q0 -2 -1.5 -12t-1.5 -15zM1366 78q0 -37 26 -61q24 -26 62 -26t63 25t25 62q0 38 -25 63t-63 25t-63 -25t-25 -63zM1431 325q0 -27 17.5 -51.5t52.5 -34.5q3 0 12.5 -2t14.5 -2q17 0 39 10q33 17 43 56 l27 96q10 36 -8 67.5t-54 42.5q-37 11 -68.5 -6t-42.5 -54l-30 -97q0 -3 -1.5 -11.5t-1.5 -13.5z" />
<glyph unicode="&#xf018;" horiz-adv-x="2217" d="M2 525q0 -179 104.5 -318.5t272.5 -190.5q14 -3 27 8l123 153q-142 0 -243 102t-101 246q0 135 90 234.5t224 110.5l56 7q18 0 18 14l8 59q20 176 148 291.5t303 115.5q176 0 307 -116.5t147 -290.5l8 -62q4 -18 23 -18h172q144 0 245 -101t101 -244q0 -133 -89.5 -232.5 t-220.5 -115.5q-20 0 -53 -6q-30 -3 -43 -24l-253 -298q-23 -29 -17.5 -67t33.5 -61q17 -20 61 -20q42 0 65 37l225 260q199 20 336 172t137 355q0 108 -41.5 206t-112 168.5t-168 112.5t-205.5 42h-34q-53 212 -226.5 347.5t-396.5 135.5q-149 0 -280.5 -63.5t-221.5 -177 t-121 -258.5q-180 -40 -293.5 -183.5t-113.5 -329.5zM363 -330q0 -10 6 -32q14 -34 47 -47q35 -16 71 -2t49 48q16 35 2 69t-49 46q-36 17 -69 3t-49 -50q-8 -17 -8 -35zM560 -70v-11q3 -36 32 -60q36 -20 66 -20q36 0 65 35l248 295q23 28 21 70q-4 34 -29.5 57t-55.5 23 q-8 0 -14 -1q-38 -8 -61 -35l-251 -296q-21 -24 -21 -57zM642 -573q0 -19 8 -34q13 -34 47 -50q17 -8 36 -8q20 0 33 8q36 14 49 44q16 35 2.5 71t-47.5 49q-35 16 -71.5 2t-48.5 -48q-8 -15 -8 -34zM821 -323v-12q4 -35 32.5 -58.5t58.5 -23.5q36 0 67 35l464 559 q19 22 19 55v13q-4 36 -29.5 57t-56.5 21h-14q-37 -2 -59 -33l-464 -555q-18 -26 -18 -58zM1195 -446q0 -14 6 -32q14 -35 49 -50q22 -6 33 -6q23 0 36 8q36 14 49 45q16 27 2 71q-13 33 -47 47l-37 10q-17 -3 -35 -8q-35 -13 -48 -47q-8 -19 -8 -38z" />
<glyph unicode="&#xf019;" horiz-adv-x="2217" d="M2 527q0 184 115 327.5t291 184.5q50 218 225 358t400 140q220 0 392.5 -136.5t224.5 -350.5h35q143 0 265 -69.5t193 -190t71 -263.5q0 -105 -40 -201.5t-108 -167t-162.5 -114t-198.5 -46.5q-20 0 -20 18v142q0 19 20 19q136 7 232.5 109t96.5 241q0 140 -103.5 242 t-245.5 102h-173q-18 0 -18 18l-8 62q-18 173 -149 289.5t-304 116.5q-175 0 -304.5 -116.5t-145.5 -289.5l-8 -57q0 -20 -21 -20l-56 -3q-133 -16 -223.5 -114t-90.5 -230q0 -139 96 -241t233 -109q18 0 18 -19v-142q0 -18 -18 -18q-214 10 -362.5 163t-148.5 366z M574 -186q0 10 3 21l174 615q10 31 34.5 47t49.5 16q12 0 27 -3q38 -7 57 -39t8 -71l-174 -611q-20 -68 -88 -68q-5 0 -11 2q-9 3 -12 3q-34 10 -51 35.5t-17 52.5zM854 -486l259 936q7 31 32 47t53 16q13 0 28 -3q36 -10 53 -41.5t7 -68.5l-260 -937q-6 -27 -30.5 -46 t-53.5 -19q-16 0 -28 5q-32 8 -55 42q-17 27 -5 69zM1294 -189q0 11 3 24l174 615q9 31 32.5 47t49.5 16q14 0 29 -3q32 -9 48.5 -33t16.5 -50q0 -5 -2 -14.5t-2 -12.5l-173 -611q-6 -31 -30.5 -49.5t-54.5 -18.5l-26 5q-32 9 -48.5 34t-16.5 51z" />
<glyph unicode="&#xf01a;" horiz-adv-x="2228" d="M-1 525q0 185 115.5 329t296.5 185q47 220 221.5 361.5t400.5 141.5q223 0 396.5 -136t226.5 -352h35q108 0 206 -42t168 -112.5t111 -168.5t41 -206q0 -214 -146.5 -367t-359.5 -160q-20 0 -20 18v143q0 18 20 18q135 11 231 111.5t96 236.5q0 143 -102.5 246 t-244.5 103h-173q-19 0 -23 19l-8 61q-11 114 -74.5 206.5t-163.5 145t-216 52.5q-176 0 -305.5 -116.5t-146.5 -290.5l-7 -58q0 -15 -17 -15l-56 -8q-135 -11 -225.5 -110t-90.5 -235q0 -139 94.5 -239.5t231.5 -108.5q19 0 19 -18v-143q0 -18 -19 -18q-105 5 -200 48 t-163.5 113t-108.5 165.5t-40 200.5zM577 -197q0 5 2 14t2 12l29 110q11 36 42.5 54.5t68.5 7.5q36 -11 55 -42.5t8 -68.5l-26 -108q-21 -70 -81 -70q-4 0 -9.5 0.5t-12 1.5t-10.5 1q-34 10 -51 36.5t-17 51.5zM718 317q0 4 1.5 12t1.5 10l32 112q10 31 34 47.5t50 16.5 l27 -3q36 -11 54.5 -42.5t7.5 -68.5l-27 -107q-11 -44 -43 -62.5t-69 -2.5q-35 10 -52 36t-17 52zM849 -531q0 5 2 13.5t2 12.5l30 106q10 38 42.5 57.5t69.5 8.5q36 -11 54.5 -43.5t7.5 -69.5l-27 -111q-17 -65 -85 -65q-8 0 -26 4q-35 6 -52.5 32.5t-17.5 54.5zM992 -22 q0 14 3 27l30 110q11 36 43.5 54.5t69.5 7.5q36 -10 54 -41.5t6 -69.5l-27 -106q-20 -72 -76 -72q-7 0 -33 6q-35 7 -52.5 31.5t-17.5 52.5zM1293 -201q0 11 3 26l30 106q11 38 43.5 57.5t67.5 9.5q37 -11 56.5 -43.5t9.5 -67.5l-31 -113q-16 -65 -85 -65q-13 0 -27 3 q-32 6 -49 32.5t-18 54.5zM1440 307q0 5 5 28l32 110q6 34 31 50.5t52 14.5q7 1 26 -3q35 -8 55 -41q19 -27 8 -69l-26 -110q-21 -69 -81 -69q-10 0 -36 6q-33 10 -49.5 33.5t-16.5 49.5z" />
<glyph unicode="&#xf01b;" horiz-adv-x="2217" d="M-1 523q0 185 113.5 328.5t292.5 187.5q50 218 224.5 358t400.5 140q220 0 392.5 -136.5t224.5 -350.5h34q143 0 265 -70.5t193 -192t71 -264.5q0 -212 -148 -365t-360 -160q-21 0 -21 18v142q0 19 21 19q136 7 232.5 108.5t96.5 237.5q0 142 -103 245t-247 103h-172 q-19 0 -19 18l-8 62q-18 173 -148.5 290t-303.5 117q-176 0 -305.5 -118t-146.5 -293l-7 -53q0 -20 -20 -20l-56 -7q-133 -11 -223.5 -110.5t-90.5 -233.5q0 -136 96.5 -237.5t232.5 -108.5q18 0 18 -19v-142q0 -18 -18 -18q-214 7 -362.5 160t-148.5 365zM678 89 q0 36 25.5 62t62.5 26t62.5 -26t25.5 -62q0 -38 -25.5 -64.5t-62.5 -26.5t-62.5 26.5t-25.5 64.5zM678 -298q0 38 26 64q26 24 62 24q38 0 63 -25t25 -63t-25 -63t-63 -25t-63 25t-25 63zM1018 -117q0 37 27 66q26 26 61 26q38 0 65 -27.5t27 -64.5t-27 -63.5t-65 -26.5 q-36 0 -62 26.5t-26 63.5zM1018 269q0 37 27 64q28 26 61 26q38 0 65 -26.5t27 -63.5t-27 -62.5t-65 -25.5q-36 0 -62 25.5t-26 62.5zM1018 -507q0 36 27 65q26 26 61 26q38 0 65 -27t27 -64t-27 -62.5t-65 -25.5q-36 0 -62 25.5t-26 62.5zM1362 89q0 35 27 61.5t64 26.5 t62.5 -26t25.5 -62q0 -38 -25.5 -64.5t-62.5 -26.5t-64 27t-27 64zM1362 -298q0 35 27 64q25 24 64 24q37 0 62.5 -25t25.5 -63t-25.5 -63t-62.5 -25q-38 0 -64.5 25.5t-26.5 62.5z" />
<glyph unicode="&#xf01c;" horiz-adv-x="2211" d="M-1 527q0 184 115 327.5t291 184.5q49 218 224 357.5t401 139.5q220 0 392 -136t225 -350h33q143 0 265 -69.5t193 -190t71 -263.5q0 -214 -147.5 -368t-360.5 -161q-21 0 -21 18v142q0 19 21 19q137 7 233 109t96 241t-104 241.5t-246 102.5h-171q-20 0 -20 18l-7 62 q-17 172 -147.5 289t-304.5 117q-175 0 -305 -116.5t-147 -289.5l-7 -58q0 -19 -20 -19l-56 -3q-131 -6 -222.5 -107t-91.5 -237q0 -139 96 -241t233 -109q18 0 18 -19v-142q0 -18 -18 -18q-214 10 -362.5 163t-148.5 366zM631 433q0 39 39 105.5t73 107.5q34 38 41 45 l38 -43q41 -44 76.5 -108.5t35.5 -106.5q0 -63 -43 -105t-107 -42q-63 0 -108 43t-45 104zM949 8q0 44 25.5 102t62.5 109q29 41 71 90t63 69q22 20 27 25l26 -25q60 -53 136 -156q38 -53 63 -111t25 -103q0 -103 -72.5 -175.5t-177.5 -72.5q-103 0 -176 72t-73 176z M1106 718q0 67 104 171l25 -27q75 -92 75 -144q0 -41 -29.5 -70.5t-70.5 -29.5q-43 0 -73.5 29.5t-30.5 70.5z" />
<glyph unicode="&#xf01d;" horiz-adv-x="2211" d="M1 527q0 -177 106 -317t274 -191l-70 -179q-5 -23 15 -23h227l-111 -403h30l423 557q6 7 2 14.5t-15 7.5h-232l264 495q10 22 -15 22h-314q-15 0 -24 -15l-115 -306q-114 29 -188.5 124t-74.5 214q0 133 90 230.5t224 113.5l56 8q21 0 21 18l8 55q16 173 145.5 290 t304.5 117q174 0 304.5 -117t149.5 -290l7 -62q0 -19 19 -19h173q145 0 247 -100.5t102 -243.5q0 -136 -95 -235.5t-234 -109.5q-20 0 -20 -20v-146q0 -18 20 -18q104 3 198.5 47t162.5 114.5t108 167t40 200.5q0 144 -71 265.5t-193 192t-265 70.5h-35q-53 213 -225 348 t-393 135q-226 0 -401 -140t-224 -358q-176 -41 -291 -184.5t-115 -328.5zM871 -525q0 -25 16.5 -49.5t49.5 -34.5q22 -5 28 -5q14 0 40 11q33 15 44 56l30 112q10 35 -8.5 67t-56.5 43q-35 10 -67.5 -8.5t-43.5 -56.5l-29 -107q-3 -27 -3 -28zM1014 -16q0 -23 16.5 -46.5 t48.5 -35.5q36 -12 68 5t43 56l32 111q10 35 -8.5 67.5t-56.5 43.5q-36 10 -69.5 -8.5t-44.5 -55.5l-26 -108q-3 -27 -3 -29zM1315 -192q0 -27 17.5 -54t50.5 -37q4 0 12.5 -2t12.5 -2q21 0 40 8q31 12 45 61l26 108q11 37 -6.5 70.5t-53.5 44.5q-40 10 -72.5 -9t-39.5 -57 l-29 -110q-3 -9 -3 -21zM1461 319q-1 -25 15.5 -50t51.5 -40q12 -6 29 -6q15 0 35 9q33 16 47 61l31 110q3 21 3 23q0 27 -17.5 52.5t-52.5 35.5q-4 0 -12 2t-12 2q-27 0 -51.5 -16.5t-34.5 -51.5l-30 -108q-2 -8 -2 -23z" />
<glyph unicode="&#xf01e;" horiz-adv-x="2211" d="M2 527q0 -177 106 -317t275 -191l-70 -179q-5 -23 15 -23h227l-105 -459h30l418 613q6 7 2 14.5t-15 7.5h-232l264 495q11 23 -15 23h-315q-15 0 -25 -16l-114 -306q-114 29 -189 124t-75 214q0 133 90.5 231t224.5 114l56 7q21 0 21 19l7 54q17 173 146.5 290t304.5 117 q174 0 304.5 -117t149.5 -290l7 -62q0 -18 19 -18h172q145 0 248 -101.5t103 -243.5q0 -136 -95.5 -235.5t-235.5 -110.5q-20 0 -20 -19v-146q0 -18 20 -18q213 7 361.5 161t148.5 368q0 144 -71 265.5t-193 192t-266 70.5h-33q-53 212 -226 347.5t-393 135.5 q-226 0 -401 -140t-224 -358q-177 -41 -292 -184.5t-115 -328.5zM871 -509q0 -63 63 -82q3 0 12 -1.5t14 -1.5q27 0 52.5 15.5t34.5 51.5l240 927q10 38 -7 69t-53 42q-27 3 -28 3q-26 0 -50.5 -16t-33.5 -48l-241 -930q-3 -13 -3 -29zM1314 -182q0 -19 12 -40 q22 -35 53 -47q17 -5 32 -5q16 0 35 8q32 14 44 61l155 605q4 18 4 29q0 24 -17 48t-49 34q-27 3 -28 3q-27 0 -50 -15.5t-32 -48.5l-155 -608q0 -4 -2 -12t-2 -12z" />
<glyph unicode="&#xf021;" horiz-adv-x="2211" d="M2 678q0 36 25 60t61 24h1289q35 0 58 -23.5t23 -60.5q0 -35 -23 -58t-58 -23h-1289q-36 0 -61 23t-25 58zM261 987q0 35 25 59q24 24 59 24h1290q34 0 58 -24t24 -59t-24 -59.5t-58 -24.5h-1290q-35 0 -59.5 24.5t-24.5 59.5zM432 375q0 34 26 58q23 23 59 23h1290 q36 0 60 -23t24 -58t-24.5 -60t-59.5 -25h-1290q-35 0 -60 25t-25 60zM1561 678q0 37 24 60.5t61 23.5h481q37 0 60.5 -24t23.5 -60q0 -35 -24 -58t-60 -23h-481q-37 0 -61 23t-24 58z" />
<glyph unicode="&#xf022;" d="M-10 89q0 -38 28 -64q27 -27 65 -27h613q42 0 73.5 -30.5t31.5 -72.5q0 -43 -31.5 -74t-73.5 -31q-41 0 -73 32q-29 26 -65 26q-38 0 -64.5 -26.5t-26.5 -63.5q0 -35 27 -64q84 -84 202 -84t201.5 83t83.5 202q0 118 -83.5 202t-201.5 84h-613q-38 0 -65.5 -27.5 t-27.5 -64.5zM-10 411q0 -36 28 -62t65 -26h1158q118 0 201.5 83t83.5 201t-83.5 200.5t-201.5 82.5q-122 0 -202 -81q-24 -25 -24 -65t24.5 -64t62.5 -24t66 24q30 30 73 30q41 0 72 -30t31 -73q0 -42 -31 -73t-72 -31h-1158q-38 0 -65.5 -27.5t-27.5 -64.5zM258 662 q0 -14 17 -14h154q12 0 22 16q36 87 111.5 143.5t168.5 63.5l56 8q21 0 21 18l8 55q17 173 146.5 289.5t304.5 116.5t305 -116t148 -290l7 -62q0 -19 19 -19h174q145 0 247 -101t102 -243t-102.5 -244t-246.5 -102h-737q-18 0 -18 -19v-146q0 -18 18 -18h737q143 0 264.5 71 t192.5 193t71 265q0 141 -73 264q117 113 161 275l16 72q2 2 2 8q0 7 -15 17l-64 22q-91 28 -155 89.5t-91.5 131t-27.5 139.5q0 43 9 84l15 66q4 15 -15 24l-84 26q-70 17 -133 17q-59 0 -120 -14t-126 -43.5t-126.5 -85t-106.5 -130.5q-113 48 -247 48q-226 0 -399 -140 t-220 -357q-137 -32 -242 -131t-145 -235v-3q-3 -5 -3 -9zM1670 1397q50 88 138 134.5t182 46.5q22 0 33 -1q-2 -14 -2 -38q0 -151 84 -289t232 -207q-25 -60 -80 -110q-142 122 -337 122h-35q-43 201 -215 342z" />
<glyph unicode="&#xf023;" d="M-146 86q0 -38 26.5 -63t66.5 -25h1004q38 0 63 25t25 63q0 40 -25 65.5t-63 25.5h-1004q-40 0 -66.5 -25.5t-26.5 -65.5zM135 411q0 -39 27 -64q25 -27 64 -27h1006q37 0 62.5 26.5t25.5 64.5q0 37 -25 62.5t-63 25.5h-1006q-38 0 -64.5 -25.5t-26.5 -62.5zM246 661 q0 -15 19 -15h152q14 0 24 15q36 87 111 144t168 64l58 8q20 0 20 18l7 55q17 174 147 290.5t306 116.5q175 0 303.5 -115t150.5 -289l8 -62q0 -18 18 -18h173q145 0 246.5 -102t101.5 -246q0 -141 -103 -244.5t-245 -103.5h-737q-19 0 -19 -18v-143q0 -18 19 -18h737 q144 0 266 70t193 191.5t71 265.5q0 142 -70 264q117 104 162 275l19 73q1 2 1 7q0 13 -16 17l-66 23q-70 21 -124 61t-85.5 89.5t-47 100.5t-15.5 101q0 43 11 93l15 65q7 15 -15 24l-88 26q-70 17 -132 17q-60 0 -121 -14t-126 -43.5t-125.5 -85t-105.5 -130.5 q-124 51 -254 51q-226 0 -400 -140.5t-221 -360.5q-139 -32 -243.5 -130.5t-145.5 -235.5v-3q-2 -2 -2 -8zM322 -245q0 -38 28 -64q26 -27 64 -27h1005q38 0 65.5 27t27.5 64t-27.5 62.5t-65.5 25.5h-1005q-38 0 -65 -25.5t-27 -62.5zM1665 1394q55 88 143.5 136.5 t181.5 46.5q18 0 27 -1v-26q0 -156 84.5 -297.5t231.5 -211.5q-27 -62 -82 -114q-141 126 -340 126h-34q-40 193 -212 341z" />
<glyph unicode="&#xf024;" horiz-adv-x="2331" d="M-1 527q0 -213 148.5 -366t362.5 -163q19 0 19 18v143q0 18 -19 18q-137 7 -233 109t-96 241q0 133 90 231t224 114l56 3q20 0 20 19l8 58q17 173 147 290t305 117q173 0 303.5 -117t148.5 -290l8 -62q0 -18 19 -18h172q142 0 246 -102.5t104 -242.5q0 -139 -96 -241 t-233 -109q-21 0 -21 -18v-143q0 -18 21 -18q213 7 360.5 161t147.5 368q0 138 -68 257q125 117 164 279l15 73q3 2 3 7q0 12 -18 17l-59 18q-91 27 -155.5 90.5t-91.5 133t-27 140.5q-1 39 8 84l15 62q5 14 -15 23l-85 27q-67 20 -140 20q-56 0 -116 -13.5t-124.5 -43 t-126.5 -85t-107 -130.5q-120 52 -252 52q-226 0 -401 -140t-224 -358q-177 -41 -292 -184.5t-115 -328.5zM583 -223q14 -34 49 -48q31 -16 66 -2.5t48 47.5q16 35 2.5 69t-47.5 47q-32 16 -66 2t-50 -49q-16 -25 -2 -66zM650 79q0 -24 16.5 -48t48.5 -34q41 -16 72 0.5 t43 60.5l93 342q11 40 -8 71.5t-57 39.5q-35 11 -67.5 -7t-43.5 -54l-93 -343q0 -3 -2 -13t-2 -15zM849 -518q0 -20 6 -31q14 -35 48 -48q15 -8 35 -8q10 0 32 6q36 13 51.5 48t-0.5 70t-48 49t-66 0q-31 -13 -44.5 -38t-13.5 -48zM928 -235q0 -61 67 -83q15 -5 26 -5 q17 0 37 9q35 13 49 61l176 653q10 38 -7 69t-53 42q-37 11 -69.5 -7t-42.5 -54l-180 -658q-3 -14 -3 -27zM1295 -191q0 -20 7 -33q13 -32 47 -47q19 -8 37 -8q10 0 32 6q35 14 48 47q13 35 0.5 67.5t-44.5 48.5q-35 16 -69.5 2.5t-50.5 -49.5q-7 -13 -7 -34zM1371 82 q0 -25 17 -48.5t49 -33.5q27 -3 29 -3q64 0 81 65l94 338q10 38 -8 69t-54 42q-37 11 -68 -6.5t-42 -54.5l-94 -339q-4 -18 -4 -29zM1441 1389q50 92 138.5 140t187.5 47q18 0 27 -2v-33q0 -156 83.5 -293.5t231.5 -207.5q-31 -70 -80 -114q-141 125 -347 125h-34 q-41 200 -207 338z" />
<glyph unicode="&#xf025;" horiz-adv-x="2331" d="M-1 527q0 -213 148.5 -366t362.5 -163q18 0 18 18v146q0 19 -18 19q-139 11 -234 110.5t-95 235.5q0 134 90.5 233.5t223.5 110.5l56 8q20 0 20 18l8 55q17 173 146.5 289.5t304.5 116.5q174 0 304 -116t148 -290l8 -62q0 -19 19 -19h172q145 0 247.5 -101t102.5 -243 q0 -136 -95 -235.5t-234 -110.5q-21 0 -21 -19v-146q0 -18 21 -18q213 7 360.5 161t147.5 368q0 143 -73 264q128 116 165 275l16 77q1 1 1 7q0 12 -17 17l-62 18q-91 26 -155 88t-91 131.5t-27 140.5q0 39 10 84l15 66q4 15 -15 24l-84 26q-70 17 -133 17q-58 0 -119 -14 t-127 -43.5t-128 -85t-107 -130.5q-113 48 -249 48q-226 0 -400.5 -139.5t-224.5 -357.5q-176 -42 -291 -185.5t-115 -327.5zM817 31q-8 -23 15 -23h230l-140 -442h32l445 596q6 7 2.5 14.5t-14.5 7.5h-234l246 449q11 23 -15 23h-314q-13 0 -23 -15zM1435 1391 q53 91 141.5 139t184.5 48q20 0 29 -2v-33q0 -154 83 -291t231 -209q-25 -59 -80 -114q-147 126 -343 126h-34q-45 199 -212 336z" />
<glyph unicode="&#xf026;" horiz-adv-x="2331" d="M-5 525q0 -212 149 -366t363 -161q20 0 20 18v143q0 18 -20 18q-136 7 -233 110t-97 238q0 136 91 235.5t225 110.5l57 7q20 0 20 19l7 54q17 176 147 293.5t306 117.5q174 0 305.5 -117t149.5 -290l8 -61q0 -20 18 -20h172q145 0 248.5 -103t103.5 -246 q0 -88 -44 -166.5t-120.5 -127.5t-166.5 -54q-21 0 -21 -18v-143q0 -18 21 -18q105 3 200 46.5t163 114t108 166.5t40 200q0 141 -73 268q133 119 169 280l15 73q2 2 2 8q0 9 -17 17l-60 19q-70 21 -124.5 62.5t-86.5 92.5t-48.5 103.5t-16.5 102.5q-3 38 9 88l15 62 q7 16 -15 25l-85 26q-65 18 -138 18q-58 0 -119.5 -14t-127 -44t-127.5 -86.5t-107 -131.5q-130 49 -250 49q-226 0 -402 -140.5t-226 -359.5q-180 -46 -293.5 -189t-113.5 -329zM573 -227q0 -27 17 -54t50 -37q37 -11 68.5 4t42.5 60l15 65q8 36 -10 67.5t-55 42.5 q-36 11 -68.5 -8t-42.5 -57l-15 -63q-2 -6 -2 -20zM654 82q0 -35 26 -61q25 -27 61 -27q38 0 64 25.5t26 62.5t-26 62.5t-64 25.5q-37 0 -62 -25t-25 -63zM719 325q-2 -25 14 -48.5t51 -34.5q33 -10 66.5 7.5t44.5 54.5l30 96q12 39 -7.5 69.5t-58.5 41.5q-35 11 -67 -7 t-43 -53l-27 -98q-3 -27 -3 -28zM842 -560q0 -27 17 -52.5t52 -35.5q14 -3 26 -3q69 0 85 65l15 63q10 40 -9 72.5t-57 39.5q-34 11 -66.5 -7.5t-43.5 -54.5l-15 -63q-4 -18 -4 -24zM926 -250q0 -36 26 -62t62 -26q38 0 63 25t25 63q0 37 -25 62t-63 25t-63 -25t-25 -62z M992 -8q-2 -24 14.5 -50t48.5 -32q37 -10 68 6t44 60l28 96q11 35 -7.5 67t-56.5 43q-35 11 -68 -8.5t-44 -56.5l-24 -96q-3 -14 -3 -29zM1287 -237q0 -27 16 -51.5t49 -34.5q5 0 15 -2t15 -2q65 0 81 70l15 64q11 34 -7.5 67t-54.5 44q-39 10 -71.5 -8.5t-43.5 -56.5 l-11 -63q0 -2 -1.5 -12t-1.5 -15zM1366 78q0 -37 26 -61q24 -26 62 -26t63 25t25 62q0 38 -25 63t-63 25t-63 -25t-25 -63zM1431 325q0 -27 17.5 -51.5t52.5 -34.5q3 0 12.5 -2t14.5 -2q17 0 39 10q33 17 43 56l27 96q10 36 -8 67.5t-54 42.5q-37 11 -68.5 -6t-42.5 -54 l-30 -97q0 -3 -1.5 -11.5t-1.5 -13.5zM1438 1397q51 93 139.5 143t183.5 49q15 0 32 -3v-34q-2 -157 82.5 -294.5t236.5 -206.5q-32 -64 -85 -118q-148 122 -344 122h-33q-50 209 -212 342z" />
<glyph unicode="&#xf027;" horiz-adv-x="2331" d="M-1 525q0 -179 106 -320.5t274 -188.5q14 -3 27 8l120 150q-140 0 -242.5 104t-102.5 247q0 134 90 231.5t225 109.5l53 7q20 0 20 20l8 57q20 174 150 291t305 117q174 0 305 -117.5t150 -290.5l7 -62q0 -18 19 -18h173q142 0 244 -102t102 -243q0 -136 -90 -236.5 t-221 -111.5q-72 -9 -92 -30l-250 -310q-24 -27 -19 -67q4 -38 33.5 -63t60.5 -25q36 0 68 40l217 276q99 10 187.5 56t152 115.5t100.5 162.5t37 193q0 139 -73 260q130 118 169 280v10l21 82l-82 28q-92 27 -156 89t-91.5 131t-27.5 140q0 41 9 85l20 83l-90 25q-1 1 -3 2 t-3 2q-2 1 -4.5 2t-3.5 1q-70 17 -133 17q-61 -1 -122.5 -15t-128 -44t-128.5 -86t-107 -132q-120 52 -250 52q-226 0 -401 -140t-225 -358q-181 -44 -294 -186.5t-113 -327.5zM394 -327q0 -21 7 -33q14 -35 46 -49q35 -16 71 -3t49 47q16 35 1.5 71.5t-48.5 48.5 q-35 16 -70.5 2.5t-48.5 -48.5q-7 -15 -7 -36zM591 -66v-12q3 -36 35 -59q21 -24 58 -23t70 34l248 311q22 28 17.5 66.5t-32.5 61.5t-67 19t-61 -36l-248 -305q-20 -23 -20 -57zM651 -622q14 -34 50 -48q17 -8 35 -8q10 0 32 6q34 14 47 47q13 35 1 69t-47 51 q-35 13 -67 -0.5t-48 -46.5q-18 -31 -3 -70zM822 -338v-9q4 -36 33.5 -61.5t59.5 -25.5q35 0 64 36l461 572q23 27 20 66t-31 62q-32 23 -70.5 19.5t-60.5 -31.5l-456 -572q-20 -25 -20 -56zM1195 -456q0 -18 8 -35q13 -36 51 -50q36 -14 65 -2q35 14 49 49q16 35 3 68 t-48 50q-35 13 -69.5 0t-50.5 -45q-8 -19 -8 -35zM1440 1391q50 92 138.5 140.5t187.5 46.5q19 0 28 -1v-32q0 -155 85.5 -293.5t233.5 -209.5q-40 -75 -84 -119q-142 126 -343 126h-35q-49 206 -211 342z" />
<glyph unicode="&#xf028;" horiz-adv-x="2331" d="M-1 528q0 -213 149 -366.5t363 -163.5q19 0 19 18v143q0 18 -19 18q-137 8 -233.5 110t-96.5 241q0 133 90.5 231.5t224.5 114.5l57 4q21 0 21 18l7 58q17 173 147 290.5t305 117.5q174 0 305 -117.5t149 -290.5l8 -61q0 -19 18 -19h173q143 0 247.5 -102.5t104.5 -243.5 q0 -138 -97 -240.5t-234 -110.5q-21 0 -21 -18v-143q0 -18 21 -18q213 7 361.5 161.5t148.5 368.5q0 141 -73 262q129 117 169 279l15 77q2 1 2 7q0 12 -17 17l-60 19q-91 26 -156 88.5t-92.5 131.5t-27.5 137q-3 36 9 88l15 65q7 16 -15 26l-84 26q-72 16 -135 16 q-60 0 -122 -14t-128 -43.5t-128 -85t-107 -130.5q-132 48 -249 48q-226 0 -401.5 -140.5t-225.5 -359.5q-177 -41 -292 -185t-115 -329zM592 -201q0 -27 17.5 -52.5t52.5 -35.5q37 -11 68.5 4.5t42.5 59.5l153 626q10 40 -9 72t-56 39q-35 11 -67.5 -7t-43.5 -54l-155 -629 q-3 -21 -3 -23zM870 -529q0 -25 16.5 -49t47.5 -33q18 -4 26 -4q70 0 87 63l240 953q10 39 -7.5 69.5t-53.5 41.5q-37 11 -70.5 -7.5t-41.5 -53.5l-241 -952q0 -2 -1.5 -12.5t-1.5 -15.5zM1314 -210q0 -57 67 -79q22 -6 32 -6q18 0 37 8q32 13 41 62l154 626q10 38 -8 69 t-54 42q-37 11 -70 -7t-41 -54l-153 -629q-5 -27 -5 -32zM1440 1395q51 93 139.5 141.5t187.5 46.5q18 0 28 -1v-32q-2 -155 82.5 -293t236.5 -210q-36 -73 -84 -114q-147 121 -344 121h-33q-44 203 -213 341z" />
<glyph unicode="&#xf029;" horiz-adv-x="2331" d="M-1 527q0 -213 148.5 -366t362.5 -163q18 0 18 18v146q0 19 -18 19q-139 11 -234 110.5t-95 235.5q0 132 90 230t224 114l56 8q20 0 20 18l8 55q17 173 146.5 289.5t304.5 116.5q174 0 304 -116t148 -290l8 -62q0 -19 19 -19h172q144 0 247 -101t103 -243 q0 -136 -95 -235.5t-234 -110.5q-21 0 -21 -19v-146q0 -18 21 -18q213 7 360.5 161t147.5 368q0 139 -69 259q130 117 169 279v14l20 84l-81 22q-130 39 -202 144.5t-72 216.5q0 42 9 83l21 85l-91 27l-15 4q-75 15 -132 15q-60 0 -122 -14t-128.5 -44t-128 -85.5 t-106.5 -131.5q-119 52 -252 52q-226 0 -399.5 -140t-220.5 -358q-180 -41 -295.5 -184t-115.5 -328zM575 -195q0 -24 16 -47.5t48 -35.5q35 -12 68 5.5t44 54.5l30 113q11 33 -7.5 66t-54.5 44q-37 10 -69.5 -9t-44.5 -57l-26 -106q-4 -20 -4 -28zM713 310q0 -20 10 -38 q12 -27 58 -41q39 -10 70 6.5t43 55.5l29 110q11 37 -7 68.5t-54 41.5q-39 10 -71.5 -7.5t-43.5 -55.5l-28 -108q-6 -22 -6 -32zM847 -528q0 -27 16.5 -52.5t48.5 -35.5q18 -5 24 -5q14 0 40 11q32 13 46 59l32 112q11 34 -7.5 67t-54.5 44q-39 10 -71.5 -8.5t-43.5 -56.5 l-27 -108q-3 -13 -3 -27zM989 -19q0 -24 16 -47.5t49 -35.5q36 -11 68 6t43 56l29 111q11 34 -6.5 66.5t-52.5 43.5q-39 10 -72.5 -9t-44.5 -57l-26 -107q0 -3 -1 -8.5t-1.5 -10t-0.5 -8.5zM1288 -207q0 -61 67 -80q13 -3 27 -3q24 0 39 7q32 13 46 61l30 109 q10 40 -8.5 71.5t-56.5 39.5q-37 11 -68.5 -7.5t-42.5 -54.5l-30 -111q0 -4 -1 -10.5t-1.5 -12t-0.5 -9.5zM1435 307q0 -25 17 -49t50 -34q23 -5 25 -5q14 0 40 11q33 13 47 59l29 111q10 35 -9 67t-56 43q-35 11 -67.5 -7.5t-43.5 -55.5l-27 -113q-5 -23 -5 -27zM1440 1391 q51 90 141.5 140t193.5 50h22q-2 -28 -2 -40q0 -152 84 -289t232 -209q-34 -67 -84 -117q-149 129 -346 129h-34q-40 189 -207 336z" />
<glyph unicode="&#xf02a;" horiz-adv-x="2331" d="M-1 525q0 -212 149 -366t363 -161q19 0 19 18v143q0 18 -19 18q-136 7 -233 109.5t-97 238.5t90.5 235t224.5 110l57 8q21 0 21 18l7 55q17 175 146.5 293t305.5 118q174 0 305 -117.5t149 -290.5l8 -61q0 -19 18 -19h173q145 0 248.5 -103t103.5 -246 q0 -136 -97.5 -238.5t-233.5 -109.5q-21 0 -21 -18v-143q0 -18 21 -18q140 4 257.5 76t185 192t67.5 259q0 144 -70 265q119 107 163 275l18 77q2 2 2 8q0 12 -17 17l-65 18q-70 21 -124.5 61t-86 89.5t-47 101t-15.5 101.5q0 43 11 92l12 66q4 15 -15 24l-85 26 q-70 17 -133 17q-59 0 -120 -14t-126 -44t-126 -85.5t-106 -130.5q-129 53 -254 53q-226 0 -401.5 -140.5t-225.5 -359.5q-180 -45 -293.5 -188t-113.5 -329zM680 89q0 -38 25.5 -64.5t62.5 -26.5q38 0 63.5 26.5t25.5 64.5q0 36 -25.5 62t-63.5 26q-37 0 -62.5 -26 t-25.5 -62zM680 -299q0 -36 26 -62t62 -26q38 0 63.5 25t25.5 63t-25.5 63t-63.5 25t-63 -25t-25 -63zM1022 -118q0 -39 26 -63q26 -26 62 -26q38 0 65 26t27 63q0 38 -27 65.5t-65 27.5q-35 0 -61.5 -27.5t-26.5 -65.5zM1022 270q0 -38 26 -62q26 -26 62 -26q39 0 65.5 25 t26.5 63q0 37 -27 63.5t-65 26.5q-36 0 -62 -26.5t-26 -63.5zM1022 -510q0 -35 26 -61q27 -27 62 -27q38 0 65 25.5t27 62.5q0 38 -27 65.5t-65 27.5q-35 0 -61.5 -27.5t-26.5 -65.5zM1367 89q0 -38 26.5 -64.5t63.5 -26.5t62.5 26.5t25.5 64.5q0 36 -25.5 62t-62.5 26 t-63.5 -26t-26.5 -62zM1367 -299q0 -36 26 -62t64 -26q37 0 62.5 25.5t25.5 62.5q0 38 -25 63t-63 25t-64 -25t-26 -63zM1440 1395q50 87 138.5 134.5t182.5 49.5q23 0 34 -2v-33q0 -155 83.5 -292.5t232.5 -209.5q-25 -58 -81 -114q-142 126 -344 126h-33q-44 197 -213 341 z" />
<glyph unicode="&#xf02b;" horiz-adv-x="2331" d="M2 529q0 -213 148.5 -366t362.5 -164q20 0 20 19v142q0 19 -20 19q-137 7 -233 109t-96 241q0 133 90 231t224 114l56 4q21 0 21 19l8 58q17 173 146.5 289.5t304.5 116.5q174 0 305 -117t149 -289l7 -61q0 -20 19 -20h173q142 0 246 -102.5t104 -242.5 q0 -139 -96.5 -241t-233.5 -109q-20 0 -20 -19v-142q0 -19 20 -19q140 5 257.5 77t185 192.5t67.5 260.5q0 139 -73 261q126 120 165 275l14 78q3 1 3 7q0 12 -17 17l-62 18q-91 26 -156 87.5t-92.5 129.5t-27.5 137q0 46 12 91l15 65q4 16 -15 25l-85 26q-72 16 -135 16 q-58 0 -119 -14t-126.5 -43t-127.5 -84t-107 -128q-130 49 -249 49q-226 0 -401 -140.5t-225 -358.5q-177 -42 -291.5 -185.5t-114.5 -328.5zM635 435q0 -61 45 -104t109 -43t106.5 42.5t42.5 104.5q0 41 -37 109t-69 105q-25 28 -43 46l-38 -44q-43 -47 -79.5 -110.5 t-36.5 -105.5zM954 10q0 -105 73 -177t176 -72q105 0 178 73t73 176q0 87 -86 213q-71 93 -137 159q-13 9 -28 24l-25 -24q-63 -58 -136 -158q-38 -53 -63 -111t-25 -103zM1111 721q0 -41 30.5 -70t74.5 -29q41 0 70 29t29 70q0 68 -99 173l-26 -29q-30 -32 -54.5 -74.5 t-24.5 -69.5zM1438 1395q56 91 142.5 137.5t182.5 46.5q19 0 29 -2v-32q0 -154 84.5 -291.5t233.5 -210.5q-25 -60 -80 -110q-148 122 -343 122h-34q-49 210 -215 340z" />
<glyph unicode="&#xf02c;" horiz-adv-x="2331" d="M1 529q0 -177 106 -316.5t275 -190.5l-69 -181q-7 -22 15 -22h226l-138 -446h30l451 600q6 7 2.5 14.5t-14.5 7.5h-232l264 495q11 23 -15 23h-316q-14 0 -24 -16l-114 -307q-114 29 -189.5 124.5t-75.5 214.5q0 133 90.5 231t224.5 114l56 8q21 0 21 19l8 54 q17 173 146.5 290t304.5 117q174 0 305 -117.5t149 -289.5l8 -61q0 -20 18 -20h173q145 0 248 -101.5t103 -243.5q0 -136 -96 -236t-235 -110q-20 0 -20 -20v-145q0 -19 20 -19q213 7 361.5 161.5t148.5 368.5q0 139 -70 261q124 119 162 280l19 73q1 1 1 7q0 13 -16 17 l-66 18q-92 27 -156 89.5t-90.5 130t-25.5 134.5q0 44 11 91l12 65q4 16 -15 25l-85 26q-75 15 -132 15q-59 1 -120.5 -12.5t-126.5 -43t-125.5 -84t-105.5 -128.5q-136 49 -254 49q-226 0 -401 -140.5t-225 -358.5q-177 -42 -292 -185.5t-115 -328.5zM873 -523 q0 -25 16.5 -50t48.5 -35q25 -5 29 -5q15 0 39 11q33 16 45 56l30 112q10 35 -8.5 67.5t-56.5 43.5q-35 10 -67.5 -9t-43.5 -57l-28 -107q0 -3 -2 -12.5t-2 -14.5zM1016 -16q0 -69 65 -80q23 -5 29 -5q60 0 82 67l32 109q10 35 -9 67.5t-57 43.5q-36 11 -68.5 -7.5 t-43.5 -56.5l-27 -108q-3 -14 -3 -30zM1315 -194q2 -27 19 -51.5t51 -36.5q26 -6 36 -6q54 0 75 72l26 109q11 37 -6.5 70t-53.5 44q-40 10 -72.5 -9t-39.5 -57l-31 -110q0 -4 -2 -12.5t-2 -12.5zM1441 1395q53 89 143 137.5t189 48.5h22v-34q0 -102 36 -198t108.5 -177 t171.5 -129q-27 -60 -81 -110q-146 125 -343 125h-34q-45 200 -212 337zM1462 318q0 -69 69 -88q22 -4 32 -4q58 0 79 69l30 111q1 8 1 23q2 27 -15 52.5t-52 35.5q-2 0 -10.5 1.5t-13.5 1.5q-26 0 -51 -16.5t-35 -50.5l-31 -109q0 -1 -1.5 -11t-1.5 -15z" />
<glyph unicode="&#xf02d;" horiz-adv-x="2331" d="M-3 531q0 -178 105.5 -317.5t274.5 -190.5l-70 -180q-4 -22 16 -22h227l-104 -374h31l417 527q6 8 1.5 15.5t-15.5 7.5h-232l264 494q12 23 -15 23h-315q-14 0 -24 -15l-115 -307q-115 29 -190 124.5t-75 214.5q0 133 91 231.5t225 114.5l56 8q20 0 20 18l8 55 q17 173 147 290t305 117q173 0 304.5 -117.5t150.5 -289.5l6 -63q0 -18 20 -18h172q145 0 248 -101.5t103 -244.5q0 -136 -95.5 -236t-234.5 -111q-21 0 -21 -18v-147q0 -19 21 -19q140 5 257.5 77t185 192.5t67.5 261.5q0 139 -70 261q127 121 166 280l15 77q2 2 2 8 q0 11 -17 16l-61 19q-134 38 -204.5 142.5t-70.5 217.5q0 42 9 85l15 65q7 16 -15 25q-34 14 -97 28t-123 14q-58 0 -119 -14t-126.5 -43.5t-127.5 -85t-107 -130.5q-132 48 -253 48q-226 0 -401.5 -140t-225.5 -358q-177 -41 -291.5 -185.5t-114.5 -329.5zM861 -517 q0 -26 15 -49.5t47 -32.5q17 -3 32 -3q66 0 82 67l246 938q10 38 -7 69.5t-53 41.5q-37 11 -69.5 -6.5t-42.5 -52.5l-247 -943q-3 -14 -3 -29zM1305 -195q0 -26 15.5 -49t49.5 -33q5 0 17 -1.5t18 -1.5q60 0 76 67l160 616q10 39 -8 70t-54 41q-37 11 -68.5 -6t-41.5 -53 l-160 -621q-4 -22 -4 -29zM1438 1398q53 91 141.5 139t187.5 48q19 0 28 -1v-34q0 -154 84 -291t232 -210q-29 -65 -85 -114q-147 126 -343 126h-34q-45 200 -211 337z" />
<glyph unicode="&#xf02e;" horiz-adv-x="1600" d="M15 786q0 153 60 293t161 241.5t241.5 162t293.5 60.5h123q25 -7 25 -30l4 -94q6 -203 146.5 -346t340.5 -151l88 -7q25 0 25 -25v-104q1 -205 -99.5 -379.5t-274 -276t-378.5 -101.5q-156 0 -296 60t-241 161.5t-160 241.5t-59 294zM210 786q0 -162 82 -294.5 t210 -203.5t269 -71q93 0 187.5 36.5t176 102t140 167.5t75.5 223q-261 54 -418.5 223.5t-181.5 398.5q-151 -8 -276.5 -93t-194.5 -215.5t-69 -273.5z" />
<glyph unicode="&#xf02f;" d="M-3 93q0 -39 28 -64q29 -29 65 -29h628q42 0 73.5 -30t31.5 -73q0 -41 -32 -72.5t-73 -31.5q-40 0 -72 32q-30 28 -67 28t-63 -27t-26 -65q0 -37 27 -64q83 -83 201 -83t201 82.5t83 200.5q0 119 -83 203t-201 84h-628q-38 0 -65.5 -27t-27.5 -64zM-3 414q0 -37 28 -62 q24 -26 65 -26h1173q118 0 201 83t83 201t-83 200.5t-201 82.5q-122 0 -202 -80q-24 -27 -24 -67q0 -38 24.5 -62.5t63.5 -24.5q40 0 65 24q30 30 73 30q41 0 72 -30t31 -73t-31 -74t-72 -31h-1173q-38 0 -65.5 -27t-27.5 -64zM280 664q0 -13 17 -13h153q13 0 23 15 q36 87 111.5 144t169.5 64l56 7q21 0 21 20l7 53q17 173 146.5 289.5t304.5 116.5t304.5 -115.5t148.5 -290.5l7 -61q0 -19 19 -19h174q144 0 245.5 -101t101.5 -243q0 -143 -101.5 -244.5t-245.5 -101.5h-737q-19 0 -19 -19v-146q0 -19 19 -19h737q143 0 264.5 71t192 193 t70.5 266q0 118 -45 216q121 159 121 355q0 114 -44.5 217.5t-119.5 178t-178.5 118.5t-216.5 44q-246 0 -413 -185q-125 65 -284 65q-226 0 -399 -139t-220 -358q-136 -32 -241.5 -131t-146.5 -233v-4q-2 -5 -2 -10zM1722 1371q115 109 264 109q156 0 268 -112t112 -267 q0 -97 -54 -197q-153 153 -370 153h-36q-37 171 -184 314z" />
<glyph unicode="&#xf030;" d="M-133 91q0 -40 29 -64q27 -28 65 -28h1018q37 0 62.5 27t25.5 65t-25.5 65t-62.5 27h-1018q-38 0 -66 -27.5t-28 -64.5zM149 414q0 -37 28 -62q26 -26 64 -26h1020q38 0 63 25t25 63t-25.5 64.5t-62.5 26.5h-1020q-38 0 -65 -26.5t-27 -64.5zM271 663q0 -12 20 -12h152 q14 0 24 15q36 87 112.5 144t169.5 64l58 8q18 0 18 19l8 54q17 173 147.5 290t306.5 117t306 -116t148 -291l8 -61q0 -20 18 -20h172q146 0 248.5 -101t102.5 -244q0 -142 -102.5 -244t-248.5 -102h-737q-18 0 -18 -18v-147q0 -19 18 -19h737q145 0 267.5 71t194 193 t71.5 266q0 113 -47 214q124 162 124 351q0 152 -75.5 281.5t-205 204.5t-282.5 75q-244 0 -410 -178q-136 65 -289 65q-227 0 -402 -140t-221 -359q-140 -32 -244.5 -128.5t-145.5 -231.5zM336 -239q0 -36 29 -62q26 -26 64 -26h1019q38 0 64.5 25t26.5 63t-27 65t-64 27 h-1019q-38 0 -65.5 -27.5t-27.5 -64.5zM1723 1369q108 104 263 104q158 0 269.5 -111t111.5 -268q0 -100 -53 -189q-157 153 -375 153h-34q-39 175 -182 311z" />
<glyph unicode="&#xf031;" horiz-adv-x="2285" d="M3 529q0 -143 70 -264.5t191 -192.5t264 -71h1153q143 0 264.5 71t192.5 192.5t71 264.5q0 104 -44 213q121 148 121 352q0 152 -74.5 280.5t-203 203.5t-280.5 75q-239 0 -413 -186q-122 69 -286 69q-225 0 -398 -139t-222 -357q-179 -40 -292.5 -183t-113.5 -328z M185 529q0 133 89 230t224 113l73 3l7 77q22 173 150.5 289.5t300.5 116.5q115 0 214.5 -53t162.5 -146.5t74 -206.5l11 -80h190q141 0 243 -101.5t102 -241.5q0 -144 -101.5 -247t-243.5 -103h-1153q-139 0 -241 104t-102 246zM1469 1365q110 106 259 106 q158 0 268.5 -109.5t110.5 -267.5q0 -100 -54 -196q-153 153 -372 153h-33q-44 179 -179 314z" />
<glyph unicode="&#xf032;" horiz-adv-x="2297" d="M-1 529q0 -213 148.5 -366t362.5 -164q19 0 19 19v142q0 19 -19 19q-137 7 -233 109t-96 241q0 133 90 231t224 114l56 8q20 0 20 19l8 54q17 173 147 289.5t305 116.5q174 0 305 -117t149 -289l6 -62q0 -19 20 -19h172q145 0 247.5 -101t102.5 -244q0 -139 -96 -241 t-233 -109q-21 0 -21 -19v-142q0 -19 21 -19q140 5 257.5 77t185 192.5t67.5 260.5q0 118 -46 214q126 153 126 354q0 151 -75.5 280t-204.5 204.5t-280 75.5q-249 0 -414 -185q-131 70 -289 70q-226 0 -401 -140.5t-225 -358.5q-176 -42 -291 -185.5t-115 -328.5zM571 -215 q14 -35 50 -49q32 -16 66.5 -2.5t47.5 47.5q14 35 1 69.5t-47 50.5q-32 13 -65.5 -1t-49.5 -46q-17 -28 -3 -69zM639 87q0 -25 16.5 -49t49.5 -33q36 -11 68.5 6t45.5 59l106 332q12 39 -8 71t-59 40q-35 11 -66.5 -6.5t-42.5 -53.5l-107 -339q0 -3 -1 -8.5t-1.5 -10 t-0.5 -8.5zM838 -511q0 -14 5 -31q14 -35 50 -48q13 -8 35 -8q10 0 32 6q35 13 50.5 48.5t-0.5 70.5t-48 49t-66 1q-31 -13 -44.5 -38.5t-13.5 -49.5zM917 -226q0 -28 16 -51t51 -30q3 0 12 -2t14 -2q69 5 86 66l187 647q11 39 -6 69.5t-53 41.5q-37 11 -69 -6.5t-43 -53.5 l-192 -647q0 -4 -1 -10.5t-1.5 -12t-0.5 -9.5zM1283 -183q0 -12 6 -34q13 -34 49 -47q15 -7 38 -7q19 0 31 6q36 14 49 46q13 35 0 69t-45 51q-35 13 -69.5 -1t-50.5 -46q-8 -17 -8 -37zM1360 88q0 -57 66 -80q22 -6 32 -6q20 0 36 9q28 14 43 59l105 332q12 37 -6.5 68.5 t-54.5 42.5q-37 11 -68 -6.5t-43 -53.5l-105 -334q-5 -27 -5 -31zM1470 1369q110 106 264 106q156 0 266.5 -111t110.5 -267q0 -99 -55 -196q-157 157 -373 157h-34q-49 185 -179 311z" />
<glyph unicode="&#xf033;" horiz-adv-x="2285" d="M-6 525q0 -105 40 -200.5t108.5 -165t162.5 -112.5t199 -48q19 0 19 18v143q0 18 -19 18q-139 10 -234 110t-95 237q0 134 90.5 233t223.5 111l56 6q21 0 21 19l8 55q11 114 73.5 207t162 145.5t214.5 52.5q174 0 304 -115t149 -287l6 -62q0 -18 20 -18h171 q144 0 247 -102.5t103 -244.5q0 -137 -95 -237t-234 -110q-21 0 -21 -18v-143q0 -18 21 -18q214 10 361 161.5t147 364.5q0 102 -50 220q127 159 127 349q0 152 -75.5 281t-204 204t-279.5 75q-253 0 -412 -185q-130 68 -285 68q-225 0 -400 -140.5t-224 -359.5 q-179 -41 -292.5 -184t-113.5 -328zM810 32q-4 -22 15 -22h231l-141 -445h31l446 595q6 7 3 14.5t-14 7.5h-234l245 452q12 23 -15 23h-314q-12 0 -22 -15zM1457 1366q107 106 264 106t266.5 -110t109.5 -268q0 -95 -55 -192q-155 149 -368 149h-33q-47 190 -184 315z" />
<glyph unicode="&#xf034;" horiz-adv-x="2308" d="M3 527q0 -139 68.5 -259t186.5 -192.5t259 -76.5q19 0 19 18v143q0 19 -19 19q-137 7 -234.5 109.5t-97.5 238.5q0 135 91.5 235t225.5 111l56 8q20 0 20 18l8 55q17 176 147.5 294.5t306.5 118.5q174 0 305.5 -118t149.5 -291l8 -62q0 -18 18 -18h174 q144 0 247.5 -103.5t103.5 -247.5q0 -136 -97.5 -238.5t-233.5 -109.5q-20 0 -20 -19v-143q0 -18 20 -18q141 4 258.5 76.5t185 192.5t67.5 259q0 118 -44 215q129 159 129 359q0 153 -75.5 282.5t-205 205t-281.5 75.5q-119 0 -229.5 -49.5t-190.5 -136.5q-141 69 -289 69 q-227 0 -403 -140.5t-226 -359.5q-180 -46 -294 -190t-114 -330zM573 -227q0 -27 17 -54t50 -37q37 -11 68.5 4t42.5 60l15 65q8 36 -10 67.5t-55 42.5q-36 11 -68.5 -8t-42.5 -57l-15 -63q-2 -6 -2 -20zM654 82q0 -35 26 -61q25 -27 61 -27q38 0 64 25.5t26 62.5t-26 62.5 t-64 25.5q-37 0 -62 -25t-25 -63zM719 325q-2 -25 14 -48.5t51 -34.5q33 -10 66.5 7.5t44.5 54.5l30 96q12 39 -7.5 69.5t-58.5 41.5q-35 11 -67 -7t-43 -53l-27 -98q-3 -27 -3 -28zM842 -560q0 -27 17 -52.5t52 -35.5q14 -3 26 -3q69 0 85 65l15 63q10 40 -9 72.5t-57 39.5 q-34 11 -66.5 -7.5t-43.5 -54.5l-15 -63q-4 -18 -4 -24zM926 -250q0 -36 26 -62t62 -26q38 0 63 25t25 63q0 37 -25 62t-63 25t-63 -25t-25 -62zM992 -8q-2 -24 14.5 -50t48.5 -32q37 -10 68 6t44 60l28 96q11 35 -7.5 67t-56.5 43q-35 11 -68 -8.5t-44 -56.5l-24 -96 q-3 -14 -3 -29zM1287 -237q0 -27 16 -51.5t49 -34.5q5 0 15 -2t15 -2q65 0 81 70l15 64q11 34 -7.5 67t-54.5 44q-39 10 -71.5 -8.5t-43.5 -56.5l-11 -63q0 -2 -1.5 -12t-1.5 -15zM1366 78q0 -37 26 -61q24 -26 62 -26t63 25t25 62q0 38 -25 63t-63 25t-63 -25t-25 -63z M1431 325q0 -27 17.5 -51.5t52.5 -34.5q3 0 12.5 -2t14.5 -2q17 0 39 10q33 17 43 56l27 96q10 36 -8 67.5t-54 42.5q-37 11 -68.5 -6t-42.5 -54l-30 -97q0 -3 -1.5 -11.5t-1.5 -13.5zM1480 1370q111 111 269 111q157 0 267.5 -111.5t110.5 -268.5q0 -105 -55 -197 q-154 154 -377 154h-34q-44 186 -181 312z" />
<glyph unicode="&#xf035;" horiz-adv-x="2320" d="M-5 515q0 -181 107 -321t280 -192q15 -2 26 8l121 156q-143 0 -246.5 102.5t-103.5 246.5q0 138 91.5 239t228.5 112l56 8q18 0 18 15l8 60q19 176 150.5 294t307.5 118q178 0 310 -117t149 -292l8 -63q4 -18 22 -18h175q144 0 248 -105t104 -251q0 -135 -91.5 -235.5 t-224.5 -113.5q-76 0 -97 -30l-233 -256q-25 -29 -20 -66.5t34 -67.5q21 -28 62.5 -24.5t64.5 40.5l209 222q132 13 242.5 87.5t175 192t64.5 251.5q0 101 -46 222q124 158 124 354q0 156 -76 286.5t-207 206t-285 75.5q-251 0 -416 -182q-139 69 -296 69q-229 0 -405 -142 t-226 -366q-183 -41 -298 -186.5t-115 -336.5zM400 -285q0 -21 6 -34q13 -34 47 -47q36 -16 72.5 -2.5t48.5 48.5q16 35 2 71.5t-49 49.5q-36 13 -70 -0.5t-50 -47.5q-7 -15 -7 -38zM597 -24q0 -37 34 -71q68 -58 134 16l234 260q24 28 19 65.5t-34 60.5q-29 22 -66.5 17 t-62.5 -31l-236 -254q-22 -32 -22 -63zM665 -550q0 -19 8 -34q14 -36 45 -49q19 -8 39 -8q12 0 34 6q34 15 47 48q16 32 2 68t-48 49q-36 17 -69.5 3t-51.5 -51q-6 -18 -6 -32zM843 -295v-14q3 -38 35 -64q23 -29 63.5 -25.5t63.5 40.5l450 524q25 29 21 68t-37 61 q-28 23 -65 20t-62 -32l-449 -525q-20 -21 -20 -53zM1231 -384q-11 -36 0 -66q14 -35 48 -52q17 -8 38 -8q10 0 32 6q36 14 49 49q16 36 2.5 70t-47.5 47q-36 17 -70 3.5t-52 -49.5zM1487 1368q109 109 264 109q161 0 273 -112.5t112 -273.5q0 -100 -55 -194 q-156 156 -378 156h-34q-40 182 -182 315z" />
<glyph unicode="&#xf036;" horiz-adv-x="2297" d="M1 525q0 -105 40 -200.5t108.5 -165t163 -112.5t199.5 -48q18 0 18 18v143q0 18 -18 18q-139 10 -234 110t-95 237q0 134 90.5 233.5t223.5 110.5l56 6q21 0 21 20l7 54q17 174 146 289.5t305 115.5q175 0 305 -114.5t148 -286.5l6 -62q0 -19 20 -19h171 q144 0 247 -102.5t103 -244.5q0 -137 -95 -237t-234 -110q-21 0 -21 -18v-143q0 -18 21 -18q214 10 362 161.5t148 364.5q0 112 -46 212q126 153 126 358q0 150 -75.5 279t-204.5 204.5t-279 75.5q-249 0 -414 -185q-141 69 -288 69q-226 0 -400.5 -140.5t-224.5 -360.5 q-176 -41 -291 -184.5t-115 -327.5zM586 -187q0 -64 69 -83q33 -11 67 6.5t44 53.5l160 611q10 35 -9.5 67t-57.5 43q-35 11 -67 -7.5t-42 -55.5l-160 -608q-4 -18 -4 -27zM863 -513q0 -19 9 -39q16 -33 54 -46q4 0 10.5 -1t12 -1.5t9.5 -0.5q69 0 81 70l246 932 q11 35 -7 67t-54 43q-39 11 -72 -7.5t-40 -55.5l-246 -933q-3 -15 -3 -28zM1306 -186q0 -25 17 -50t48 -34q11 -3 24 -3q27 0 52 14.5t34 48.5l160 611q12 33 -7 66t-55 44q-39 11 -70.5 -7.5t-38.5 -55.5l-160 -608q-4 -18 -4 -26zM1470 1362q107 107 264 107 q156 0 266 -109t110 -265q0 -100 -55 -197q-153 153 -373 153h-33q-45 187 -179 311z" />
<glyph unicode="&#xf037;" horiz-adv-x="2297" d="M-1 526q0 -105 40 -200.5t108.5 -165.5t163.5 -113t200 -48q19 0 19 18v143q0 18 -19 18q-136 7 -232.5 109.5t-96.5 238.5t90 235t224 110l57 7q16 0 16 16l8 57q18 175 149 291.5t307 116.5q174 0 304.5 -115.5t149.5 -288.5l7 -61q0 -20 19 -20h173q142 0 244 -102 t102 -246q0 -136 -95 -238.5t-231 -109.5q-20 0 -20 -18v-143q0 -18 20 -18q214 10 362 162t148 365q0 100 -45 213q122 160 122 351q0 151 -75.5 280.5t-204.5 205t-280 75.5q-245 0 -412 -178q-139 69 -288 69q-227 0 -402 -141t-224 -361q-181 -42 -294.5 -183.5 t-113.5 -330.5zM574 -194q0 -27 15.5 -51.5t51.5 -36.5q18 -9 39.5 -7.5t43 21t29.5 51.5l30 108q10 40 -8.5 72t-56.5 39q-34 11 -67 -7.5t-44 -53.5l-30 -111q-3 -14 -3 -24zM714 315q1 -31 18 -55.5t51 -29.5q27 -5 32 -5q60 0 81 70l30 107q10 37 -8.5 70.5t-56.5 44.5 q-36 10 -68 -8.5t-43 -55.5l-32 -112q-4 -20 -4 -26zM846 -528q0 -28 16.5 -53t51.5 -35q22 -5 30 -5q14 0 40 11q27 13 41 59l32 108q10 40 -9 72.5t-56 39.5q-35 11 -68.5 -7.5t-44.5 -54.5l-30 -111q-3 -14 -3 -24zM987 -16q0 -27 17.5 -52.5t52.5 -35.5q36 -11 67.5 5 t43.5 60l30 108q11 40 -7.5 71t-56.5 38q-35 12 -68 -6.5t-44 -54.5l-30 -111q-5 -18 -5 -22zM1291 -202q-2 -25 14.5 -49.5t49.5 -35.5l28 -3q18 -1 40 8q33 13 44 58l31 112q11 37 -8 68.5t-55 42.5q-40 10 -71 -9t-38 -57l-31 -107q0 -3 -2 -12.5t-2 -15.5zM1435 310 q0 -28 17.5 -53t52.5 -32q1 0 11 -1.5t15 -1.5q70 0 87 66l30 110q10 40 -9 72t-57 39q-37 11 -68.5 -7.5t-41.5 -56.5l-32 -109q-5 -22 -5 -26zM1472 1366q107 103 261 103q156 0 266 -111.5t110 -267.5q0 -102 -51 -189q-154 154 -372 154h-35q-40 176 -179 311z" />
<glyph unicode="&#xf038;" horiz-adv-x="2297" d="M-5 529q0 -213 149 -366.5t363 -163.5q20 0 20 18v143q0 18 -20 18q-137 8 -233.5 110t-96.5 241q0 133 91 231t225 114l56 4q20 0 20 19l8 58q17 173 147 290t305 117q174 0 304.5 -117t148.5 -290l8 -61q0 -20 19 -20h172q145 0 248 -101.5t103 -243.5 q0 -139 -96.5 -241t-233.5 -110q-21 0 -21 -18v-143q0 -18 21 -18q214 7 362.5 161.5t148.5 368.5q0 114 -46 214q126 154 126 354q0 152 -75.5 281.5t-204.5 204.5t-280 75q-248 0 -415 -185q-129 69 -289 69q-226 0 -401.5 -140.5t-225.5 -358.5q-177 -42 -292 -185.5 t-115 -328.5zM677 90q0 -35 26 -61q27 -27 62 -27q37 0 62.5 25t25.5 63t-25 63t-63 25t-63 -25t-25 -63zM677 -297q0 -38 26 -62q26 -26 62 -26q38 0 63 25t25 63t-25.5 64.5t-62.5 26.5t-62.5 -26.5t-25.5 -64.5zM1017 -112q0 -37 27 -65.5t62 -28.5q37 0 64.5 28t27.5 66 q0 35 -27.5 61.5t-64.5 26.5q-35 0 -62 -26.5t-27 -61.5zM1017 271q0 -36 26 -62t63 -26q38 0 65 25.5t27 62.5t-27 63.5t-65 26.5q-36 0 -62.5 -26.5t-26.5 -63.5zM1017 -504q0 -37 26.5 -64t62.5 -27q38 0 65 27t27 64q0 35 -27.5 61.5t-64.5 26.5q-35 0 -62 -26.5 t-27 -61.5zM1362 90q0 -32 27 -61q27 -27 64 -27t62.5 25t25.5 63t-25 63t-63 25t-64.5 -25t-26.5 -63zM1362 -297q0 -35 27 -62q26 -26 64 -26t63 25t25 63t-25.5 64.5t-62.5 26.5t-64 -27t-27 -64zM1467 1369q108 108 266 108q157 0 266.5 -111t109.5 -269q0 -94 -54 -196 q-154 154 -374 154h-33q-47 186 -181 314z" />
<glyph unicode="&#xf039;" horiz-adv-x="2297" d="M-2 529q0 -213 148.5 -366.5t363.5 -163.5q18 0 18 18v146q0 20 -18 20q-140 10 -235.5 110t-95.5 236q0 135 91 234.5t225 110.5l56 7q20 0 20 20l7 53q17 173 147 290t306 117q175 0 305 -116.5t149 -290.5l6 -61q0 -19 20 -19h171q145 0 248 -101.5t103 -243.5 q0 -136 -95 -236t-234 -110q-22 0 -22 -20v-146q0 -18 22 -18q213 7 361.5 161.5t148.5 368.5q0 118 -46 214q126 153 126 358q0 151 -75.5 280.5t-204.5 205t-280 75.5q-244 0 -419 -187q-132 67 -284 67q-226 0 -401.5 -140t-224.5 -359q-177 -42 -292 -185.5t-115 -328.5 zM631 435q0 -60 45.5 -104t108.5 -44t106.5 43t43.5 105q0 41 -37.5 109t-70.5 107q-3 4 -19.5 21.5t-22.5 25.5l-38 -43q-44 -48 -80 -112.5t-36 -107.5zM950 10q0 -101 73.5 -175t175.5 -74q103 0 177 74t74 175q0 43 -25 103t-60 111q-74 95 -138 159q-9 7 -28 26 l-62 -62q-71 -68 -129 -166.5t-58 -170.5zM1107 725q0 -43 30 -71.5t76 -28.5q41 0 70 28.5t29 71.5q0 65 -99 172l-27 -28q-30 -32 -54.5 -74.5t-24.5 -69.5zM1469 1369q107 106 265 106q156 0 266 -109t110 -265q0 -101 -54 -197q-160 154 -374 154h-33q-45 188 -180 311z " />
<glyph unicode="&#xf03a;" horiz-adv-x="2297" d="M-1 533q0 -176 106 -317.5t274 -191.5l-68 -177q-7 -22 15 -22h226l-122 -436h31l435 586q6 7 1.5 15t-15.5 8h-232l264 498q12 23 -15 23h-315q-16 0 -21 -15l-117 -312q-114 29 -189.5 125t-75.5 216q0 134 90.5 233.5t224.5 111.5l56 7q21 0 21 18l8 55 q17 174 146.5 290.5t305.5 116.5q175 0 305 -116.5t149 -290.5l7 -62q0 -18 19 -18h173q145 0 248 -101.5t103 -243.5q0 -137 -96 -237.5t-235 -110.5q-20 0 -20 -19v-147q0 -18 20 -18q213 7 361.5 162t148.5 370q0 114 -45 213q123 161 123 351q0 114 -45 217.5 t-120 178.5t-179 119.5t-217 44.5q-118 0 -226 -48t-186 -134q-131 70 -288 70q-227 0 -402 -139.5t-225 -359.5q-177 -41 -292 -185t-115 -328zM871 -520q0 -28 17 -54.5t49 -32.5q1 0 11 -1.5t15 -1.5q69 5 86 65l31 113q10 35 -9.5 67.5t-56.5 43.5q-35 10 -67.5 -9 t-43.5 -57l-28 -107q-4 -20 -4 -26zM1014 -11q0 -24 16.5 -48t49.5 -36q35 -12 67 5.5t43 56.5l32 111q10 40 -8.5 72t-56.5 39q-36 11 -69 -7.5t-45 -56.5l-26 -109q0 -3 -1 -8.5t-1.5 -10t-0.5 -8.5zM1315 -184q0 -30 17.5 -55.5t50.5 -34.5q25 -5 28 -5q64 0 83 64 l26 113q11 35 -6 67t-53 44q-40 10 -73.5 -9.5t-40.5 -56.5l-29 -106q-3 -12 -3 -21zM1461 322q0 -26 17 -50.5t52 -36.5q27 -3 28 -3q19 0 40 9q31 16 42 56l31 111q10 35 -9.5 67.5t-56.5 43.5q-36 11 -68 -7.5t-43 -56.5l-30 -109q-3 -14 -3 -24zM1472 1373 q106 102 261 102q157 0 267 -110.5t110 -267.5q0 -101 -52 -190q-158 154 -372 154h-35q-49 186 -179 312z" />
<glyph unicode="&#xf03b;" horiz-adv-x="2297" d="M2 529q0 -178 106 -318t274 -187l-69 -179q-8 -23 15 -23h226l-111 -447h30l423 600q6 7 1.5 15t-15.5 8h-232l264 492q11 23 -15 23h-314q-14 0 -24 -15l-114 -306q-114 28 -188.5 122t-74.5 215q0 133 89.5 230.5t223.5 113.5l57 4q20 0 20 19l8 57q17 173 146 289.5 t304 116.5q173 0 303 -117t148 -289l8 -60q0 -20 19 -20h172q142 0 245.5 -102t103.5 -242q0 -138 -96 -239.5t-232 -108.5q-21 0 -21 -19v-143q0 -18 21 -18q139 4 256 76.5t184 192.5t67 259q0 119 -44 214q124 146 124 353q0 150 -75 279t-203.5 204t-278.5 75 q-248 0 -413 -185q-129 69 -288 69q-225 0 -400 -139.5t-224 -357.5q-176 -41 -291 -184.5t-115 -327.5zM848 -525q0 -26 15.5 -49t48.5 -33q3 0 8.5 -1t10 -1.5t8.5 -0.5q67 0 85 64l259 948q10 37 -7 68.5t-52 42.5q-37 11 -69.5 -6.5t-42.5 -53.5l-261 -949 q-3 -27 -3 -29zM1290 -201q0 -26 16 -50t51 -35q3 0 8.5 -1t10 -1.5t8.5 -0.5q19 0 38 8q31 13 44 59l175 624q10 37 -8 68.5t-54 42.5q-37 11 -68.5 -6.5t-41.5 -53.5l-174 -628q-5 -23 -5 -26zM1469 1367q108 102 264 102q155 0 264.5 -109t109.5 -264q0 -103 -53 -197 q-154 154 -372 154h-34q-45 184 -179 314z" />
<glyph unicode="&#xf03c;" horiz-adv-x="1131" d="M1 1160q0 80 57 137t137 57q79 0 135.5 -57t56.5 -137t-56.5 -137t-135.5 -57t-136.5 57t-57.5 137zM95 1160q0 -41 30 -71t70 -30q41 0 71 30t30 71t-30 71t-71 30q-42 0 -71 -29.5t-29 -71.5zM510 688q0 -123 68 -219q35 -50 98.5 -79.5t144.5 -29.5q233 0 292 178 q6 23 -6.5 43.5t-35.5 24.5q-23 6 -43 -7t-25 -36q0 -1 -1.5 -5.5l-2.5 -7.5q-18 -30 -48 -48q-50 -30 -130 -30q-51 0 -90 17q-64 27 -91 95q-18 44 -18 104v344q0 24 3 48q6 61 48 111q47 56 148 56q82 0 130 -29q32 -19 48 -48q1 -3 2.5 -8.5t1.5 -6.5q6 -22 25 -32.5 t43 -5.5q23 5 35.5 24.5t6.5 42.5v1l-9 25q-8 18 -29.5 46t-48.5 47q-77 56 -205 56q-81 0 -144 -28.5t-98 -77.5q-69 -95 -69 -221v-344z" />
<glyph unicode="&#xf03d;" horiz-adv-x="2217" d="M3 531q0 -214 149 -367t363 -163q19 0 19 18v143q0 19 -19 19q-137 7 -233.5 109t-96.5 241q0 133 91 231.5t225 114.5l56 3q20 0 20 18l8 59q16 173 146 289.5t306 116.5q174 0 304.5 -116.5t148.5 -289.5l8 -62q0 -18 19 -18h172q142 0 246.5 -103t104.5 -243 q0 -139 -96.5 -241t-233.5 -109q-21 0 -21 -19v-143q0 -18 21 -18q213 7 361 161t148 369q0 144 -71 265t-193 190.5t-266 69.5h-34q-52 214 -224.5 351t-393.5 137q-226 0 -401.5 -140t-225.5 -359q-176 -41 -291.5 -185.5t-115.5 -328.5zM746 368q0 -37 27 -64l275 -278 q20 -25 62 -25q45 0 65 25l276 278q27 29 27 64q0 37 -26.5 62t-64.5 25t-66 -25l-120 -118v425q0 38 -26.5 63t-64.5 25t-63 -25t-25 -63v-425l-118 118q-28 25 -66 25q-40 0 -66 -24.5t-26 -62.5z" />
<glyph unicode="&#xf03e;" horiz-adv-x="2217" d="M6 527q0 -105 40 -200.5t108.5 -165t163 -112.5t199.5 -48q18 0 18 18v142q0 20 -18 20q-139 10 -234.5 110t-95.5 236q0 134 91 233.5t224 110.5l56 8q20 0 20 18l8 55q11 114 74 207.5t162.5 146t214.5 52.5q175 0 305 -115t148 -288l7 -61q0 -19 20 -19h172 q144 0 247 -103t103 -245q0 -136 -95 -236t-234 -110q-21 0 -21 -20v-142q0 -18 21 -18q214 10 361 161.5t147 364.5q0 143 -71 264.5t-193 192.5t-265 71h-34q-53 213 -225.5 350t-392.5 137q-225 0 -400.5 -141.5t-225.5 -360.5q-176 -41 -290.5 -185t-114.5 -328z M670 392q0 -119 59.5 -220.5t161 -161.5t219.5 -60q184 0 314.5 130.5t130.5 311.5q0 38 -26.5 64.5t-64.5 26.5t-66 -27t-28 -64q0 -108 -76 -184.5t-184 -76.5q-107 0 -183.5 77t-76.5 184q0 96 57.5 171t140.5 82l-45 -42q-24 -24 -24 -61q0 -40 24 -70q22 -24 57 -25 t75 25l194 199q26 26 26 62q0 41 -26 65l-194 195q-30 28 -66 28q-37 0 -63.5 -27t-26.5 -65t24 -62l38 -38q-160 -27 -265.5 -149t-105.5 -288z" />
<glyph unicode="&#xf040;" horiz-adv-x="2217" d="M0 530q0 -213 148.5 -366t362.5 -163q18 0 18 18v142q0 20 -18 20q-137 7 -233 108.5t-96 240.5q0 132 90 230t224 114h56q21 0 21 19l6 61q17 173 147 290t305 117q173 0 303.5 -117t148.5 -290l8 -61q0 -19 19 -19h172q142 0 246 -102.5t104 -241.5q0 -138 -96.5 -240 t-232.5 -109q-21 0 -21 -20v-142q0 -18 21 -18q139 4 256 76t184.5 192.5t67.5 260.5q0 107 -42 204t-113 167t-169 111.5t-205 41.5h-34q-53 214 -225 350.5t-392 136.5q-226 0 -401 -140.5t-224 -358.5q-177 -41 -291.5 -184.5t-114.5 -327.5zM741 463q0 -40 26 -68 q24 -24 65 -24q39 0 66 24l118 122v-424q0 -38 25 -65t63 -27q37 0 64 27t27 65v420l120 -118q64 -49 130 0q26 24 26 66q0 38 -26 66l-276 274q-26 26 -64 26q-39 0 -63 -26l-275 -274q-26 -26 -26 -64z" />
<glyph unicode="&#xf041;" horiz-adv-x="2217" d="M3 531q0 -214 149 -367t363 -163q19 0 19 18v143q0 19 -19 19q-137 7 -233.5 109t-96.5 241q0 133 91 231.5t225 114.5h56q20 0 20 18l8 62q16 173 146 289.5t306 116.5q174 0 304.5 -116.5t148.5 -289.5l8 -62q0 -18 19 -18h172q142 0 246.5 -103t104.5 -243 q0 -139 -96.5 -241t-233.5 -109q-21 0 -21 -19v-143q0 -18 21 -18q213 7 361 161t148 369q0 144 -71 265t-193 190.5t-266 69.5h-34q-52 214 -224.5 351t-393.5 137q-226 0 -401.5 -140t-225.5 -359q-176 -41 -291.5 -185.5t-115.5 -328.5z" />
<glyph unicode="&#xf042;" horiz-adv-x="377" d="M-3 1349q0 80 57 137t137 57q79 0 135.5 -57t56.5 -137t-56.5 -137.5t-135.5 -57.5t-136.5 57.5t-57.5 137.5zM90 1349q0 -41 30 -71t71 -30t70.5 30t29.5 71t-29.5 70.5t-70.5 29.5q-42 0 -71.5 -29t-29.5 -71z" />
<glyph unicode="&#xf043;" horiz-adv-x="685" d="M6 542q0 -31 20.5 -51.5t50.5 -20.5h306q30 0 50.5 20.5t20.5 51.5q0 30 -20.5 49.5t-50.5 19.5h-133l415 414q18 21 18 53q0 30 -18 49q-20 19 -54 19q-31 0 -50 -19l-412 -413v133q0 31 -20.5 51.5t-51.5 20.5q-30 0 -50.5 -21t-20.5 -51v-305z" />
<glyph unicode="&#xf044;" horiz-adv-x="685" d="M-6 574q0 -34 28 -59l256 -261q25 -25 61 -25q38 0 63 25l256 261q27 24 27 59q0 36 -24.5 60.5t-60.5 24.5t-61 -25l-113 -112v703q0 36 -25.5 60t-61.5 24t-61 -24t-25 -60v-703l-114 112q-25 25 -59 25q-36 0 -61 -24.5t-25 -60.5z" />
<glyph unicode="&#xf045;" horiz-adv-x="1131" d="M3 1157q0 79 58 137q57 57 137 57q79 0 135.5 -57t56.5 -137t-56.5 -137.5t-135.5 -57.5q-80 0 -137.5 58t-57.5 137zM97 1157q0 -41 30 -71t71 -30t70.5 30t29.5 71t-29.5 70.5t-70.5 29.5q-42 0 -71.5 -29t-29.5 -71zM568 422q0 -23 16.5 -39.5t39.5 -16.5t39.5 16.5 t16.5 39.5v404h305q23 0 39.5 17t16.5 40q0 24 -16 40t-40 16h-305v291h408q23 0 38.5 16.5t15.5 39.5t-15.5 39.5t-38.5 16.5h-509q-11 0 -11 -12v-908z" />
<glyph unicode="&#xf046;" horiz-adv-x="2285" d="M-13 635q0 42 29 66q23 24 66 24h222q39 0 64.5 -25.5t25.5 -64.5q0 -38 -26 -65t-64 -27h-222q-39 0 -67 27t-28 65zM87 93q0 38 27 65q26 25 65 25h1942q39 0 66.5 -26t27.5 -64t-28 -65.5t-66 -27.5h-1942q-38 0 -65 27.5t-27 65.5zM304 1391q0 41 25 63q27 29 66 29 t66 -29l154 -156q27 -26 27 -64q0 -40 -26 -65.5t-64 -25.5q-35 0 -64 26l-159 157q-25 22 -25 65zM582 635q0 -139 57 -249q5 -15 25 -15h178q12 0 14.5 6.5t-7.5 17.5q-84 103 -84 240q0 159 114 271t272 112q159 0 271.5 -112t112.5 -271q0 -136 -86 -240q-6 -10 -6 -13 q-1 -5 3 -8t11 -3h182q14 0 22 15q59 111 59 249q0 153 -76.5 284.5t-208 208.5t-284.5 77t-284.5 -77t-208 -208.5t-76.5 -284.5zM1058 1481v223q0 38 27.5 66t65.5 28t66 -28t28 -66v-223q0 -38 -28 -66t-66 -28t-65.5 28t-27.5 66zM1658 1234q0 38 27 64l154 156 q27 29 65 29q40 0 67 -26.5t27 -65.5q0 -41 -24 -65l-161 -157q-26 -24 -63 -24q-40 -1 -66 24t-26 65zM1906 635q0 42 27 66q23 24 62 24h223q39 0 66.5 -25.5t27.5 -64.5q0 -38 -28 -65t-66 -27h-223q-37 0 -63 27t-26 65z" />
<glyph unicode="&#xf047;" horiz-adv-x="2285" d="M73 94q0 42 30 66q22 25 67 25h1956q40 0 68 -26t28 -65q0 -38 -28 -66.5t-68 -28.5h-1956q-40 0 -68.5 28.5t-28.5 66.5zM283 978q0 41 26 67q27 28 68 28q37 0 64 -28l160 -160q29 -29 29 -67q0 -37 -29 -66q-24 -29 -64 -28.5t-68 28.5l-160 160q-26 25 -26 66z M597 382q-7 -25 16 -25h158q11 0 24 18q48 102 142 162t209 60q116 0 212 -60t144 -162q13 -18 24 -18h159q20 0 16 25q-54 180 -208 293.5t-347 113.5q-192 0 -343.5 -113t-205.5 -294zM1055 1071v228q0 40 26 68t65 28q40 0 67 -27.5t27 -68.5v-228q0 -41 -27 -68t-67 -27 q-39 0 -65 27.5t-26 67.5zM1665 818q0 37 28 67l163 160q25 28 66 28q39 0 64 -27t25 -68q0 -42 -25 -66l-157 -160q-27 -27 -61 -30q-36 -4 -69.5 26t-33.5 70z" />
<glyph unicode="&#xf048;" horiz-adv-x="1085" d="M6 734q0 -38 25 -63l262 -256q23 -26 58 -26q36 0 61 24t25 60q0 35 -26 61l-112 112h703q36 0 60 25.5t24 61.5t-24 61.5t-60 26.5h-703l112 113q26 26 26 59q0 36 -25 61t-61 25q-33 0 -58 -28l-262 -256q-25 -25 -25 -61z" />
<glyph unicode="&#xf04a;" horiz-adv-x="2285" d="M-288 99q0 -36 27 -61t66 -25h1985q38 0 64.5 25t26.5 61q0 39 -26 65.5t-65 26.5h-1985q-38 0 -65.5 -27t-27.5 -65zM-10 431q0 -38 28 -63q22 -29 63 -29h1985q37 0 62 27t25 65q0 37 -25 62t-62 25h-1985q-38 0 -64.5 -25t-26.5 -62zM6 689v5q-7 -24 13 -24h154 q9 0 20 16q38 83 113.5 136t165.5 60l57 8q20 0 20 19l6 53q17 172 145.5 287.5t302.5 115.5q172 0 301 -114t147 -285l7 -61q0 -19 22 -19h169q103 0 187 -55t125 -145q11 -16 23 -16h151q19 0 16 24q-35 89 -49 113q116 104 160 274l18 70q4 10 -1.5 17t-12.5 7l-66 23 q-143 41 -217.5 169t-39.5 273l14 62q8 15 -14 25l-90 25q-175 43 -343 -28t-263 -226q-127 49 -244 49q-222 0 -395.5 -140t-223.5 -357q-135 -32 -236.5 -129t-141.5 -232zM175 -226q0 -38 28 -63q27 -29 63 -29h1989q37 0 63 27t26 65q0 37 -26 62t-63 25h-1989 q-38 0 -64.5 -25t-26.5 -62zM1402 1403q56 92 150.5 142t199.5 40q-11 -167 75 -312.5t237 -215.5q-24 -56 -80 -114q-147 121 -335 121h-34q-51 210 -213 339z" />
<glyph unicode="&#xf04b;" horiz-adv-x="685" d="M-2 741q0 -192 134 -326.5t326 -134.5q30 0 51.5 23t21.5 54t-21 51.5t-52 20.5q-130 0 -220.5 91t-90.5 221q0 124 85.5 216t200.5 92l-35 -34q-24 -23 -22 -52q0 -29 21 -51.5t52 -22.5q32 0 54 22l161 160q21 17 21 54q0 35 -21 50l-161 163q-21 22 -53 22 q-31 0 -53 -22t-22 -53q0 -33 23 -54l32 -30q-184 -13 -308 -144.5t-124 -315.5z" />
<glyph unicode="&#xf04c;" horiz-adv-x="1108" d="M-7 674q0 -151 75.5 -279.5t204 -203t278.5 -74.5q153 0 281.5 74t202.5 202t74 281q0 38 -25.5 65t-62.5 27t-64.5 -27t-27.5 -65q0 -157 -110.5 -267.5t-267.5 -110.5q-155 0 -264 110.5t-109 267.5q0 136 84.5 246.5t196.5 117.5l-41 -39q-26 -28 -26 -62 q0 -36 26 -64q58 -56 129 0l196 194q26 20 26 66q0 41 -26 61l-196 198q-28 26 -61 26q-40 0 -67 -26.5t-27 -64.5q0 -39 26 -65l41 -38q-200 -35 -333 -191.5t-133 -358.5z" />
<glyph unicode="&#xf04d;" horiz-adv-x="1085" d="M0 799q0 -36 24 -61t59 -21h703l-111 -115q-25 -25 -25 -59q0 -36 25.5 -61t61.5 -25q34 1 57 29l261 257q25 25 25 62q-2 37 -26 62l-263 255q-24 26 -58 25q-36 0 -61 -24t-25 -60t25 -61l113 -115h-703q-36 -1 -59.5 -26.5t-22.5 -61.5z" />
<glyph unicode="&#xf04e;" horiz-adv-x="857" d="M2 1027q0 41 40.5 108t77.5 111q10 12 25 29.5t17 19.5l39 -46q44 -49 81 -114t37 -108q0 -66 -45.5 -113t-111.5 -47t-113 47t-47 113zM335 584q0 46 26 107.5t64 113.5q31 41 75 91.5t66 71.5q4 2 27 26l28 -26q59 -55 140 -162q41 -55 67 -115t26 -107 q0 -109 -75.5 -184t-185.5 -75q-108 0 -183 76t-75 183zM497 1320q0 68 108 181l26 -30q30 -35 54.5 -78.5t24.5 -72.5q0 -44 -30.5 -73.5t-74.5 -29.5q-46 0 -77 29.5t-31 73.5z" />
<glyph unicode="&#xf050;" d="M6 521q0 -40 29 -66q26 -30 68 -30h1567q46 0 77.5 -32t31.5 -79q0 -46 -31 -76.5t-78 -30.5t-78 31q-26 28 -64 28q-40 0 -68.5 -27.5t-28.5 -65.5q0 -40 30 -67q90 -88 209 -88q125 0 214 86t89 210t-89.5 213.5t-213.5 89.5h-1567q-40 0 -68.5 -28t-28.5 -68zM6 871 q0 -38 29 -65q28 -28 68 -28h2138q125 0 214.5 87t89.5 210q0 124 -89.5 212t-214.5 88q-123 0 -208 -85q-30 -27 -30 -71q0 -41 27.5 -67t67.5 -26t68 26q30 33 75 33q46 0 77.5 -32t31.5 -78t-31.5 -77t-77.5 -31h-2138q-40 0 -68.5 -28t-28.5 -68z" />
<glyph unicode="&#xf051;" d="M-40 693q0 40 32 74q36 31 75 31h248q43 0 72 -31t29 -74q0 -46 -29 -77t-72 -31h-248q-43 0 -75 32.5t-32 75.5zM315 1544q0 43 28 73q36 31 75 31q42 0 73 -31l175 -176q30 -35 30 -74q0 -45 -29 -75t-70 -30q-39 0 -75 31l-179 173q-28 34 -28 78zM528 104q0 45 31 73 q28 28 73 28h281l332 312q16 13 36 0l337 -312h295q43 0 73.5 -29.5t30.5 -71.5q0 -43 -30.5 -74t-73.5 -31h-361q-16 0 -31 8l-257 242l-255 -242q-13 -8 -30 -8h-347q-43 0 -73.5 31t-30.5 74zM627 693q0 -155 66 -282q4 -19 27 -19h201q12 0 16 9t-2 20 q-102 123 -102 272q0 180 128 306t308 126q179 0 305.5 -126t126.5 -306q0 -150 -101 -272q-7 -11 -3.5 -20t16.5 -9h203q21 0 25 19q66 123 66 282q0 130 -51 248t-136.5 203.5t-203.5 136t-247 50.5q-130 0 -248.5 -50.5t-205 -136t-137.5 -203.5t-51 -248zM1163 1648v245 q0 46 30 75.5t76 29.5q45 0 74.5 -30t29.5 -75v-245q0 -46 -29.5 -75.5t-74.5 -29.5q-46 0 -76 29.5t-30 75.5zM1840 1367q0 40 29 74l173 176q31 31 75 31t74 -30.5t30 -73.5q0 -46 -28 -78l-180 -173q-34 -31 -75 -31q-43 0 -70.5 29.5t-27.5 75.5zM2119 693q0 43 28.5 74 t70.5 31h251q43 0 74 -31t31 -74q0 -44 -31 -76t-74 -32h-251q-43 0 -71 31t-28 77z" />
<glyph unicode="&#xf052;" d="M-22 681q0 44 32 72q28 28 73 28h246q43 0 71.5 -28.5t28.5 -71.5q0 -44 -28.5 -75t-71.5 -31h-246q-43 0 -74 31.5t-31 74.5zM329 1519q0 44 28 72q32 32 74 32q46 0 72 -32l174 -174q74 -70 0 -144q-30 -30 -70 -30q-35 0 -72 30l-178 174q-28 30 -28 72zM539 103 q0 42 32 74q29 29 72 29h343q17 0 30 -8l251 -237l255 237q11 8 31 8h352q43 0 73.5 -30t30.5 -73t-30.5 -73.5t-73.5 -30.5h-286l-334 -303q-20 -14 -36 0l-329 303h-277q-43 0 -73.5 30.5t-30.5 73.5zM639 681q0 -157 63 -280q8 -17 28 -17h199q13 0 16 8t-8 19 q-95 119 -95 270q0 176 126 299.5t304 123.5q176 0 301.5 -124t125.5 -299q0 -152 -94 -270q-11 -11 -8 -19t16 -8h201q20 0 25 17q66 125 66 280q0 127 -50.5 244.5t-135.5 202.5t-202 135.5t-245 50.5t-245 -50.5t-202 -135.5t-135.5 -202.5t-50.5 -244.5zM1168 1621v248 q0 43 30.5 73.5t73.5 30.5t73.5 -30.5t30.5 -73.5v-248q0 -43 -30.5 -73.5t-73.5 -30.5t-73.5 30.5t-30.5 73.5zM1838 1345q0 46 27 72l174 174q26 32 72 32q44 0 73.5 -30.5t29.5 -73.5q0 -44 -28 -72l-177 -174q-37 -30 -74 -30q-42 0 -69.5 29.5t-27.5 72.5zM2113 681 q0 43 28.5 71.5t71.5 28.5h246q43 0 73.5 -29t30.5 -71q0 -43 -30.5 -74.5t-73.5 -31.5h-246q-43 0 -71.5 31t-28.5 75z" />
<glyph unicode="&#xf053;" horiz-adv-x="685" d="M-1 393q0 86 39.5 160.5t111.5 124.5v668q0 81 55.5 137t136.5 56t137 -56t56 -137v-668q71 -50 110.5 -124.5t39.5 -160.5q0 -143 -100.5 -243t-242.5 -100t-242.5 100t-100.5 243zM117 393q0 -94 66 -160.5t159 -66.5q94 0 161.5 67.5t67.5 159.5q0 63 -32.5 116.5 t-88.5 83.5l-19 9q-10 4 -10 20v724q0 32 -22.5 54t-56.5 22q-33 0 -56 -22t-23 -54v-724q0 -16 -9 -20l-20 -9q-55 -30 -86 -83t-31 -117z" />
<glyph unicode="&#xf054;" horiz-adv-x="685" d="M153 401q0 -81 56 -137.5t134 -56.5q79 0 136 56.5t57 137.5q0 71 -49 126t-120 66v558q0 7 -7 14.5t-17 7.5q-22 0 -22 -22v-558q-70 -11 -119 -66t-49 -126z" />
<glyph unicode="&#xf055;" horiz-adv-x="685" d="M-10 377q0 87 40.5 163t113.5 126v681q0 82 56 139.5t138 57.5q83 0 140 -57.5t57 -139.5v-681q72 -51 112.5 -126.5t40.5 -162.5q0 -145 -102.5 -247.5t-247.5 -102.5t-246.5 102.5t-101.5 247.5zM110 377q0 -96 67 -164t161 -68q97 0 166 68.5t69 163.5q0 64 -33 118 t-91 84l-19 11q-11 5 -11 19v738q0 32 -23.5 54.5t-57.5 22.5q-32 0 -55.5 -22.5t-23.5 -54.5v-738q0 -15 -10 -19l-19 -11q-57 -30 -88.5 -83.5t-31.5 -118.5zM170 381q0 -72 49 -122.5t119 -50.5t121 50.5t51 122.5q0 64 -44 113t-106 57v495q0 6 -7 12.5t-15 6.5 q-19 0 -19 -19v-495q-62 -8 -105.5 -57t-43.5 -113z" />
<glyph unicode="&#xf056;" horiz-adv-x="1485" d="M5 718q0 -71 74 -121q135 -95 408 -95q122 0 227 21q111 24 181.5 75.5t70.5 119.5q0 21 -8 42q142 35 223 94.5t81 136.5q0 19 -6 41q233 83 233 224q0 90 -102 160q-200 133 -586 133q-181 0 -329 -32q-159 -33 -258 -102.5t-99 -158.5q0 -51 34 -97 q-122 -69 -122 -168q0 -76 76 -135q-98 -57 -98 -138zM46 411q0 -75 92 -117.5t232 -42.5q142 0 235 42.5t93 117.5q0 28 -18 47t-46 19q-23 0 -41 -16t-23 -39q-20 -16 -75 -29.5t-125 -13.5q-113 0 -183 32q16 16 17.5 41t-10.5 42q-16 22 -41.5 27t-47.5 -9 q-59 -40 -59 -101zM133 718q1 2 12 12q9 9 38.5 23t65.5 24l8 4q166 -55 388 -55q97 0 176 11l18 -16q-9 -16 -44 -34q-41 -22 -126.5 -39t-181.5 -17t-182.5 17t-128.5 39q-34 15 -43 31zM141 143q0 -65 73.5 -100t182.5 -35q111 0 185.5 35t74.5 100q0 26 -19 46t-45 20 q-48 0 -63 -49q-40 -25 -133 -25q-83 0 -132 25q-15 49 -63 49q-26 0 -43.5 -19t-17.5 -47zM154 991q0 6 11 19q25 31 97 60q196 -105 539 -105q175 0 329 32v-6q0 -16 -18 -31q-42 -37 -157 -70q-124 -37 -310 -37q-188 0 -312 37q-119 33 -159 70q-20 16 -20 31zM243 1256 q0 18 24 40q46 43 183 83q146 43 351 43q206 0 354 -43q138 -40 183 -83q23 -23 23 -40t-23 -38q-45 -43 -183 -84q-148 -43 -354 -43q-205 0 -351 43q-138 40 -183 84q-24 21 -24 38z" />
<glyph unicode="&#xf057;" horiz-adv-x="685" d="M5 557q0 -31 18 -50q20 -19 54 -19q31 0 50 19l411 413v-133q0 -31 20.5 -51.5t51.5 -20.5q30 0 50.5 21t20.5 51v306q0 31 -20.5 51.5t-50.5 20.5h-306q-30 0 -50.5 -20.5t-20.5 -51.5q0 -30 20.5 -50t50.5 -20h133l-414 -414q-18 -21 -18 -52z" />
<glyph unicode="&#xf058;" horiz-adv-x="685" d="M-2 1013q-1 -36 23 -61.5t60 -24.5q36 -2 61 25l113 112v-703q-1 -36 24.5 -60t62.5 -23q35 -2 61 22t27 60v703l112 -112q24 -25 59 -25q37 0 62 24.5t25 60.5q-2 37 -27 58l-255 262q-25 24 -63 27q-38 -2 -63 -28l-256 -260q-26 -22 -26 -57z" />
<glyph unicode="&#xf059;" horiz-adv-x="1542" d="M10 769q0 156 60.5 298.5t163 244.5t244 163t297.5 61q157 0 299 -61t245 -163.5t164 -244.5t61 -297q0 -156 -61 -298.5t-164 -245.5t-245 -163.5t-298 -60.5q-155 0 -297 60.5t-244.5 163t-163.5 244.5t-61 299zM178 769q0 -162 80.5 -299.5t218.5 -217t299 -79.5 q121 0 232 47.5t191.5 127.5t128 190.5t47.5 231.5q0 245 -177 422q-178 176 -423 176q-121 0 -231.5 -48t-190.5 -128t-127.5 -191t-47.5 -232zM502 521l89 239q5 10 0 21l-89 235q-5 10 0.5 16t16.5 1l599 -252q10 -1 10 -11q0 -9 -10 -10l-599 -257q-11 -4 -16.5 1.5 t-0.5 16.5z" />
<glyph unicode="&#xf05a;" horiz-adv-x="1542" d="M26 968q22 82 64 161t108.5 154t149 131.5t193 90.5t233.5 34q319 0 544 -226q148 -148 201.5 -346t0.5 -397q-22 -82 -63.5 -161t-107.5 -154t-148 -131.5t-193 -91t-234 -34.5q-320 0 -545 226q-148 147 -202 346t-1 398zM173 769q0 -249 176 -425t425 -176 q122 0 233 47.5t191.5 128t128 191.5t47.5 234q0 163 -80.5 301t-218.5 218.5t-301 80.5q-123 0 -234 -47.5t-191.5 -128t-128 -191.5t-47.5 -233zM392 761q0 7 11 10l605 250q11 2 16 -3.5t1 -16.5l-248 -604q-2 -11 -10 -11q-11 0 -16 11l-103 230q-9 14 -15 15l-230 104 q-11 4 -11 15z" />
<glyph unicode="&#xf05b;" horiz-adv-x="1542" d="M26 568.5q-53 198.5 0 396.5q22 82 63.5 160.5t107.5 153t148 131t192.5 90.5t233.5 34q317 0 542 -225q148 -147 201 -345t0 -396q-22 -82 -63 -160.5t-107 -153.5t-148 -131.5t-192 -90.5t-233 -34q-319 0 -544 225q-148 147 -201 345.5zM171 767q0 -249 176 -424 q175 -176 424 -176q162 0 299.5 80.5t218 218.5t80.5 301q0 162 -80.5 299.5t-218 218t-299.5 80.5q-163 0 -301 -80.5t-218.5 -218t-80.5 -299.5zM519 998q-2 11 3.5 17t15.5 2l603 -249q11 -2 11 -10q0 -9 -11 -14l-230 -104q-11 -4 -15 -15l-104 -230q-5 -11 -14 -11 q-8 0 -10 11z" />
<glyph unicode="&#xf05c;" horiz-adv-x="1542" d="M2 765q0 209 103.5 386.5t280.5 280.5t385 103q156 0 298 -61t245 -164t164 -245.5t61 -299.5q0 -156 -61 -298.5t-164 -245t-245 -163t-298 -60.5q-157 0 -299.5 61t-245.5 164t-163.5 244.5t-60.5 297.5zM171 765q0 -242 178 -422q177 -177 422 -177q162 0 300 80.5 t219 218.5t81 300t-81 300.5t-219 219t-300 80.5t-300 -80.5t-219 -219t-81 -300.5zM505 507l256 600q2 11 10 11q9 0 11 -11l255 -600q4 -11 -2 -17t-17 0l-236 89q-10 5 -21 0l-239 -89q-10 -6 -16 0t-1 17z" />
<glyph unicode="&#xf05d;" horiz-adv-x="1542" d="M8.5 572q-53.5 200 0.5 397q22 82 63.5 161t108 154.5t149.5 132t194 91t234 34.5q318 0 544 -228q148 -148 201.5 -346t0.5 -397q-22 -82 -63.5 -161t-108 -154.5t-148.5 -132t-192.5 -91t-233.5 -34.5q-322 0 -547 226q-149 148 -202.5 348zM155 770q0 -250 176 -426 t427 -176q162 0 300.5 80.5t219 219t80.5 302.5q0 122 -47.5 233t-128 191.5t-191.5 128t-233 47.5q-164 0 -303 -80.5t-219.5 -219t-80.5 -300.5zM375 777q0 10 10 14l231 104q10 5 15 15l103 229q9 12 16 12q8 0 11 -12l248 -605q2 -11 -2 -15t-16 -2l-606 248 q-10 3 -10 12z" />
<glyph unicode="&#xf05e;" horiz-adv-x="1542" d="M30.5 573q-53.5 200 0.5 397q22 82 63.5 161t107.5 154t148.5 131.5t193.5 91t234 34.5q318 0 543 -228q149 -147 202.5 -345.5t-0.5 -395.5q-22 -82 -63 -161.5t-107.5 -154.5t-148.5 -132t-192.5 -91.5t-233.5 -34.5q-322 0 -545 227q-149 147 -202.5 347zM176 771 q0 -249 176 -426q175 -175 426 -175q162 0 300 80t218.5 218.5t80.5 302.5q0 162 -80.5 300.5t-218.5 219t-300 80.5q-164 0 -302.5 -80.5t-219 -219t-80.5 -300.5zM525 536l250 605q1 10 10 10q10 0 14 -10l104 -231q2 -9 16 -14l230 -104q11 -4 11 -14q0 -9 -11 -12 l-605 -248q-10 -4 -15 1t-4 17z" />
<glyph unicode="&#xf060;" horiz-adv-x="1542" d="M6 766q0 156 61.5 298.5t164.5 245.5t245 163.5t298 60.5t298.5 -60.5t245.5 -163.5t164 -245t61 -299t-61 -299t-164 -244.5t-245.5 -163t-298.5 -60.5t-298.5 61t-245.5 164t-164 245t-61 297zM176 766q0 -245 177 -422q176 -176 422 -176q163 0 301.5 80.5t219 218 t80.5 299.5q0 121 -47.5 232t-128.5 191.5t-192 128t-233 47.5q-121 0 -231.5 -47.5t-191 -128t-128.5 -191.5t-48 -232zM510 1025q-5 11 1 16.5t16 0.5l238 -89q10 -4 22 0l236 89q10 5 16 -0.5t2 -16.5l-254 -599q-3 -10 -12 -10q-7 0 -10 10z" />
<glyph unicode="&#xf061;" horiz-adv-x="1542" d="M6 769q0 157 61.5 300t165 246.5t246 164.5t298.5 61t298.5 -61t246 -164.5t164.5 -246.5t61 -300t-61 -300t-164.5 -245.5t-246 -163.5t-298.5 -61q-157 0 -300 61t-246 164.5t-164 246t-61 298.5zM176 769q0 -246 178 -424q177 -177 423 -177q163 0 301.5 81 t219.5 219.5t81 300.5t-81 300.5t-219.5 219.5t-301.5 81q-162 0 -300.5 -81t-219.5 -219.5t-81 -300.5zM424 769q0 9 11 10l602 258q11 5 16.5 -1.5t0.5 -16.5l-89 -240q-7 -10 0 -20l89 -238q5 -10 -0.5 -16t-16.5 -1l-602 255q-11 1 -11 10z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 94 KiB

26
fonts/package-lock.json generated Normal file
View File

@@ -0,0 +1,26 @@
{
"name": "magicmirror-fonts",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "magicmirror-fonts",
"license": "MIT",
"dependencies": {
"roboto-fontface": "^0.10.0"
}
},
"node_modules/roboto-fontface": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz",
"integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
}
},
"dependencies": {
"roboto-fontface": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz",
"integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
}
}
}

15
fonts/package.json Normal file
View File

@@ -0,0 +1,15 @@
{
"name": "magicmirror-fonts",
"description": "Package for fonts use by MagicMirror Core.",
"repository": {
"type": "git",
"url": "git+https://github.com/MichMich/MagicMirror.git"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/MichMich/MagicMirror/issues"
},
"dependencies": {
"roboto-fontface": "^0.10.0"
}
}

58
fonts/roboto.css Normal file
View File

@@ -0,0 +1,58 @@
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 100;
src: local("Roboto Thin"), local("Roboto-Thin"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 300;
src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff2") format("woff2"),
url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 400;
src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2") format("woff2"),
url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff") format("woff");
}
@font-face {
font-family: "Roboto Condensed";
font-style: normal;
font-weight: 700;
src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff2") format("woff2"),
url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 400;
src: local("Roboto"), local("Roboto-Regular"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Regular.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Regular.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 500;
src: local("Roboto Medium"), local("Roboto-Medium"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Medium.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Medium.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 700;
src: local("Roboto Bold"), local("Roboto-Bold"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Bold.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Bold.woff") format("woff");
}
@font-face {
font-family: Roboto;
font-style: normal;
font-weight: 300;
src: local("Roboto Light"), local("Roboto-Light"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Light.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Light.woff") format("woff");
}

57
index.html Normal file
View File

@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<title>MagicMirror²</title>
<meta name="google" content="notranslate" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
<meta name="mobile-web-app-capable" content="yes" />
<link rel="icon" href="data:;base64,iVBORw0KGgo=" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<link rel="stylesheet" type="text/css" href="fonts/roboto.css" />
<!-- custom.css is loaded by the loader.js to make sure it's loaded after the module css files. -->
<script type="text/javascript">
var version = "#VERSION#";
</script>
</head>
<body>
<div class="region fullscreen below"><div class="container"></div></div>
<div class="region top bar">
<div class="container"></div>
<div class="region top left"><div class="container"></div></div>
<div class="region top center"><div class="container"></div></div>
<div class="region top right"><div class="container"></div></div>
</div>
<div class="region upper third"><div class="container"></div></div>
<div class="region middle center"><div class="container"></div></div>
<div class="region lower third">
<div class="container"><br /></div>
</div>
<div class="region bottom bar">
<div class="container"></div>
<div class="region bottom left"><div class="container"></div></div>
<div class="region bottom center"><div class="container"></div></div>
<div class="region bottom right"><div class="container"></div></div>
</div>
<div class="region fullscreen above"><div class="container"></div></div>
<script type="text/javascript" src="socket.io/socket.io.js"></script>
<script type="text/javascript" src="vendor/node_modules/nunjucks/browser/nunjucks.min.js"></script>
<script type="text/javascript" src="js/defaults.js"></script>
<script type="text/javascript" src="#CONFIG_FILE#"></script>
<script type="text/javascript" src="vendor/vendor.js"></script>
<script type="text/javascript" src="modules/default/defaultmodules.js"></script>
<script type="text/javascript" src="js/logger.js"></script>
<script type="text/javascript" src="translations/translations.js"></script>
<script type="text/javascript" src="js/translator.js"></script>
<script type="text/javascript" src="js/class.js"></script>
<script type="text/javascript" src="js/module.js"></script>
<script type="text/javascript" src="js/loader.js"></script>
<script type="text/javascript" src="js/socketclient.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>

View File

@@ -1,39 +0,0 @@
<html>
<head>
<title>Magic Mirror</title>
<style type="text/css">
<?php include('css/main.css') ?>
</style>
<link rel="stylesheet" type="text/css" href="css/weather-icons.css">
<script type="text/javascript">
var gitHash = '<?php echo trim(`git rev-parse HEAD`) ?>';
</script>
<meta name="google" value="notranslate" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="top left"><div class="date small dimmed"></div><div class="time"></div><div class="calendar xxsmall"></div></div>
<div class="top right"><div class="windsun small dimmed"></div><div class="temp"></div><div class="forecast small dimmed"></div></div>
<div class="center-ver center-hor"><!-- <div class="dishwasher light">Vaatwasser is klaar!</div> --></div>
<div class="lower-third center-hor"><div class="compliment light"></div></div>
<div class="bottom center-hor"><div class="news medium"></div></div>
</div>
<script src="js/jquery.js"></script>
<script src="js/jquery.feedToJSON.js"></script>
<script src="js/ical_parser.js"></script>
<script src="js/moment-with-locales.min.js"></script>
<script src="js/config.js"></script>
<script src="js/rrule.js"></script>
<script src="js/version/version.js"></script>
<script src="js/calendar/calendar.js"></script>
<script src="js/compliments/compliments.js"></script>
<script src="js/weather/weather.js"></script>
<script src="js/time/time.js"></script>
<script src="js/news/news.js"></script>
<script src="js/main.js?nocache=<?php echo md5(microtime()) ?>"></script>
<!-- <script src="js/socket.io.min.js"></script> -->
</body>
</html>

3
installers/mm.sh Executable file
View File

@@ -0,0 +1,3 @@
# This file is still here to keep PM2 working on older installations.
cd ~/MagicMirror
DISPLAY=:0 npm start

288
js/app.js Normal file
View File

@@ -0,0 +1,288 @@
/* Magic Mirror
* The Core App (Server)
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
// Alias modules mentioned in package.js under _moduleAliases.
require("module-alias/register");
const fs = require("fs");
const path = require("path");
const Log = require("logger");
const Server = require(`${__dirname}/server`);
const Utils = require(`${__dirname}/utils`);
const defaultModules = require(`${__dirname}/../modules/default/defaultmodules`);
// Get version number.
global.version = require(`${__dirname}/../package.json`).version;
Log.log("Starting MagicMirror: v" + global.version);
// global absolute root path
global.root_path = path.resolve(`${__dirname}/../`);
if (process.env.MM_CONFIG_FILE) {
global.configuration_file = process.env.MM_CONFIG_FILE;
}
// FIXME: Hotfix Pull Request
// https://github.com/MichMich/MagicMirror/pull/673
if (process.env.MM_PORT) {
global.mmPort = process.env.MM_PORT;
}
// The next part is here to prevent a major exception when there
// is no internet connection. This could probable be solved better.
process.on("uncaughtException", function (err) {
Log.error("Whoops! There was an uncaught exception...");
Log.error(err);
Log.error("MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?");
Log.error("If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues");
});
/**
* The core app.
*
* @class
*/
function App() {
let nodeHelpers = [];
/**
* Loads the config file. Combines it with the defaults, and runs the
* callback with the found config as argument.
*
* @param {Function} callback Function to be called after loading the config
*/
function loadConfig(callback) {
Log.log("Loading config ...");
const defaults = require(`${__dirname}/defaults`);
// For this check proposed to TestSuite
// https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror/8
const configFilename = path.resolve(global.configuration_file || `${global.root_path}/config/config.js`);
try {
fs.accessSync(configFilename, fs.F_OK);
const c = require(configFilename);
checkDeprecatedOptions(c);
const config = Object.assign(defaults, c);
callback(config);
} catch (e) {
if (e.code === "ENOENT") {
Log.error(Utils.colors.error("WARNING! Could not find config file. Please create one. Starting with default configuration."));
} else if (e instanceof ReferenceError || e instanceof SyntaxError) {
Log.error(Utils.colors.error(`WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: ${e.stack}`));
} else {
Log.error(Utils.colors.error(`WARNING! Could not load config file. Starting with default configuration. Error found: ${e}`));
}
callback(defaults);
}
}
/**
* Checks the config for deprecated options and throws a warning in the logs
* if it encounters one option from the deprecated.js list
*
* @param {object} userConfig The user config
*/
function checkDeprecatedOptions(userConfig) {
const deprecated = require(`${global.root_path}/js/deprecated`);
const deprecatedOptions = deprecated.configs;
const usedDeprecated = deprecatedOptions.filter((option) => userConfig.hasOwnProperty(option));
if (usedDeprecated.length > 0) {
Log.warn(Utils.colors.warn(`WARNING! Your config is using deprecated options: ${usedDeprecated.join(", ")}. Check README and CHANGELOG for more up-to-date ways of getting the same functionality.`));
}
}
/**
* Loads a specific module.
*
* @param {string} module The name of the module (including subpath).
* @param {Function} callback Function to be called after loading
*/
function loadModule(module, callback) {
const elements = module.split("/");
const moduleName = elements[elements.length - 1];
let moduleFolder = `${__dirname}/../modules/${module}`;
if (defaultModules.includes(moduleName)) {
moduleFolder = `${__dirname}/../modules/default/${module}`;
}
const helperPath = `${moduleFolder}/node_helper.js`;
let loadHelper = true;
try {
fs.accessSync(helperPath, fs.R_OK);
} catch (e) {
loadHelper = false;
Log.log(`No helper found for module: ${moduleName}.`);
}
if (loadHelper) {
const Module = require(helperPath);
let m = new Module();
if (m.requiresVersion) {
Log.log(`Check MagicMirror version for node helper '${moduleName}' - Minimum version: ${m.requiresVersion} - Current version: ${global.version}`);
if (cmpVersions(global.version, m.requiresVersion) >= 0) {
Log.log("Version is ok!");
} else {
Log.warn(`Version is incorrect. Skip module: '${moduleName}'`);
return;
}
}
m.setName(moduleName);
m.setPath(path.resolve(moduleFolder));
nodeHelpers.push(m);
m.loaded(callback);
} else {
callback();
}
}
/**
* Loads all modules.
*
* @param {Module[]} modules All modules to be loaded
* @param {Function} callback Function to be called after loading
*/
function loadModules(modules, callback) {
Log.log("Loading module helpers ...");
/**
*
*/
function loadNextModule() {
if (modules.length > 0) {
const nextModule = modules[0];
loadModule(nextModule, function () {
modules = modules.slice(1);
loadNextModule();
});
} else {
// All modules are loaded
Log.log("All module helpers loaded.");
callback();
}
}
loadNextModule();
}
/**
* Compare two semantic version numbers and return the difference.
*
* @param {string} a Version number a.
* @param {string} b Version number b.
* @returns {number} A positive number if a is larger than b, a negative
* number if a is smaller and 0 if they are the same
*/
function cmpVersions(a, b) {
let i, diff;
const regExStrip0 = /(\.0+)+$/;
const segmentsA = a.replace(regExStrip0, "").split(".");
const segmentsB = b.replace(regExStrip0, "").split(".");
const l = Math.min(segmentsA.length, segmentsB.length);
for (i = 0; i < l; i++) {
diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
if (diff) {
return diff;
}
}
return segmentsA.length - segmentsB.length;
}
/**
* Start the core app.
*
* It loads the config, then it loads all modules. When it's done it
* executes the callback with the config as argument.
*
* @param {Function} callback Function to be called after start
*/
this.start = function (callback) {
loadConfig(function (c) {
config = c;
Log.setLogLevel(config.logLevel);
let modules = [];
for (const module of config.modules) {
if (!modules.includes(module.module) && !module.disabled) {
modules.push(module.module);
}
}
loadModules(modules, function () {
const server = new Server(config, function (app, io) {
Log.log("Server started ...");
for (let nodeHelper of nodeHelpers) {
nodeHelper.setExpressApp(app);
nodeHelper.setSocketIO(io);
nodeHelper.start();
}
Log.log("Sockets connected & modules started ...");
if (typeof callback === "function") {
callback(config);
}
});
});
});
};
/**
* Stops the core app. This calls each node_helper's STOP() function, if it
* exists.
*
* Added to fix #1056
*/
this.stop = function () {
for (const nodeHelper of nodeHelpers) {
if (typeof nodeHelper.stop === "function") {
nodeHelper.stop();
}
}
};
/**
* Listen for SIGINT signal and call stop() function.
*
* Added to fix #1056
* Note: this is only used if running `server-only`. Otherwise
* this.stop() is called by app.on("before-quit"... in `electron.js`
*/
process.on("SIGINT", () => {
Log.log("[SIGINT] Received. Shutting down server...");
setTimeout(() => {
process.exit(0);
}, 3000); // Force quit after 3 seconds
this.stop();
process.exit(0);
});
/**
* Listen to SIGTERM signals so we can stop everything when we
* are asked to stop by the OS.
*/
process.on("SIGTERM", () => {
Log.log("[SIGTERM] Received. Shutting down server...");
setTimeout(() => {
process.exit(0);
}, 3000); // Force quit after 3 seconds
this.stop();
process.exit(0);
});
}
module.exports = new App();

View File

@@ -1,139 +0,0 @@
var calendar = {
eventList: [],
calendarLocation: '.calendar',
updateInterval: 1000,
updateDataInterval: 60000,
fadeInterval: 1000,
intervalId: null,
dataIntervalId: null,
maximumEntries: config.calendar.maximumEntries || 10
}
calendar.updateData = function (callback) {
new ical_parser("controllers/calendar.php" + "?url="+encodeURIComponent(config.calendar.url), function(cal) {
var events = cal.getEvents();
this.eventList = [];
for (var i in events) {
var e = events[i];
for (var key in e) {
var value = e[key];
var seperator = key.search(';');
if (seperator >= 0) {
var mainKey = key.substring(0,seperator);
var subKey = key.substring(seperator+1);
var dt;
if (subKey == 'VALUE=DATE') {
//date
dt = new Date(value.substring(0,4), value.substring(4,6) - 1, value.substring(6,8));
} else {
//time
dt = new Date(value.substring(0,4), value.substring(4,6) - 1, value.substring(6,8), value.substring(9,11), value.substring(11,13), value.substring(13,15));
}
if (mainKey == 'DTSTART') e.startDate = dt;
if (mainKey == 'DTEND') e.endDate = dt;
}
}
if (e.startDate == undefined){
//some old events in Gmail Calendar is "start_date"
//FIXME: problems with Gmail's TimeZone
var days = moment(e.DTSTART).diff(moment(), 'days');
var seconds = moment(e.DTSTART).diff(moment(), 'seconds');
var startDate = moment(e.DTSTART);
} else {
var days = moment(e.startDate).diff(moment(), 'days');
var seconds = moment(e.startDate).diff(moment(), 'seconds');
var startDate = moment(e.startDate);
}
//only add fututre events, days doesn't work, we need to check seconds
if (seconds >= 0) {
if (seconds <= 60*60*5 || seconds >= 60*60*24*2) {
var time_string = moment(startDate).fromNow();
}else {
var time_string = moment(startDate).calendar()
}
if (!e.RRULE) {
this.eventList.push({'description':e.SUMMARY,'seconds':seconds,'days':time_string});
}
e.seconds = seconds;
}
// Special handling for rrule events
if (e.RRULE) {
var options = new RRule.parseString(e.RRULE);
options.dtstart = e.startDate;
var rule = new RRule(options);
var oneYear = new Date();
oneYear.setFullYear(oneYear.getFullYear() + 1);
var dates = rule.between(new Date(), oneYear, true, function (date, i){return i < 10});
for (date in dates) {
var dt = new Date(dates[date]);
var days = moment(dt).diff(moment(), 'days');
var seconds = moment(dt).diff(moment(), 'seconds');
var startDate = moment(dt);
if (seconds >= 0) {
if (seconds <= 60*60*5 || seconds >= 60*60*24*2) {
var time_string = moment(dt).fromNow();
} else {
var time_string = moment(dt).calendar()
}
this.eventList.push({'description':e.SUMMARY,'seconds':seconds,'days':time_string});
}
}
}
};
this.eventList = this.eventList.sort(function(a,b){return a.seconds-b.seconds});
// Limit the number of entries.
this.eventList = this.eventList.slice(0, calendar.maximumEntries);
if (callback !== undefined && Object.prototype.toString.call(callback) === '[object Function]') {
callback(this.eventList);
}
}.bind(this));
}
calendar.updateCalendar = function (eventList) {
table = $('<table/>').addClass('xsmall').addClass('calendar-table');
opacity = 1;
for (var i in eventList) {
var e = eventList[i];
var row = $('<tr/>').css('opacity',opacity);
row.append($('<td/>').html(e.description).addClass('description'));
row.append($('<td/>').html(e.days).addClass('days dimmed'));
table.append(row);
opacity -= 1 / eventList.length;
}
$(this.calendarLocation).updateWithText(table, this.fadeInterval);
}
calendar.init = function () {
this.updateData(this.updateCalendar.bind(this));
this.intervalId = setInterval(function () {
this.updateCalendar(this.eventList)
}.bind(this), this.updateInterval);
this.dataIntervalId = setInterval(function () {
this.updateData(this.updateCalendar.bind(this));
}.bind(this), this.updateDataInterval);
}

73
js/check_config.js Normal file
View File

@@ -0,0 +1,73 @@
/* Magic Mirror
*
* Check the configuration file for errors
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
*/
const Linter = require("eslint").Linter;
const linter = new Linter();
const path = require("path");
const fs = require("fs");
const rootPath = path.resolve(`${__dirname}/../`);
const Log = require(`${rootPath}/js/logger.js`);
const Utils = require(`${rootPath}/js/utils.js`);
/**
* Returns a string with path of configuration file.
* Check if set by environment variable MM_CONFIG_FILE
*
* @returns {string} path and filename of the config file
*/
function getConfigFile() {
// FIXME: This function should be in core. Do you want refactor me ;) ?, be good!
return path.resolve(process.env.MM_CONFIG_FILE || `${rootPath}/config/config.js`);
}
/**
* Checks the config file using eslint.
*/
function checkConfigFile() {
const configFileName = getConfigFile();
// Check if file is present
if (fs.existsSync(configFileName) === false) {
Log.error(Utils.colors.error("File not found: "), configFileName);
throw new Error("No config file present!");
}
// Check permission
try {
fs.accessSync(configFileName, fs.F_OK);
} catch (e) {
Log.error(Utils.colors.error(e));
throw new Error("No permission to access config file!");
}
// Validate syntax of the configuration file.
Log.info(Utils.colors.info("Checking file... "), configFileName);
// I'm not sure if all ever is utf-8
const configFile = fs.readFileSync(configFileName, "utf-8");
// Explicitly tell linter that he might encounter es6 syntax ("let config = {...}")
const errors = linter.verify(configFile, {
env: {
es6: true
}
});
if (errors.length === 0) {
Log.info(Utils.colors.pass("Your configuration file doesn't contain syntax errors :)"));
} else {
Log.error(Utils.colors.error("Your configuration file contains syntax errors :("));
for (const error of errors) {
Log.error(`Line ${error.line} column ${error.column}: ${error.message}`);
}
}
}
checkConfigFile();

109
js/class.js Normal file
View File

@@ -0,0 +1,109 @@
/* global Class, xyz */
/* Simple JavaScript Inheritance
* By John Resig https://johnresig.com/
*
* Inspired by base2 and Prototype
*
* MIT Licensed.
*/
(function () {
var initializing = false;
var fnTest = /xyz/.test(function () {
xyz;
})
? /\b_super\b/
: /.*/;
// The base Class implementation (does nothing)
this.Class = function () {};
// Create a new Class that inherits from this class
Class.extend = function (prop) {
var _super = this.prototype;
// Instantiate a base class (but only create the instance,
// don't run the init constructor)
initializing = true;
var prototype = new this();
initializing = false;
// Make a copy of all prototype properties, to prevent reference issues.
for (var p in prototype) {
prototype[p] = cloneObject(prototype[p]);
}
// Copy the properties over onto the new prototype
for (var name in prop) {
// Check if we're overwriting an existing function
prototype[name] =
typeof prop[name] === "function" && typeof _super[name] === "function" && fnTest.test(prop[name])
? (function (name, fn) {
return function () {
var tmp = this._super;
// Add a new ._super() method that is the same method
// but on the super-class
this._super = _super[name];
// The method only need to be bound temporarily, so we
// remove it when we're done executing
var ret = fn.apply(this, arguments);
this._super = tmp;
return ret;
};
})(name, prop[name])
: prop[name];
}
/**
* The dummy class constructor
*/
function Class() {
// All construction is actually done in the init method
if (!initializing && this.init) {
this.init.apply(this, arguments);
}
}
// Populate our constructed prototype object
Class.prototype = prototype;
// Enforce the constructor to be what we expect
Class.prototype.constructor = Class;
// And make this class extendable
Class.extend = arguments.callee;
return Class;
};
})();
/**
* Define the clone method for later use. Helper Method.
*
* @param {object} obj Object to be cloned
* @returns {object} the cloned object
*/
function cloneObject(obj) {
if (obj === null || typeof obj !== "object") {
return obj;
}
var temp = obj.constructor(); // give temp the original obj's constructor
for (var key in obj) {
temp[key] = cloneObject(obj[key]);
if (key === "lockStrings") {
Log.log(key);
}
}
return temp;
}
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {
module.exports = Class;
}

View File

@@ -1,70 +0,0 @@
var compliments = {
complimentLocation: '.compliment',
currentCompliment: '',
complimentList: {
'morning': config.compliments.morning,
'afternoon': config.compliments.afternoon,
'evening': config.compliments.evening
},
updateInterval: config.compliments.interval || 30000,
fadeInterval: config.compliments.fadeInterval || 4000,
intervalId: null
};
/**
* Changes the compliment visible on the screen
*/
compliments.updateCompliment = function () {
var _list = [];
var hour = moment().hour();
// In the followign if statement we use .slice() on the
// compliments array to make a copy by value.
// This way the original array of compliments stays in tact.
if (hour >= 3 && hour < 12) {
// Morning compliments
_list = compliments.complimentList['morning'].slice();
} else if (hour >= 12 && hour < 17) {
// Afternoon compliments
_list = compliments.complimentList['afternoon'].slice();
} else if (hour >= 17 || hour < 3) {
// Evening compliments
_list = compliments.complimentList['evening'].slice();
} else {
// Edge case in case something weird happens
// This will select a compliment from all times of day
Object.keys(compliments.complimentList).forEach(function (_curr) {
_list = _list.concat(compliments.complimentList[_curr]).slice();
});
}
// Search for the location of the current compliment in the list
var _spliceIndex = _list.indexOf(compliments.currentCompliment);
// If it exists, remove it so we don't see it again
if (_spliceIndex !== -1) {
_list.splice(_spliceIndex, 1);
}
// Randomly select a location
var _randomIndex = Math.floor(Math.random() * _list.length);
compliments.currentCompliment = _list[_randomIndex];
$('.compliment').updateWithText(compliments.currentCompliment, compliments.fadeInterval);
}
compliments.init = function () {
this.updateCompliment();
this.intervalId = setInterval(function () {
this.updateCompliment();
}.bind(this), this.updateInterval)
}

View File

@@ -1,43 +0,0 @@
var config = {
lang: 'nl',
time: {
timeFormat: 12
},
weather: {
//change weather params here:
//units: metric or imperial
params: {
q: 'Baarn,Netherlands',
units: 'metric',
// if you want a different lang for the weather that what is set above, change it here
lang: 'nl',
APPID: 'YOUR_FREE_OPENWEATHER_API_KEY'
}
},
compliments: {
interval: 30000,
fadeInterval: 4000,
morning: [
'Good morning, handsome!',
'Enjoy your day!',
'How was your sleep?'
],
afternoon: [
'Hello, beauty!',
'You look sexy!',
'Looking good today!'
],
evening: [
'Wow, you look hot!',
'You look nice!',
'Hi, sexy!'
]
},
calendar: {
maximumEntries: 10,
url: "https://p01-calendarws.icloud.com/ca/subscribe/1/n6x7Farxpt7m9S8bHg1TGArSj7J6kanm_2KEoJPL5YIAk3y70FpRo4GyWwO-6QfHSY5mXtHcRGVxYZUf7U3HPDOTG5x0qYnno1Zr_VuKH2M"
},
news: {
feed: 'http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml'
}
}

84
js/defaults.js Normal file
View File

@@ -0,0 +1,84 @@
/* global mmPort */
/* Magic Mirror
* Config Defaults
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const address = "localhost";
let port = 8080;
if (typeof mmPort !== "undefined") {
port = mmPort;
}
const defaults = {
address: address,
port: port,
basePath: "/",
kioskmode: false,
electronOptions: {},
ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],
language: "en",
logLevel: ["INFO", "LOG", "WARN", "ERROR"],
timeFormat: 24,
units: "metric",
zoom: 1,
customCss: "css/custom.css",
modules: [
{
module: "updatenotification",
position: "top_center"
},
{
module: "helloworld",
position: "upper_third",
classes: "large thin",
config: {
text: "Magic Mirror<sup>2</sup>"
}
},
{
module: "helloworld",
position: "middle_center",
config: {
text: "Please create a config file or check the existing one for errors."
}
},
{
module: "helloworld",
position: "middle_center",
classes: "small dimmed",
config: {
text: "See README for more information."
}
},
{
module: "helloworld",
position: "middle_center",
classes: "xsmall",
config: {
text: "If you get this message while your config file is already created,<br>" + "it probably contains an error. To validate your config file run in your MagicMirror directory<br>" + "<pre>npm run config:check</pre>"
}
},
{
module: "helloworld",
position: "bottom_bar",
classes: "xsmall dimmed",
config: {
text: "www.michaelteeuw.nl"
}
}
],
paths: {
modules: "modules",
vendor: "vendor"
}
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {
module.exports = defaults;
}

11
js/deprecated.js Normal file
View File

@@ -0,0 +1,11 @@
/* Magic Mirror Deprecated Config Options List
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*
* Olex S. original idea this deprecated option
*/
module.exports = {
configs: ["kioskmode"]
};

138
js/electron.js Normal file
View File

@@ -0,0 +1,138 @@
"use strict";
const electron = require("electron");
const core = require("./app.js");
const Log = require("logger");
// Config
let config = process.env.config ? JSON.parse(process.env.config) : {};
// Module to control application life.
const app = electron.app;
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow;
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow;
/**
*
*/
function createWindow() {
app.commandLine.appendSwitch("autoplay-policy", "no-user-gesture-required");
let electronOptionsDefaults = {
width: 800,
height: 600,
x: 0,
y: 0,
darkTheme: true,
webPreferences: {
contextIsolation: true,
nodeIntegration: false,
zoomFactor: config.zoom
},
backgroundColor: "#000000"
};
// DEPRECATED: "kioskmode" backwards compatibility, to be removed
// settings these options directly instead provides cleaner interface
if (config.kioskmode) {
electronOptionsDefaults.kiosk = true;
} else {
electronOptionsDefaults.fullscreen = true;
electronOptionsDefaults.autoHideMenuBar = true;
}
const electronOptions = Object.assign({}, electronOptionsDefaults, config.electronOptions);
// Create the browser window.
mainWindow = new BrowserWindow(electronOptions);
// and load the index.html of the app.
// If config.address is not defined or is an empty string (listening on all interfaces), connect to localhost
let prefix;
if (config["tls"] !== null && config["tls"]) {
prefix = "https://";
} else {
prefix = "http://";
}
let address = (config.address === void 0) | (config.address === "") ? (config.address = "localhost") : config.address;
mainWindow.loadURL(`${prefix}${address}:${config.port}`);
// Open the DevTools if run with "npm start dev"
if (process.argv.includes("dev")) {
if (process.env.JEST_WORKER_ID !== undefined) {
// if we are running with jest
var devtools = new BrowserWindow(electronOptions);
mainWindow.webContents.setDevToolsWebContents(devtools.webContents);
}
mainWindow.webContents.openDevTools();
}
// Set responders for window events.
mainWindow.on("closed", function () {
mainWindow = null;
});
if (config.kioskmode) {
mainWindow.on("blur", function () {
mainWindow.focus();
});
mainWindow.on("leave-full-screen", function () {
mainWindow.setFullScreen(true);
});
mainWindow.on("resize", function () {
setTimeout(function () {
mainWindow.reload();
}, 1000);
});
}
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
app.on("ready", function () {
Log.log("Launching application.");
createWindow();
});
// Quit when all windows are closed.
app.on("window-all-closed", function () {
createWindow();
});
app.on("activate", function () {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow();
}
});
/* This method will be called when SIGINT is received and will call
* each node_helper's stop function if it exists. Added to fix #1056
*
* Note: this is only used if running Electron. Otherwise
* core.stop() is called by process.on("SIGINT"... in `app.js`
*/
app.on("before-quit", (event) => {
Log.log("Shutting down server...");
event.preventDefault();
setTimeout(() => {
process.exit(0);
}, 3000); // Force-quit after 3 seconds.
core.stop();
process.exit(0);
});
// Start the core application if server is run on localhost
// This starts all node helpers and starts the webserver.
if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].includes(config.address)) {
core.start(function (c) {
config = c;
});
}

View File

@@ -1,224 +0,0 @@
/**
* Javascript ical Parser
* Proof of concept method of reading icalendar (.ics) files with javascript.
*
* @author: Carl Saggs
* @source: https://github.com/thybag/
* @version: 0.2
*/
function ical_parser(feed_url, callback){
//store of unproccesed data.
this.raw_data = null;
//Store of proccessed data.
this.events = [];
/**
* loadFile
* Using AJAX to load the requested .ics file, passing it to the callback when completed.
* @param url URL of .ics file
* @param callback Function to call on completion.
*/
this.loadFile = function(url, callback){
//Create request object
try {xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");} catch (e) { }
//Grab file
xmlhttp.onreadystatechange = function(){
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
//On success, run callback.
callback(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
/**
* makeDate
* Convert the dateformat used by ICalendar in to one more suitable for javascript.
* @param String ical_date
* @return dt object, includes javascript Date + day name, hour/minutes/day/month/year etc.
*/
this.makeDate = function(ical_date){
//break date apart
var dtutc = {
year: ical_date.substr(0,4),
month: ical_date.substr(4,2),
day: ical_date.substr(6,2),
hour: ical_date.substr(9,2),
minute: ical_date.substr(11,2)
}
//Create JS date (months start at 0 in JS - don't ask)
var utcdatems = Date.UTC(dtutc.year, (dtutc.month-1), dtutc.day, dtutc.hour, dtutc.minute);
var dt = {};
dt.date = new Date(utcdatems);
dt.year = dt.date.getFullYear();
dt.month = ('0' + (dt.date.getMonth()+1)).slice(-2);
dt.day = ('0' + dt.date.getDate()).slice(-2);
dt.hour = ('0' + dt.date.getHours()).slice(-2);
dt.minute = ('0' + dt.date.getMinutes()).slice(-2);
//Get the full name of the given day
dt.dayname =["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][dt.date.getDay()];
dt.monthname = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ][dt.date.getMonth()] ;
return dt;
}
/**
* parseICAL
* Convert the ICAL format in to a number of javascript objects (Each representing a date)
*
* @param data Raw ICAL data
*/
this.parseICAL = function(data){
//Ensure cal is empty
this.events = [];
//Clean string and split the file so we can handle it (line by line)
cal_array = data.replace(new RegExp( "\\r", "g" ), "").replace(/\n /g,"").split("\n");
//Keep track of when we are activly parsing an event
var in_event = false;
//Use as a holder for the current event being proccessed.
var cur_event = null;
for(var i=0;i<cal_array.length;i++){
ln = cal_array[i];
//If we encounted a new Event, create a blank event object + set in event options.
if(!in_event && ln == 'BEGIN:VEVENT'){
in_event = true;
cur_event = {};
}
//If we encounter end event, complete the object and add it to our events array then clear it for reuse.
if(in_event && ln == 'END:VEVENT'){
in_event = false;
this.events.push(cur_event);
cur_event = null;
}
//If we are in an event
else if(in_event){
//var lntrim = ln.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
//var lnsplit = lntrim.split(':');
//type = lnsplit[0];
//val = lnsplit[1];
//Split the item based on the first ":"
idx = ln.indexOf(':');
//Apply trimming to values to reduce risks of badly formatted ical files.
type = ln.substr(0,idx).replace(/^\s\s*/, '').replace(/\s\s*$/, '');//Trim
val = ln.substr(idx+1).replace(/^\s\s*/, '').replace(/\s\s*$/, '');
//If the type is a start date, proccess it and store details
if(type =='DTSTART'){
dt = this.makeDate(val);
val = dt.date;
//These are helpful for display
cur_event.start_time = dt.hour+':'+dt.minute;
cur_event.start_date = dt.day+'/'+dt.month+'/'+dt.year;
cur_event.day = dt.dayname;
cur_event.start_date_long = dt.day+'. '+dt.monthname+' '+dt.year ;
}
//If the type is an end date, do the same as above
else if(type =='DTEND'){
dt = this.makeDate(val);
val = dt.date;
//These are helpful for display
cur_event.end_time = dt.hour+':'+dt.minute;
cur_event.end_date = dt.day+'/'+dt.month+'/'+dt.year;
cur_event.day = dt.dayname;
}
//Convert timestamp
else if(type =='DTSTAMP'){
val = this.makeDate(val).date;
}
else {
val = val
.replace(/\\r\\n/g,'<br />')
.replace(/\\n/g,'<br />')
.replace(/\\,/g,',');
}
//Add the value to our event object.
cur_event[type] = val;
}
}
//Run this to finish proccessing our Events.
this.complete();
}
/**
* complete
* Sort all events in to a sensible order and run the original callback
*/
this.complete = function(){
//Sort the data so its in date order.
this.events.sort(function(a,b){
return a.DTSTART-b.DTSTART;
});
//Run callback method, if was defined. (return self)
if(typeof callback == 'function') callback(this);
}
/**
* getEvents
* return all events found in the ical file.
*
* @return list of events objects
*/
this.getEvents = function(){
return this.events;
}
/**
* getFutureEvents
* return all events sheduled to take place after the current date.
*
* @return list of events objects
*/
this.getFutureEvents = function(){
var future_events = [], current_date = new Date();
this.events.forEach(function(itm){
//If the event ends after the current time, add it to the array to return.
if(itm.DTEND > current_date) future_events.push(itm);
});
return future_events;
}
/**
* getPastEvents
* return all events sheduled to take place before the current date.
*
* @return list of events objects
*/
this.getPastEvents = function(){
var past_events = [], current_date = new Date();
this.events.forEach(function(itm){
//If the event ended before the current time, add it to the array to return.
if(itm.DTEND <= current_date) past_events.push(itm);
});
return past_events.reverse();
}
/**
* load
* load a new ICAL file.
*
* @param ical file url
*/
this.load = function(ical_file){
var tmp_this = this;
this.raw_data = null;
this.loadFile(ical_file, function(data){
//if the file loads, store the data and invoke the parser
tmp_this.raw_data = data;
tmp_this.parseICAL(data);
});
}
//Store this so we can use it in the callback from the load function.
var tmp_this = this;
//Store the feed url
this.feed_url = feed_url;
//Load the file
this.load(this.feed_url);
}

View File

@@ -1,32 +0,0 @@
//jQuery extension to fetch an rss feed and return it as json via YQL
//created by dboz@airshp.com
(function($) {
$.extend({
feedToJson: function(options, callback) {
if ($.isFunction(options)) {
callback = options;
options = null;
}
options = $.extend($.feedToJson.defaults,options);
var url = options.yqlURL + options.yqlQS + "'" + encodeURIComponent(options.feed) + "'" + "&_nocache=" + options.cacheBuster;
return $.getJSON(url, function(data){
//console.log(data.query.results);
data = data.query.results;
$.isFunction(callback) && callback(data); //allows the callback function to be the only option
$.isFunction(options.success) && options.success(data);
});
}
});
//defaults
$.feedToJson.defaults = {
yqlURL : 'https://query.yahooapis.com/v1/public/yql', //yql
yqlQS : '?format=json&callback=?&q=select%20*%20from%20rss%20where%20url%3D', //yql query string
feed:'http://instagr.am/tags/tacos/feed/recent.rss', //instagram recent posts tagged 'tacos'
cachebuster: Math.floor((new Date().getTime()) / 1200 / 1000), //yql caches feeds, so we change the feed url every 20min
success:null //success callback
};
})(jQuery);
// eo feedToJson

4
js/jquery.js vendored

File diff suppressed because one or more lines are too long

271
js/loader.js Normal file
View File

@@ -0,0 +1,271 @@
/* global defaultModules, vendor */
/* Magic Mirror
* Module and File loaders.
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const Loader = (function () {
/* Create helper variables */
const loadedModuleFiles = [];
const loadedFiles = [];
const moduleObjects = [];
/* Private Methods */
/**
* Loops thru all modules and requests load for every module.
*/
const loadModules = function () {
let moduleData = getModuleData();
const loadNextModule = function () {
if (moduleData.length > 0) {
const nextModule = moduleData[0];
loadModule(nextModule, function () {
moduleData = moduleData.slice(1);
loadNextModule();
});
} else {
// All modules loaded. Load custom.css
// This is done after all the modules so we can
// overwrite all the defined styles.
loadFile(config.customCss, function () {
// custom.css loaded. Start all modules.
startModules();
});
}
};
loadNextModule();
};
/**
* Loops thru all modules and requests start for every module.
*/
const startModules = function () {
for (const module of moduleObjects) {
module.start();
}
// Notify core of loaded modules.
MM.modulesStarted(moduleObjects);
// Starting modules also hides any modules that have requested to be initially hidden
for (const thisModule of moduleObjects) {
if (thisModule.data.hiddenOnStartup) {
Log.info("Initially hiding " + thisModule.name);
thisModule.hide();
}
}
};
/**
* Retrieve list of all modules.
*
* @returns {object[]} module data as configured in config
*/
const getAllModules = function () {
return config.modules;
};
/**
* Generate array with module information including module paths.
*
* @returns {object[]} Module information.
*/
const getModuleData = function () {
const modules = getAllModules();
const moduleFiles = [];
modules.forEach(function (moduleData, index) {
const module = moduleData.module;
const elements = module.split("/");
const moduleName = elements[elements.length - 1];
let moduleFolder = config.paths.modules + "/" + module;
if (defaultModules.indexOf(moduleName) !== -1) {
moduleFolder = config.paths.modules + "/default/" + module;
}
if (moduleData.disabled === true) {
return;
}
moduleFiles.push({
index: index,
identifier: "module_" + index + "_" + module,
name: moduleName,
path: moduleFolder + "/",
file: moduleName + ".js",
position: moduleData.position,
hiddenOnStartup: moduleData.hiddenOnStartup,
header: moduleData.header,
configDeepMerge: typeof moduleData.configDeepMerge === "boolean" ? moduleData.configDeepMerge : false,
config: moduleData.config,
classes: typeof moduleData.classes !== "undefined" ? moduleData.classes + " " + module : module
});
});
return moduleFiles;
};
/**
* Load modules via ajax request and create module objects.s
*
* @param {object} module Information about the module we want to load.
* @param {Function} callback Function called when done.
*/
const loadModule = function (module, callback) {
const url = module.path + module.file;
const afterLoad = function () {
const moduleObject = Module.create(module.name);
if (moduleObject) {
bootstrapModule(module, moduleObject, function () {
callback();
});
} else {
callback();
}
};
if (loadedModuleFiles.indexOf(url) !== -1) {
afterLoad();
} else {
loadFile(url, function () {
loadedModuleFiles.push(url);
afterLoad();
});
}
};
/**
* Bootstrap modules by setting the module data and loading the scripts & styles.
*
* @param {object} module Information about the module we want to load.
* @param {Module} mObj Modules instance.
* @param {Function} callback Function called when done.
*/
const bootstrapModule = function (module, mObj, callback) {
Log.info("Bootstrapping module: " + module.name);
mObj.setData(module);
mObj.loadScripts(function () {
Log.log("Scripts loaded for: " + module.name);
mObj.loadStyles(function () {
Log.log("Styles loaded for: " + module.name);
mObj.loadTranslations(function () {
Log.log("Translations loaded for: " + module.name);
moduleObjects.push(mObj);
callback();
});
});
});
};
/**
* Load a script or stylesheet by adding it to the dom.
*
* @param {string} fileName Path of the file we want to load.
* @param {Function} callback Function called when done.
*/
const loadFile = function (fileName, callback) {
const extension = fileName.slice((Math.max(0, fileName.lastIndexOf(".")) || Infinity) + 1);
let script, stylesheet;
switch (extension.toLowerCase()) {
case "js":
Log.log("Load script: " + fileName);
script = document.createElement("script");
script.type = "text/javascript";
script.src = fileName;
script.onload = function () {
if (typeof callback === "function") {
callback();
}
};
script.onerror = function () {
Log.error("Error on loading script:", fileName);
if (typeof callback === "function") {
callback();
}
};
document.getElementsByTagName("body")[0].appendChild(script);
break;
case "css":
Log.log("Load stylesheet: " + fileName);
stylesheet = document.createElement("link");
stylesheet.rel = "stylesheet";
stylesheet.type = "text/css";
stylesheet.href = fileName;
stylesheet.onload = function () {
if (typeof callback === "function") {
callback();
}
};
stylesheet.onerror = function () {
Log.error("Error on loading stylesheet:", fileName);
if (typeof callback === "function") {
callback();
}
};
document.getElementsByTagName("head")[0].appendChild(stylesheet);
break;
}
};
/* Public Methods */
return {
/**
* Load all modules as defined in the config.
*/
loadModules: function () {
loadModules();
},
/**
* Load a file (script or stylesheet).
* Prevent double loading and search for files in the vendor folder.
*
* @param {string} fileName Path of the file we want to load.
* @param {Module} module The module that calls the loadFile function.
* @param {Function} callback Function called when done.
*/
loadFile: function (fileName, module, callback) {
if (loadedFiles.indexOf(fileName.toLowerCase()) !== -1) {
Log.log("File already loaded: " + fileName);
callback();
return;
}
if (fileName.indexOf("http://") === 0 || fileName.indexOf("https://") === 0 || fileName.indexOf("/") !== -1) {
// This is an absolute or relative path.
// Load it and then return.
loadedFiles.push(fileName.toLowerCase());
loadFile(fileName, callback);
return;
}
if (vendor[fileName] !== undefined) {
// This file is available in the vendor folder.
// Load it from this vendor folder.
loadedFiles.push(fileName.toLowerCase());
loadFile(config.paths.vendor + "/" + vendor[fileName], callback);
return;
}
// File not loaded yet.
// Load it based on the module path.
loadedFiles.push(fileName.toLowerCase());
loadFile(module.file(fileName), callback);
}
};
})();

50
js/logger.js Normal file
View File

@@ -0,0 +1,50 @@
/* Magic Mirror
* Log
*
* This logger is very simple, but needs to be extended.
* This system can eventually be used to push the log messages to an external target.
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
(function (root, factory) {
if (typeof exports === "object") {
// add timestamps in front of log messages
require("console-stamp")(console, {
pattern: "yyyy-mm-dd HH:MM:ss.l",
include: ["debug", "log", "info", "warn", "error"]
});
// Node, CommonJS-like
module.exports = factory(root.config);
} else {
// Browser globals (root is window)
root.Log = factory(root.config);
}
})(this, function (config) {
const logLevel = {
debug: Function.prototype.bind.call(console.debug, console),
log: Function.prototype.bind.call(console.log, console),
info: Function.prototype.bind.call(console.info, console),
warn: Function.prototype.bind.call(console.warn, console),
error: Function.prototype.bind.call(console.error, console),
group: Function.prototype.bind.call(console.group, console),
groupCollapsed: Function.prototype.bind.call(console.groupCollapsed, console),
groupEnd: Function.prototype.bind.call(console.groupEnd, console),
time: Function.prototype.bind.call(console.time, console),
timeEnd: Function.prototype.bind.call(console.timeEnd, console),
timeStamp: Function.prototype.bind.call(console.timeStamp, console)
};
logLevel.setLogLevel = function (newLevel) {
if (newLevel) {
Object.keys(logLevel).forEach(function (key, index) {
if (!newLevel.includes(key.toLocaleUpperCase())) {
logLevel[key] = function () {};
}
});
}
};
return logLevel;
});

665
js/main.js Executable file → Normal file
View File

@@ -1,60 +1,615 @@
jQuery.fn.updateWithText = function(text, speed)
{
var dummy = $('<div/>').html(text);
/* global Loader, defaults, Translator */
if ($(this).html() != dummy.html())
{
$(this).fadeOut(speed/2, function() {
$(this).html(text);
$(this).fadeIn(speed/2, function() {
//done
/* Magic Mirror
* Main System
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const MM = (function () {
let modules = [];
/* Private Methods */
/**
* Create dom objects for all modules that are configured for a specific position.
*/
const createDomObjects = function () {
const domCreationPromises = [];
modules.forEach(function (module) {
if (typeof module.data.position !== "string") {
return;
}
const wrapper = selectWrapper(module.data.position);
const dom = document.createElement("div");
dom.id = module.identifier;
dom.className = module.name;
if (typeof module.data.classes === "string") {
dom.className = "module " + dom.className + " " + module.data.classes;
}
dom.opacity = 0;
wrapper.appendChild(dom);
const moduleHeader = document.createElement("header");
moduleHeader.innerHTML = module.getHeader();
moduleHeader.className = "module-header";
dom.appendChild(moduleHeader);
if (typeof module.getHeader() === "undefined" || module.getHeader() !== "") {
moduleHeader.style.display = "none;";
} else {
moduleHeader.style.display = "block;";
}
const moduleContent = document.createElement("div");
moduleContent.className = "module-content";
dom.appendChild(moduleContent);
const domCreationPromise = updateDom(module, 0);
domCreationPromises.push(domCreationPromise);
domCreationPromise
.then(function () {
sendNotification("MODULE_DOM_CREATED", null, null, module);
})
.catch(Log.error);
});
updateWrapperStates();
Promise.all(domCreationPromises).then(function () {
sendNotification("DOM_OBJECTS_CREATED");
});
};
/**
* Select the wrapper dom object for a specific position.
*
* @param {string} position The name of the position.
* @returns {HTMLElement} the wrapper element
*/
const selectWrapper = function (position) {
const classes = position.replace("_", " ");
const parentWrapper = document.getElementsByClassName(classes);
if (parentWrapper.length > 0) {
const wrapper = parentWrapper[0].getElementsByClassName("container");
if (wrapper.length > 0) {
return wrapper[0];
}
}
};
/**
* Send a notification to all modules.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
* @param {Module} sender The module that sent the notification.
* @param {Module} [sendTo] The (optional) module to send the notification to.
*/
const sendNotification = function (notification, payload, sender, sendTo) {
for (const m in modules) {
const module = modules[m];
if (module !== sender && (!sendTo || module === sendTo)) {
module.notificationReceived(notification, payload, sender);
}
}
};
/**
* Update the dom for a specific module.
*
* @param {Module} module The module that needs an update.
* @param {number} [speed] The (optional) number of microseconds for the animation.
* @returns {Promise} Resolved when the dom is fully updated.
*/
const updateDom = function (module, speed) {
return new Promise(function (resolve) {
const newHeader = module.getHeader();
let newContentPromise = module.getDom();
if (!(newContentPromise instanceof Promise)) {
// convert to a promise if not already one to avoid if/else's everywhere
newContentPromise = Promise.resolve(newContentPromise);
}
newContentPromise
.then(function (newContent) {
const updatePromise = updateDomWithContent(module, speed, newHeader, newContent);
updatePromise.then(resolve).catch(Log.error);
})
.catch(Log.error);
});
};
/**
* Update the dom with the specified content
*
* @param {Module} module The module that needs an update.
* @param {number} [speed] The (optional) number of microseconds for the animation.
* @param {string} newHeader The new header that is generated.
* @param {HTMLElement} newContent The new content that is generated.
* @returns {Promise} Resolved when the module dom has been updated.
*/
const updateDomWithContent = function (module, speed, newHeader, newContent) {
return new Promise(function (resolve) {
if (module.hidden || !speed) {
updateModuleContent(module, newHeader, newContent);
resolve();
return;
}
if (!moduleNeedsUpdate(module, newHeader, newContent)) {
resolve();
return;
}
if (!speed) {
updateModuleContent(module, newHeader, newContent);
resolve();
return;
}
hideModule(module, speed / 2, function () {
updateModuleContent(module, newHeader, newContent);
if (!module.hidden) {
showModule(module, speed / 2);
}
resolve();
});
});
}
};
/**
* Check if the content has changed.
*
* @param {Module} module The module to check.
* @param {string} newHeader The new header that is generated.
* @param {HTMLElement} newContent The new content that is generated.
* @returns {boolean} True if the module need an update, false otherwise
*/
const moduleNeedsUpdate = function (module, newHeader, newContent) {
const moduleWrapper = document.getElementById(module.identifier);
if (moduleWrapper === null) {
return false;
}
const contentWrapper = moduleWrapper.getElementsByClassName("module-content");
const headerWrapper = moduleWrapper.getElementsByClassName("module-header");
let headerNeedsUpdate = false;
let contentNeedsUpdate;
if (headerWrapper.length > 0) {
headerNeedsUpdate = newHeader !== headerWrapper[0].innerHTML;
}
const tempContentWrapper = document.createElement("div");
tempContentWrapper.appendChild(newContent);
contentNeedsUpdate = tempContentWrapper.innerHTML !== contentWrapper[0].innerHTML;
return headerNeedsUpdate || contentNeedsUpdate;
};
/**
* Update the content of a module on screen.
*
* @param {Module} module The module to check.
* @param {string} newHeader The new header that is generated.
* @param {HTMLElement} newContent The new content that is generated.
*/
const updateModuleContent = function (module, newHeader, newContent) {
const moduleWrapper = document.getElementById(module.identifier);
if (moduleWrapper === null) {
return;
}
const headerWrapper = moduleWrapper.getElementsByClassName("module-header");
const contentWrapper = moduleWrapper.getElementsByClassName("module-content");
contentWrapper[0].innerHTML = "";
contentWrapper[0].appendChild(newContent);
headerWrapper[0].innerHTML = newHeader;
if (headerWrapper.length > 0 && newHeader) {
headerWrapper[0].style.display = "block";
} else {
headerWrapper[0].style.display = "none";
}
};
/**
* Hide the module.
*
* @param {Module} module The module to hide.
* @param {number} speed The speed of the hide animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the hide method.
*/
const hideModule = function (module, speed, callback, options) {
options = options || {};
// set lockString if set in options.
if (options.lockString) {
// Log.log("Has lockstring: " + options.lockString);
if (module.lockStrings.indexOf(options.lockString) === -1) {
module.lockStrings.push(options.lockString);
}
}
const moduleWrapper = document.getElementById(module.identifier);
if (moduleWrapper !== null) {
moduleWrapper.style.transition = "opacity " + speed / 1000 + "s";
moduleWrapper.style.opacity = 0;
clearTimeout(module.showHideTimer);
module.showHideTimer = setTimeout(function () {
// To not take up any space, we just make the position absolute.
// since it's fade out anyway, we can see it lay above or
// below other modules. This works way better than adjusting
// the .display property.
moduleWrapper.style.position = "fixed";
updateWrapperStates();
if (typeof callback === "function") {
callback();
}
}, speed);
} else {
// invoke callback even if no content, issue 1308
if (typeof callback === "function") {
callback();
}
}
};
/**
* Show the module.
*
* @param {Module} module The module to show.
* @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method.
*/
const showModule = function (module, speed, callback, options) {
options = options || {};
// remove lockString if set in options.
if (options.lockString) {
const index = module.lockStrings.indexOf(options.lockString);
if (index !== -1) {
module.lockStrings.splice(index, 1);
}
}
// Check if there are no more lockstrings set, or the force option is set.
// Otherwise cancel show action.
if (module.lockStrings.length !== 0 && options.force !== true) {
Log.log("Will not show " + module.name + ". LockStrings active: " + module.lockStrings.join(","));
if (typeof options.onError === "function") {
options.onError(new Error("LOCK_STRING_ACTIVE"));
}
return;
}
module.hidden = false;
// If forced show, clean current lockstrings.
if (module.lockStrings.length !== 0 && options.force === true) {
Log.log("Force show of module: " + module.name);
module.lockStrings = [];
}
const moduleWrapper = document.getElementById(module.identifier);
if (moduleWrapper !== null) {
moduleWrapper.style.transition = "opacity " + speed / 1000 + "s";
// Restore the position. See hideModule() for more info.
moduleWrapper.style.position = "static";
updateWrapperStates();
// Waiting for DOM-changes done in updateWrapperStates before we can start the animation.
const dummy = moduleWrapper.parentElement.parentElement.offsetHeight;
moduleWrapper.style.opacity = 1;
clearTimeout(module.showHideTimer);
module.showHideTimer = setTimeout(function () {
if (typeof callback === "function") {
callback();
}
}, speed);
} else {
// invoke callback
if (typeof callback === "function") {
callback();
}
}
};
/**
* Checks for all positions if it has visible content.
* If not, if will hide the position to prevent unwanted margins.
* This method should be called by the show and hide methods.
*
* Example:
* If the top_bar only contains the update notification. And no update is available,
* the update notification is hidden. The top bar still occupies space making for
* an ugly top margin. By using this function, the top bar will be hidden if the
* update notification is not visible.
*/
const updateWrapperStates = function () {
const positions = ["top_bar", "top_left", "top_center", "top_right", "upper_third", "middle_center", "lower_third", "bottom_left", "bottom_center", "bottom_right", "bottom_bar", "fullscreen_above", "fullscreen_below"];
positions.forEach(function (position) {
const wrapper = selectWrapper(position);
const moduleWrappers = wrapper.getElementsByClassName("module");
let showWrapper = false;
Array.prototype.forEach.call(moduleWrappers, function (moduleWrapper) {
if (moduleWrapper.style.position === "" || moduleWrapper.style.position === "static") {
showWrapper = true;
}
});
wrapper.style.display = showWrapper ? "block" : "none";
});
};
/**
* Loads the core config and combines it with the system defaults.
*/
const loadConfig = function () {
// FIXME: Think about how to pass config around without breaking tests
/* eslint-disable */
if (typeof config === "undefined") {
config = defaults;
Log.error("Config file is missing! Please create a config file.");
return;
}
config = Object.assign({}, defaults, config);
/* eslint-enable */
};
/**
* Adds special selectors on a collection of modules.
*
* @param {Module[]} modules Array of modules.
*/
const setSelectionMethodsForModules = function (modules) {
/**
* Filter modules with the specified classes.
*
* @param {string|string[]} className one or multiple classnames (array or space divided).
* @returns {Module[]} Filtered collection of modules.
*/
const withClass = function (className) {
return modulesByClass(className, true);
};
/**
* Filter modules without the specified classes.
*
* @param {string|string[]} className one or multiple classnames (array or space divided).
* @returns {Module[]} Filtered collection of modules.
*/
const exceptWithClass = function (className) {
return modulesByClass(className, false);
};
/**
* Filters a collection of modules based on classname(s).
*
* @param {string|string[]} className one or multiple classnames (array or space divided).
* @param {boolean} include if the filter should include or exclude the modules with the specific classes.
* @returns {Module[]} Filtered collection of modules.
*/
const modulesByClass = function (className, include) {
let searchClasses = className;
if (typeof className === "string") {
searchClasses = className.split(" ");
}
const newModules = modules.filter(function (module) {
const classes = module.data.classes.toLowerCase().split(" ");
for (const searchClass of searchClasses) {
if (classes.indexOf(searchClass.toLowerCase()) !== -1) {
return include;
}
}
return !include;
});
setSelectionMethodsForModules(newModules);
return newModules;
};
/**
* Removes a module instance from the collection.
*
* @param {object} module The module instance to remove from the collection.
* @returns {Module[]} Filtered collection of modules.
*/
const exceptModule = function (module) {
const newModules = modules.filter(function (mod) {
return mod.identifier !== module.identifier;
});
setSelectionMethodsForModules(newModules);
return newModules;
};
/**
* Walks thru a collection of modules and executes the callback with the module as an argument.
*
* @param {Function} callback The function to execute with the module as an argument.
*/
const enumerate = function (callback) {
modules.map(function (module) {
callback(module);
});
};
if (typeof modules.withClass === "undefined") {
Object.defineProperty(modules, "withClass", { value: withClass, enumerable: false });
}
if (typeof modules.exceptWithClass === "undefined") {
Object.defineProperty(modules, "exceptWithClass", { value: exceptWithClass, enumerable: false });
}
if (typeof modules.exceptModule === "undefined") {
Object.defineProperty(modules, "exceptModule", { value: exceptModule, enumerable: false });
}
if (typeof modules.enumerate === "undefined") {
Object.defineProperty(modules, "enumerate", { value: enumerate, enumerable: false });
}
};
return {
/* Public Methods */
/**
* Main init method.
*/
init: function () {
Log.info("Initializing MagicMirror.");
loadConfig();
Log.setLogLevel(config.logLevel);
Translator.loadCoreTranslations(config.language);
Loader.loadModules();
},
/**
* Gets called when all modules are started.
*
* @param {Module[]} moduleObjects All module instances.
*/
modulesStarted: function (moduleObjects) {
modules = [];
moduleObjects.forEach((module) => modules.push(module));
Log.info("All modules started!");
sendNotification("ALL_MODULES_STARTED");
createDomObjects();
},
/**
* Send a notification to all modules.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
* @param {Module} sender The module that sent the notification.
*/
sendNotification: function (notification, payload, sender) {
if (arguments.length < 3) {
Log.error("sendNotification: Missing arguments.");
return;
}
if (typeof notification !== "string") {
Log.error("sendNotification: Notification should be a string.");
return;
}
if (!(sender instanceof Module)) {
Log.error("sendNotification: Sender should be a module.");
return;
}
// Further implementation is done in the private method.
sendNotification(notification, payload, sender);
},
/**
* Update the dom for a specific module.
*
* @param {Module} module The module that needs an update.
* @param {number} [speed] The number of microseconds for the animation.
*/
updateDom: function (module, speed) {
if (!(module instanceof Module)) {
Log.error("updateDom: Sender should be a module.");
return;
}
if (!module.data.position) {
Log.warn("module tries to update the DOM without being displayed.");
return;
}
// Further implementation is done in the private method.
updateDom(module, speed);
},
/**
* Returns a collection of all modules currently active.
*
* @returns {Module[]} A collection of all modules currently active.
*/
getModules: function () {
setSelectionMethodsForModules(modules);
return modules;
},
/**
* Hide the module.
*
* @param {Module} module The module to hide.
* @param {number} speed The speed of the hide animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the hide method.
*/
hideModule: function (module, speed, callback, options) {
module.hidden = true;
hideModule(module, speed, callback, options);
},
/**
* Show the module.
*
* @param {Module} module The module to show.
* @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method.
*/
showModule: function (module, speed, callback, options) {
// do not change module.hidden yet, only if we really show it later
showModule(module, speed, callback, options);
}
};
})();
// Add polyfill for Object.assign.
if (typeof Object.assign !== "function") {
(function () {
Object.assign = function (target) {
"use strict";
if (target === undefined || target === null) {
throw new TypeError("Cannot convert undefined or null to object");
}
const output = Object(target);
for (let index = 1; index < arguments.length; index++) {
const source = arguments[index];
if (source !== undefined && source !== null) {
for (const nextKey in source) {
if (source.hasOwnProperty(nextKey)) {
output[nextKey] = source[nextKey];
}
}
}
}
return output;
};
})();
}
jQuery.fn.outerHTML = function(s) {
return s
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
};
function roundVal(temp)
{
return Math.round(temp * 10) / 10;
}
jQuery(document).ready(function($) {
var eventList = [];
var lastCompliment;
var compliment;
moment.locale(config.lang);
//connect do Xbee monitor
// var socket = io.connect('http://rpi-alarm.local:8082');
// socket.on('dishwasher', function (dishwasherReady) {
// if (dishwasherReady) {
// $('.dishwasher').fadeIn(2000);
// $('.lower-third').fadeOut(2000);
// } else {
// $('.dishwasher').fadeOut(2000);
// $('.lower-third').fadeIn(2000);
// }
// });
version.init();
time.init();
calendar.init();
compliments.init();
weather.init();
news.init();
});
MM.init();

534
js/module.js Normal file
View File

@@ -0,0 +1,534 @@
/* global Class, cloneObject, Loader, MMSocket, nunjucks, Translator */
/* Magic Mirror
* Module Blueprint.
* @typedef {Object} Module
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
var Module = Class.extend({
/*********************************************************
* All methods (and properties) below can be subclassed. *
*********************************************************/
// Set the minimum MagicMirror module version for this module.
requiresVersion: "2.0.0",
// Module config defaults.
defaults: {},
// Timer reference used for showHide animation callbacks.
showHideTimer: null,
// Array to store lockStrings. These strings are used to lock
// visibility when hiding and showing module.
lockStrings: [],
// Storage of the nunjuck Environment,
// This should not be referenced directly.
// Use the nunjucksEnvironment() to get it.
_nunjucksEnvironment: null,
/**
* Called when the module is instantiated.
*/
init: function () {
//Log.log(this.defaults);
},
/**
* Called when the module is started.
*/
start: function () {
Log.info("Starting module: " + this.name);
},
/**
* Returns a list of scripts the module requires to be loaded.
*
* @returns {string[]} An array with filenames.
*/
getScripts: function () {
return [];
},
/**
* Returns a list of stylesheets the module requires to be loaded.
*
* @returns {string[]} An array with filenames.
*/
getStyles: function () {
return [];
},
/**
* Returns a map of translation files the module requires to be loaded.
*
* return Map<String, String> -
*
* @returns {*} A map with langKeys and filenames.
*/
getTranslations: function () {
return false;
},
/**
* Generates the dom which needs to be displayed. This method is called by the Magic Mirror core.
* This method can to be subclassed if the module wants to display info on the mirror.
* Alternatively, the getTemplate method could be subclassed.
*
* @returns {HTMLElement|Promise} The dom or a promise with the dom to display.
*/
getDom: function () {
return new Promise((resolve) => {
const div = document.createElement("div");
const template = this.getTemplate();
const templateData = this.getTemplateData();
// Check to see if we need to render a template string or a file.
if (/^.*((\.html)|(\.njk))$/.test(template)) {
// the template is a filename
this.nunjucksEnvironment().render(template, templateData, function (err, res) {
if (err) {
Log.error(err);
}
div.innerHTML = res;
resolve(div);
});
} else {
// the template is a template string.
div.innerHTML = this.nunjucksEnvironment().renderString(template, templateData);
resolve(div);
}
});
},
/**
* Generates the header string which needs to be displayed if a user has a header configured for this module.
* This method is called by the Magic Mirror core, but only if the user has configured a default header for the module.
* This method needs to be subclassed if the module wants to display modified headers on the mirror.
*
* @returns {string} The header to display above the header.
*/
getHeader: function () {
return this.data.header;
},
/**
* Returns the template for the module which is used by the default getDom implementation.
* This method needs to be subclassed if the module wants to use a template.
* It can either return a template sting, or a template filename.
* If the string ends with '.html' it's considered a file from within the module's folder.
*
* @returns {string} The template string of filename.
*/
getTemplate: function () {
return '<div class="normal">' + this.name + '</div><div class="small dimmed">' + this.identifier + "</div>";
},
/**
* Returns the data to be used in the template.
* This method needs to be subclassed if the module wants to use a custom data.
*
* @returns {object} The data for the template
*/
getTemplateData: function () {
return {};
},
/**
* Called by the Magic Mirror core when a notification arrives.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
* @param {Module} sender The module that sent the notification.
*/
notificationReceived: function (notification, payload, sender) {
if (sender) {
// Log.log(this.name + " received a module notification: " + notification + " from sender: " + sender.name);
} else {
// Log.log(this.name + " received a system notification: " + notification);
}
},
/**
* Returns the nunjucks environment for the current module.
* The environment is checked in the _nunjucksEnvironment instance variable.
*
* @returns {object} The Nunjucks Environment
*/
nunjucksEnvironment: function () {
if (this._nunjucksEnvironment !== null) {
return this._nunjucksEnvironment;
}
this._nunjucksEnvironment = new nunjucks.Environment(new nunjucks.WebLoader(this.file(""), { async: true }), {
trimBlocks: true,
lstripBlocks: true
});
this._nunjucksEnvironment.addFilter("translate", (str, variables) => {
return nunjucks.runtime.markSafe(this.translate(str, variables));
});
return this._nunjucksEnvironment;
},
/**
* Called when a socket notification arrives.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
*/
socketNotificationReceived: function (notification, payload) {
Log.log(this.name + " received a socket notification: " + notification + " - Payload: " + payload);
},
/**
* Called when the module is hidden.
*/
suspend: function () {
Log.log(this.name + " is suspended.");
},
/**
* Called when the module is shown.
*/
resume: function () {
Log.log(this.name + " is resumed.");
},
/*********************************************
* The methods below don"t need subclassing. *
*********************************************/
/**
* Set the module data.
*
* @param {object} data The module data
*/
setData: function (data) {
this.data = data;
this.name = data.name;
this.identifier = data.identifier;
this.hidden = false;
this.setConfig(data.config, data.configDeepMerge);
},
/**
* Set the module config and combine it with the module defaults.
*
* @param {object} config The combined module config.
* @param {boolean} deep Merge module config in deep.
*/
setConfig: function (config, deep) {
this.config = deep ? configMerge({}, this.defaults, config) : Object.assign({}, this.defaults, config);
},
/**
* Returns a socket object. If it doesn't exist, it's created.
* It also registers the notification callback.
*
* @returns {MMSocket} a socket object
*/
socket: function () {
if (typeof this._socket === "undefined") {
this._socket = new MMSocket(this.name);
}
this._socket.setNotificationCallback((notification, payload) => {
this.socketNotificationReceived(notification, payload);
});
return this._socket;
},
/**
* Retrieve the path to a module file.
*
* @param {string} file Filename
* @returns {string} the file path
*/
file: function (file) {
return (this.data.path + "/" + file).replace("//", "/");
},
/**
* Load all required stylesheets by requesting the MM object to load the files.
*
* @param {Function} callback Function called when done.
*/
loadStyles: function (callback) {
this.loadDependencies("getStyles", callback);
},
/**
* Load all required scripts by requesting the MM object to load the files.
*
* @param {Function} callback Function called when done.
*/
loadScripts: function (callback) {
this.loadDependencies("getScripts", callback);
},
/**
* Helper method to load all dependencies.
*
* @param {string} funcName Function name to call to get scripts or styles.
* @param {Function} callback Function called when done.
*/
loadDependencies: function (funcName, callback) {
let dependencies = this[funcName]();
const loadNextDependency = () => {
if (dependencies.length > 0) {
const nextDependency = dependencies[0];
Loader.loadFile(nextDependency, this, () => {
dependencies = dependencies.slice(1);
loadNextDependency();
});
} else {
callback();
}
};
loadNextDependency();
},
/**
* Load all translations.
*
* @param {Function} callback Function called when done.
*/
loadTranslations(callback) {
const translations = this.getTranslations() || {};
const language = config.language.toLowerCase();
const languages = Object.keys(translations);
const fallbackLanguage = languages[0];
if (languages.length === 0) {
callback();
return;
}
const translationFile = translations[language];
const translationsFallbackFile = translations[fallbackLanguage];
if (!translationFile) {
Translator.load(this, translationsFallbackFile, true, callback);
return;
}
Translator.load(this, translationFile, false, () => {
if (translationFile !== translationsFallbackFile) {
Translator.load(this, translationsFallbackFile, true, callback);
} else {
callback();
}
});
},
/**
* Request the translation for a given key with optional variables and default value.
*
* @param {string} key The key of the string to translate
* @param {string|object} [defaultValueOrVariables] The default value or variables for translating.
* @param {string} [defaultValue] The default value with variables.
* @returns {string} the translated key
*/
translate: function (key, defaultValueOrVariables, defaultValue) {
if (typeof defaultValueOrVariables === "object") {
return Translator.translate(this, key, defaultValueOrVariables) || defaultValue || "";
}
return Translator.translate(this, key) || defaultValueOrVariables || "";
},
/**
* Request an (animated) update of the module.
*
* @param {number} [speed] The speed of the animation.
*/
updateDom: function (speed) {
MM.updateDom(this, speed);
},
/**
* Send a notification to all modules.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
*/
sendNotification: function (notification, payload) {
MM.sendNotification(notification, payload, this);
},
/**
* Send a socket notification to the node helper.
*
* @param {string} notification The identifier of the notification.
* @param {*} payload The payload of the notification.
*/
sendSocketNotification: function (notification, payload) {
this.socket().sendNotification(notification, payload);
},
/**
* Hide this module.
*
* @param {number} speed The speed of the hide animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the hide method.
*/
hide: function (speed, callback, options) {
if (typeof callback === "object") {
options = callback;
callback = function () {};
}
callback = callback || function () {};
options = options || {};
MM.hideModule(
this,
speed,
() => {
this.suspend();
callback();
},
options
);
},
/**
* Show this module.
*
* @param {number} speed The speed of the show animation.
* @param {Function} callback Called when the animation is done.
* @param {object} [options] Optional settings for the show method.
*/
show: function (speed, callback, options) {
if (typeof callback === "object") {
options = callback;
callback = function () {};
}
callback = callback || function () {};
options = options || {};
MM.showModule(
this,
speed,
() => {
this.resume();
callback();
},
options
);
}
});
/**
* Merging MagicMirror (or other) default/config script by @bugsounet
* Merge 2 objects or/with array
*
* Usage:
* -------
* this.config = configMerge({}, this.defaults, this.config)
* -------
* arg1: initial object
* arg2: config model
* arg3: config to merge
* -------
* why using it ?
* Object.assign() function don't to all job
* it don't merge all thing in deep
* -> object in object and array is not merging
* -------
*
* Todo: idea of Mich determinate what do you want to merge or not
*
* @param {object} result the initial object
* @returns {object} the merged config
*/
function configMerge(result) {
const stack = Array.prototype.slice.call(arguments, 1);
let item, key;
while (stack.length) {
item = stack.shift();
for (key in item) {
if (item.hasOwnProperty(key)) {
if (typeof result[key] === "object" && result[key] && Object.prototype.toString.call(result[key]) !== "[object Array]") {
if (typeof item[key] === "object" && item[key] !== null) {
result[key] = configMerge({}, result[key], item[key]);
} else {
result[key] = item[key];
}
} else {
result[key] = item[key];
}
}
}
}
return result;
}
Module.definitions = {};
Module.create = function (name) {
// Make sure module definition is available.
if (!Module.definitions[name]) {
return;
}
const moduleDefinition = Module.definitions[name];
const clonedDefinition = cloneObject(moduleDefinition);
// Note that we clone the definition. Otherwise the objects are shared, which gives problems.
const ModuleClass = Module.extend(clonedDefinition);
return new ModuleClass();
};
Module.register = function (name, moduleDefinition) {
if (moduleDefinition.requiresVersion) {
Log.log("Check MagicMirror version for module '" + name + "' - Minimum version: " + moduleDefinition.requiresVersion + " - Current version: " + window.version);
if (cmpVersions(window.version, moduleDefinition.requiresVersion) >= 0) {
Log.log("Version is ok!");
} else {
Log.warn("Version is incorrect. Skip module: '" + name + "'");
return;
}
}
Log.log("Module registered: " + name);
Module.definitions[name] = moduleDefinition;
};
/**
* Compare two semantic version numbers and return the difference.
*
* @param {string} a Version number a.
* @param {string} b Version number b.
* @returns {number} A positive number if a is larger than b, a negative
* number if a is smaller and 0 if they are the same
*/
function cmpVersions(a, b) {
const regExStrip0 = /(\.0+)+$/;
const segmentsA = a.replace(regExStrip0, "").split(".");
const segmentsB = b.replace(regExStrip0, "").split(".");
const l = Math.min(segmentsA.length, segmentsB.length);
for (let i = 0; i < l; i++) {
let diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
if (diff) {
return diff;
}
}
return segmentsA.length - segmentsB.length;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,152 +0,0 @@
// A lot of this code is from the original feedToJson function that was included with this project
// The new code allows for multiple feeds to be used but a bunch of variables and such have literally been copied and pasted into this code and some help from here: http://jsfiddle.net/BDK46/
// The original version can be found here: http://airshp.com/2011/jquery-plugin-feed-to-json/
var news = {
feed: config.news.feed || null,
newsLocation: '.news',
newsItems: [],
seenNewsItem: [],
_yqURL: 'https://query.yahooapis.com/v1/public/yql',
_yqlQS: '?format=json&q=select%20*%20from%20rss%20where%20url%3D',
_cacheBuster: Math.floor((new Date().getTime()) / 1200 / 1000),
_failedAttempts: 0,
fetchInterval: config.news.fetchInterval || 60000,
updateInterval: config.news.interval || 5500,
fadeInterval: 2000,
intervalId: null,
fetchNewsIntervalId: null
}
/**
* Creates the query string that will be used to grab a converted RSS feed into a JSON object via Yahoo
* @param {string} feed The original location of the RSS feed
* @return {string} The new location of the RSS feed provided by Yahoo
*/
news.buildQueryString = function (feed) {
return this._yqURL + this._yqlQS + '\'' + encodeURIComponent(feed) + '\'';
}
/**
* Fetches the news for each feed provided in the config file
*/
news.fetchNews = function () {
// Reset the news feed
this.newsItems = [];
this.feed.forEach(function (_curr) {
var _yqUrlString = this.buildQueryString(_curr);
this.fetchFeed(_yqUrlString);
}.bind(this));
}
/**
* Runs a GET request to Yahoo's service
* @param {string} yqUrl The URL being used to grab the RSS feed (in JSON format)
*/
news.fetchFeed = function (yqUrl) {
$.ajax({
type: 'GET',
datatype:'jsonp',
url: yqUrl,
success: function (data) {
if (data.query.count > 0) {
this.parseFeed(data.query.results.item);
} else {
console.error('No feed results for: ' + yqUrl);
}
}.bind(this),
error: function () {
// non-specific error message that should be updated
console.error('No feed results for: ' + yqUrl);
}
});
}
/**
* Parses each item in a single news feed
* @param {Object} data The news feed that was returned by Yahoo
* @return {boolean} Confirms that the feed was parsed correctly
*/
news.parseFeed = function (data) {
var _rssItems = [];
for (var i = 0, count = data.length; i < count; i++) {
_rssItems.push(data[i].title);
}
this.newsItems = this.newsItems.concat(_rssItems);
return true;
}
/**
* Loops through each available and unseen news feed after it has been retrieved from Yahoo and shows it on the screen
* When all news titles have been exhausted, the list resets and randomly chooses from the original set of items
* @return {boolean} Confirms that there is a list of news items to loop through and that one has been shown on the screen
*/
news.showNews = function () {
// If all items have been seen, swap seen to unseen
if (this.newsItems.length === 0 && this.seenNewsItem.length !== 0) {
if (this._failedAttempts === 20) {
console.error('Failed to show a news story 20 times, stopping any attempts');
return false;
}
this._failedAttempts++;
setTimeout(function () {
this.showNews();
}.bind(this), 3000);
} else if (this.newsItems.length === 0 && this.seenNewsItem.length !== 0) {
this.newsItems = this.seenNewsItem.splice(0);
}
var _location = Math.floor(Math.random() * this.newsItems.length);
var _item = news.newsItems.splice(_location, 1)[0];
this.seenNewsItem.push(_item);
$(this.newsLocation).updateWithText(_item, this.fadeInterval);
return true;
}
news.init = function () {
if (this.feed === null || (this.feed instanceof Array === false && typeof this.feed !== 'string')) {
return false;
} else if (typeof this.feed === 'string') {
this.feed = [this.feed];
}
this.fetchNews();
this.showNews();
this.fetchNewsIntervalId = setInterval(function () {
this.fetchNews()
}.bind(this), this.fetchInterval)
this.intervalId = setInterval(function () {
this.showNews();
}.bind(this), this.updateInterval);
}

146
js/node_helper.js Normal file
View File

@@ -0,0 +1,146 @@
/* Magic Mirror
* Node Helper Superclass
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const Class = require("./class.js");
const Log = require("logger");
const express = require("express");
const NodeHelper = Class.extend({
init() {
Log.log("Initializing new module helper ...");
},
loaded(callback) {
Log.log(`Module helper loaded: ${this.name}`);
callback();
},
start() {
Log.log(`Starting module helper: ${this.name}`);
},
/* stop()
* Called when the MagicMirror server receives a `SIGINT`
* Close any open connections, stop any sub-processes and
* gracefully exit the module.
*
*/
stop() {
Log.log(`Stopping module helper: ${this.name}`);
},
/* socketNotificationReceived(notification, payload)
* This method is called when a socket notification arrives.
*
* argument notification string - The identifier of the notification.
* argument payload mixed - The payload of the notification.
*/
socketNotificationReceived(notification, payload) {
Log.log(`${this.name} received a socket notification: ${notification} - Payload: ${payload}`);
},
/* setName(name)
* Set the module name.
*
* argument name string - Module name.
*/
setName(name) {
this.name = name;
},
/* setPath(path)
* Set the module path.
*
* argument path string - Module path.
*/
setPath(path) {
this.path = path;
},
/* sendSocketNotification(notification, payload)
* Send a socket notification to the node helper.
*
* argument notification string - The identifier of the notification.
* argument payload mixed - The payload of the notification.
*/
sendSocketNotification(notification, payload) {
this.io.of(this.name).emit(notification, payload);
},
/* setExpressApp(app)
* Sets the express app object for this module.
* This allows you to host files from the created webserver.
*
* argument app Express app - The Express app object.
*/
setExpressApp(app) {
this.expressApp = app;
app.use(`/${this.name}`, express.static(`${this.path}/public`));
},
/* setSocketIO(io)
* Sets the socket io object for this module.
* Binds message receiver.
*
* argument io Socket.io - The Socket io object.
*/
setSocketIO(io) {
this.io = io;
Log.log(`Connecting socket for: ${this.name}`);
io.of(this.name).on("connection", (socket) => {
// add a catch all event.
const onevent = socket.onevent;
socket.onevent = function (packet) {
const args = packet.data || [];
onevent.call(this, packet); // original call
packet.data = ["*"].concat(args);
onevent.call(this, packet); // additional call to catch-all
};
// register catch all.
socket.on("*", (notification, payload) => {
if (notification !== "*") {
this.socketNotificationReceived(notification, payload);
}
});
});
}
});
NodeHelper.checkFetchStatus = function (response) {
// response.status >= 200 && response.status < 300
if (response.ok) {
return response;
} else {
throw Error(response.statusText);
}
};
/**
* Look at the specified error and return an appropriate error type, that
* can be translated to a detailed error message
*
* @param {Error} error the error from fetching something
* @returns {string} the string of the detailed error message in the translations
*/
NodeHelper.checkFetchError = function (error) {
let error_type = "MODULE_ERROR_UNSPECIFIED";
if (error.code === "EAI_AGAIN") {
error_type = "MODULE_ERROR_NO_CONNECTION";
} else if (error.message === "Unauthorized") {
error_type = "MODULE_ERROR_UNAUTHORIZED";
}
return error_type;
};
NodeHelper.create = function (moduleDefinition) {
return NodeHelper.extend(moduleDefinition);
};
module.exports = NodeHelper;

File diff suppressed because it is too large Load Diff

97
js/server.js Normal file
View File

@@ -0,0 +1,97 @@
/* Magic Mirror
* Server
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const express = require("express");
const app = require("express")();
const path = require("path");
const ipfilter = require("express-ipfilter").IpFilter;
const fs = require("fs");
const helmet = require("helmet");
const Log = require("logger");
const Utils = require("./utils.js");
/**
* Server
*
* @param {object} config The MM config
* @param {Function} callback Function called when done.
* @class
*/
function Server(config, callback) {
const port = process.env.MM_PORT || config.port;
let server = null;
if (config.useHttps) {
const options = {
key: fs.readFileSync(config.httpsPrivateKey),
cert: fs.readFileSync(config.httpsCertificate)
};
server = require("https").Server(options, app);
} else {
server = require("http").Server(app);
}
const io = require("socket.io")(server, {
cors: {
origin: /.*$/,
credentials: true
},
allowEIO3: true
});
Log.log(`Starting server on port ${port} ... `);
server.listen(port, config.address || "localhost");
if (config.ipWhitelist instanceof Array && config.ipWhitelist.length === 0) {
Log.warn(Utils.colors.warn("You're using a full whitelist configuration to allow for all IPs"));
}
app.use(function (req, res, next) {
ipfilter(config.ipWhitelist, { mode: config.ipWhitelist.length === 0 ? "deny" : "allow", log: false })(req, res, function (err) {
if (err === undefined) {
return next();
}
Log.log(err.message);
res.status(403).send("This device is not allowed to access your mirror. <br> Please check your config.js or config.js.sample to change this.");
});
});
app.use(helmet({ contentSecurityPolicy: false }));
app.use("/js", express.static(__dirname));
const directories = ["/config", "/css", "/fonts", "/modules", "/vendor", "/translations", "/tests/configs"];
for (const directory of directories) {
app.use(directory, express.static(path.resolve(global.root_path + directory)));
}
app.get("/version", function (req, res) {
res.send(global.version);
});
app.get("/config", function (req, res) {
res.send(config);
});
app.get("/", function (req, res) {
let html = fs.readFileSync(path.resolve(`${global.root_path}/index.html`), { encoding: "utf8" });
html = html.replace("#VERSION#", global.version);
let configFile = "config/config.js";
if (typeof global.configuration_file !== "undefined") {
configFile = global.configuration_file;
}
html = html.replace("#CONFIG_FILE#", configFile);
res.send(html);
});
if (typeof callback === "function") {
callback(app, io);
}
}
module.exports = Server;

2
js/socket.io.min.js vendored

File diff suppressed because one or more lines are too long

53
js/socketclient.js Normal file
View File

@@ -0,0 +1,53 @@
/* global io */
/* Magic Mirror
* TODO add description
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const MMSocket = function (moduleName) {
if (typeof moduleName !== "string") {
throw new Error("Please set the module name for the MMSocket.");
}
this.moduleName = moduleName;
// Private Methods
let base = "/";
if (typeof config !== "undefined" && typeof config.basePath !== "undefined") {
base = config.basePath;
}
this.socket = io("/" + this.moduleName, {
path: base + "socket.io"
});
let notificationCallback = function () {};
const onevent = this.socket.onevent;
this.socket.onevent = (packet) => {
const args = packet.data || [];
onevent.call(this.socket, packet); // original call
packet.data = ["*"].concat(args);
onevent.call(this.socket, packet); // additional call to catch-all
};
// register catch all.
this.socket.on("*", (notification, payload) => {
if (notification !== "*") {
notificationCallback(notification, payload);
}
});
// Public Methods
this.setNotificationCallback = (callback) => {
notificationCallback = callback;
};
this.sendNotification = (notification, payload) => {
if (typeof payload === "undefined") {
payload = {};
}
this.socket.emit(notification, payload);
};
};

View File

@@ -1,34 +0,0 @@
var time = {
timeFormat: config.time.timeFormat || 24,
dateLocation: '.date',
timeLocation: '.time',
updateInterval: 1000,
intervalId: null
};
/**
* Updates the time that is shown on the screen
*/
time.updateTime = function () {
var _now = moment(),
_date = _now.format('dddd, LL');
$(this.dateLocation).html(_date);
$(this.timeLocation).html(_now.format(this._timeFormat+':mm[<span class="sec">]ss[</span>]'));
}
time.init = function () {
if (parseInt(time.timeFormat) === 12) {
time._timeFormat = 'hh'
} else {
time._timeFormat = 'HH';
}
this.intervalId = setInterval(function () {
this.updateTime();
}.bind(this), 1000);
}

158
js/translator.js Normal file
View File

@@ -0,0 +1,158 @@
/* global translations */
/* Magic Mirror
* Translator (l10n)
*
* By Christopher Fenner https://github.com/CFenner
* MIT Licensed.
*/
var Translator = (function () {
/**
* Load a JSON file via XHR.
*
* @param {string} file Path of the file we want to load.
* @param {Function} callback Function called when done.
*/
function loadJSON(file, callback) {
const xhr = new XMLHttpRequest();
xhr.overrideMimeType("application/json");
xhr.open("GET", file, true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
// needs error handler try/catch at least
let fileinfo = null;
try {
fileinfo = JSON.parse(xhr.responseText);
} catch (exception) {
// nothing here, but don't die
Log.error(" loading json file =" + file + " failed");
}
callback(fileinfo);
}
};
xhr.send(null);
}
return {
coreTranslations: {},
coreTranslationsFallback: {},
translations: {},
translationsFallback: {},
/**
* Load a translation for a given key for a given module.
*
* @param {Module} module The module to load the translation for.
* @param {string} key The key of the text to translate.
* @param {object} variables The variables to use within the translation template (optional)
* @returns {string} the translated key
*/
translate: function (module, key, variables) {
variables = variables || {}; //Empty object by default
/**
* Combines template and variables like:
* template: "Please wait for {timeToWait} before continuing with {work}."
* variables: {timeToWait: "2 hours", work: "painting"}
* to: "Please wait for 2 hours before continuing with painting."
*
* @param {string} template Text with placeholder
* @param {object} variables Variables for the placeholder
* @returns {string} the template filled with the variables
*/
function createStringFromTemplate(template, variables) {
if (Object.prototype.toString.call(template) !== "[object String]") {
return template;
}
if (variables.fallback && !template.match(new RegExp("{.+}"))) {
template = variables.fallback;
}
return template.replace(new RegExp("{([^}]+)}", "g"), function (_unused, varName) {
return varName in variables ? variables[varName] : "{" + varName + "}";
});
}
if (this.translations[module.name] && key in this.translations[module.name]) {
// Log.log("Got translation for " + key + " from module translation: ");
return createStringFromTemplate(this.translations[module.name][key], variables);
}
if (key in this.coreTranslations) {
// Log.log("Got translation for " + key + " from core translation.");
return createStringFromTemplate(this.coreTranslations[key], variables);
}
if (this.translationsFallback[module.name] && key in this.translationsFallback[module.name]) {
// Log.log("Got translation for " + key + " from module translation fallback.");
return createStringFromTemplate(this.translationsFallback[module.name][key], variables);
}
if (key in this.coreTranslationsFallback) {
// Log.log("Got translation for " + key + " from core translation fallback.");
return createStringFromTemplate(this.coreTranslationsFallback[key], variables);
}
return key;
},
/**
* Load a translation file (json) and remember the data.
*
* @param {Module} module The module to load the translation file for.
* @param {string} file Path of the file we want to load.
* @param {boolean} isFallback Flag to indicate fallback translations.
* @param {Function} callback Function called when done.
*/
load(module, file, isFallback, callback) {
Log.log(`${module.name} - Load translation${isFallback && " fallback"}: ${file}`);
if (this.translationsFallback[module.name]) {
callback();
return;
}
loadJSON(module.file(file), (json) => {
const property = isFallback ? "translationsFallback" : "translations";
this[property][module.name] = json;
callback();
});
},
/**
* Load the core translations.
*
* @param {string} lang The language identifier of the core language.
*/
loadCoreTranslations: function (lang) {
if (lang in translations) {
Log.log("Loading core translation file: " + translations[lang]);
loadJSON(translations[lang], (translations) => {
this.coreTranslations = translations;
});
} else {
Log.log("Configured language not found in core translations.");
}
this.loadCoreTranslationsFallback();
},
/**
* Load the core translations fallback.
* The first language defined in translations.js will be used.
*/
loadCoreTranslationsFallback: function () {
// The variable `first` will contain the first
// defined translation after the following line.
for (var first in translations) {
break;
}
if (first) {
Log.log("Loading core translation fallback file: " + translations[first]);
loadJSON(translations[first], (translations) => {
this.coreTranslationsFallback = translations;
});
}
}
};
})();

16
js/utils.js Normal file
View File

@@ -0,0 +1,16 @@
/* Magic Mirror
* Utils
*
* By Rodrigo Ramírez Norambuena https://rodrigoramirez.com
* MIT Licensed.
*/
const colors = require("colors/safe");
module.exports = {
colors: {
warn: colors.yellow,
error: colors.red,
info: colors.blue,
pass: colors.green
}
};

View File

@@ -1,34 +0,0 @@
var version = {
updateInterval: 600000,
intervalId: null
}
/**
* Checks the version and refreshes the page if a new version has been pulled
*/
version.checkVersion = function () {
$.ajax({
type: 'GET',
url: 'controllers/hash.php',
success: function (data) {
// The githash variable is located in index.php
if (data && data.gitHash !== gitHash) {
window.location.reload();
window.location.href = window.location.href;
}
},
error: function () {
}
});
}
version.init = function () {
this.intervalId = setInterval(function () {
this.checkVersion();
}.bind(this), this.updateInterval);
}

View File

@@ -1,169 +0,0 @@
var weather = {
// Default language is Dutch because that is what the original author used
lang: config.lang || 'nl',
params: config.weather.params || null,
iconTable: {
'01d':'wi-day-sunny',
'02d':'wi-day-cloudy',
'03d':'wi-cloudy',
'04d':'wi-cloudy-windy',
'09d':'wi-showers',
'10d':'wi-rain',
'11d':'wi-thunderstorm',
'13d':'wi-snow',
'50d':'wi-fog',
'01n':'wi-night-clear',
'02n':'wi-night-cloudy',
'03n':'wi-night-cloudy',
'04n':'wi-night-cloudy',
'09n':'wi-night-showers',
'10n':'wi-night-rain',
'11n':'wi-night-thunderstorm',
'13n':'wi-night-snow',
'50n':'wi-night-alt-cloudy-windy'
},
temperatureLocation: '.temp',
windSunLocation: '.windsun',
forecastLocation: '.forecast',
apiVersion: '2.5',
apiBase: 'http://api.openweathermap.org/data/',
weatherEndpoint: 'weather',
forecastEndpoint: 'forecast/daily',
updateInterval: config.weather.interval || 6000,
fadeInterval: config.weather.fadeInterval || 1000,
intervalId: null
}
/**
* Rounds a float to one decimal place
* @param {float} temperature The temperature to be rounded
* @return {float} The new floating point value
*/
weather.roundValue = function (temperature) {
return parseFloat(temperature).toFixed(1);
}
/**
* Converts the wind speed (km/h) into the values given by the Beaufort Wind Scale
* @see http://www.spc.noaa.gov/faq/tornado/beaufort.html
* @param {int} kmh The wind speed in Kilometers Per Hour
* @return {int} The wind speed converted into its corresponding Beaufort number
*/
weather.ms2Beaufort = function(ms) {
var kmh = ms * 60 * 60 / 1000;
var speeds = [1, 5, 11, 19, 28, 38, 49, 61, 74, 88, 102, 117, 1000];
for (var beaufort in speeds) {
var speed = speeds[beaufort];
if (speed > kmh) {
return beaufort;
}
}
return 12;
}
/**
* Retrieves the current temperature and weather patter from the OpenWeatherMap API
*/
weather.updateCurrentWeather = function () {
$.ajax({
type: 'GET',
url: weather.apiBase + '/' + weather.apiVersion + '/' + weather.weatherEndpoint,
dataType: 'json',
data: weather.params,
success: function (data) {
var _temperature = this.roundValue(data.main.temp),
_temperatureMin = this.roundValue(data.main.temp_min),
_temperatureMax = this.roundValue(data.main.temp_max),
_wind = this.roundValue(data.wind.speed),
_iconClass = this.iconTable[data.weather[0].icon];
var _icon = '<span class="icon ' + _iconClass + ' dimmed wi"></span>';
var _newTempHtml = _icon + '' + _temperature + '&deg;';
$(this.temperatureLocation).updateWithText(_newTempHtml, this.fadeInterval);
var _now = moment().format('HH:mm'),
_sunrise = moment(data.sys.sunrise*1000).format('HH:mm'),
_sunset = moment(data.sys.sunset*1000).format('HH:mm');
var _newWindHtml = '<span class="wi wi-strong-wind xdimmed"></span> ' + this.ms2Beaufort(_wind),
_newSunHtml = '<span class="wi wi-sunrise xdimmed"></span> ' + _sunrise;
if (_sunrise < _now && _sunset > _now) {
_newSunHtml = '<span class="wi wi-sunset xdimmed"></span> ' + _sunset;
}
$(this.windSunLocation).updateWithText(_newWindHtml + ' ' + _newSunHtml, this.fadeInterval);
}.bind(this),
error: function () {
}
});
}
/**
* Updates the 5 Day Forecast from the OpenWeatherMap API
*/
weather.updateWeatherForecast = function () {
$.ajax({
type: 'GET',
url: weather.apiBase + '/' + weather.apiVersion + '/' + weather.forecastEndpoint,
data: weather.params,
success: function (data) {
var _opacity = 1,
_forecastHtml = '';
_forecastHtml += '<table class="forecast-table">';
for (var i = 0, count = data.list.length; i < count; i++) {
var _forecast = data.list[i];
_forecastHtml += '<tr style="opacity:' + _opacity + '">';
_forecastHtml += '<td class="day">' + moment(_forecast.dt, 'X').format('ddd') + '</td>';
_forecastHtml += '<td class="icon-small ' + this.iconTable[_forecast.weather[0].icon] + '"></td>';
_forecastHtml += '<td class="temp-max">' + this.roundValue(_forecast.temp.max) + '</td>';
_forecastHtml += '<td class="temp-min">' + this.roundValue(_forecast.temp.min) + '</td>';
_forecastHtml += '</tr>';
_opacity -= 0.155;
}
_forecastHtml += '</table>';
$(this.forecastLocation).updateWithText(_forecastHtml, this.fadeInterval);
}.bind(this),
error: function () {
}
});
}
weather.init = function () {
if (this.params.lang === undefined) {
this.params.lang = this.lang;
}
if (this.params.cnt === undefined) {
this.params.cnt = 5;
}
this.intervalId = setInterval(function () {
this.updateCurrentWeather();
this.updateWeatherForecast();
}.bind(this), this.updateInterval);
}

10
jsconfig.json Normal file
View File

@@ -0,0 +1,10 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=759670
// for the documentation about the jsconfig.json format
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"allowSyntheticDefaultImports": true
},
"exclude": ["modules", "node_modules"]
}

31
module-types.ts Normal file
View File

@@ -0,0 +1,31 @@
type ModuleProperties = {
defaults?: object,
start?(): void,
getHeader?(): string,
getTemplate?(): string,
getTemplateData?(): object,
notificationReceived?(notification: string, payload: any, sender: object): void,
socketNotificationReceived?(notification: string, payload: any): void,
suspend?(): void,
resume?(): void,
getDom?(): HTMLElement,
getStyles?(): string[],
[key: string]: any,
};
export declare const Module: {
register(moduleName: string, moduleProperties: ModuleProperties): void;
};
export declare const Log: {
info(message?: any, ...optionalParams: any[]): void,
log(message?: any, ...optionalParams: any[]): void,
error(message?: any, ...optionalParams: any[]): void,
warn(message?: any, ...optionalParams: any[]): void,
group(groupTitle?: string, ...optionalParams: any[]): void,
groupCollapsed(groupTitle?: string, ...optionalParams: any[]): void,
groupEnd(): void,
time(timerName?: string): void,
timeEnd(timerName?: string): void,
timeStamp(timerName?: string): void,
};

View File

@@ -0,0 +1,5 @@
# Module: Alert
The alert module is one of the default modules of the MagicMirror. This module displays notifications from other modules.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/alert.html).

View File

@@ -0,0 +1,167 @@
/* global NotificationFx */
/* Magic Mirror
* Module: alert
*
* By Paul-Vincent Roll https://paulvincentroll.com/
* MIT Licensed.
*/
Module.register("alert", {
defaults: {
// scale|slide|genie|jelly|flip|bouncyflip|exploader
effect: "slide",
// scale|slide|genie|jelly|flip|bouncyflip|exploader
alert_effect: "jelly",
//time a notification is displayed in seconds
display_time: 3500,
//Position
position: "center",
//shown at startup
welcome_message: false
},
getScripts: function () {
return ["notificationFx.js"];
},
getStyles: function () {
return ["notificationFx.css", "font-awesome.css"];
},
// Define required translations.
getTranslations: function () {
return {
en: "translations/en.json",
de: "translations/de.json",
nl: "translations/nl.json"
};
},
show_notification: function (message) {
if (this.config.effect === "slide") {
this.config.effect = this.config.effect + "-" + this.config.position;
}
let msg = "";
if (message.title) {
msg += "<span class='thin dimmed medium'>" + message.title + "</span>";
}
if (message.message) {
if (msg !== "") {
msg += "<br />";
}
msg += "<span class='light bright small'>" + message.message + "</span>";
}
new NotificationFx({
message: msg,
layout: "growl",
effect: this.config.effect,
ttl: message.timer !== undefined ? message.timer : this.config.display_time
}).show();
},
show_alert: function (params, sender) {
let image = "";
//Set standard params if not provided by module
if (typeof params.timer === "undefined") {
params.timer = null;
}
if (typeof params.imageHeight === "undefined") {
params.imageHeight = "80px";
}
if (typeof params.imageUrl === "undefined" && typeof params.imageFA === "undefined") {
params.imageUrl = null;
} else if (typeof params.imageFA === "undefined") {
image = "<img src='" + params.imageUrl.toString() + "' height='" + params.imageHeight.toString() + "' style='margin-bottom: 10px;'/><br />";
} else if (typeof params.imageUrl === "undefined") {
image = "<span class='bright " + "fa fa-" + params.imageFA + "' style='margin-bottom: 10px;font-size:" + params.imageHeight.toString() + ";'/></span><br />";
}
//Create overlay
const overlay = document.createElement("div");
overlay.id = "overlay";
overlay.innerHTML += '<div class="black_overlay"></div>';
document.body.insertBefore(overlay, document.body.firstChild);
//If module already has an open alert close it
if (this.alerts[sender.name]) {
this.hide_alert(sender, false);
}
//Display title and message only if they are provided in notification parameters
let message = "";
if (params.title) {
message += "<span class='light dimmed medium'>" + params.title + "</span>";
}
if (params.message) {
if (message !== "") {
message += "<br />";
}
message += "<span class='thin bright small'>" + params.message + "</span>";
}
//Store alert in this.alerts
this.alerts[sender.name] = new NotificationFx({
message: image + message,
effect: this.config.alert_effect,
ttl: params.timer,
onClose: () => this.hide_alert(sender),
al_no: "ns-alert"
});
//Show alert
this.alerts[sender.name].show();
//Add timer to dismiss alert and overlay
if (params.timer) {
setTimeout(() => {
this.hide_alert(sender);
}, params.timer);
}
},
hide_alert: function (sender, close = true) {
//Dismiss alert and remove from this.alerts
if (this.alerts[sender.name]) {
this.alerts[sender.name].dismiss(close);
this.alerts[sender.name] = null;
//Remove overlay
const overlay = document.getElementById("overlay");
overlay.parentNode.removeChild(overlay);
}
},
setPosition: function (pos) {
//Add css to body depending on the set position for notifications
const sheet = document.createElement("style");
if (pos === "center") {
sheet.innerHTML = ".ns-box {margin-left: auto; margin-right: auto;text-align: center;}";
}
if (pos === "right") {
sheet.innerHTML = ".ns-box {margin-left: auto;text-align: right;}";
}
if (pos === "left") {
sheet.innerHTML = ".ns-box {margin-right: auto;text-align: left;}";
}
document.body.appendChild(sheet);
},
notificationReceived: function (notification, payload, sender) {
if (notification === "SHOW_ALERT") {
if (typeof payload.type === "undefined") {
payload.type = "alert";
}
if (payload.type === "alert") {
this.show_alert(payload, sender);
} else if (payload.type === "notification") {
this.show_notification(payload);
}
} else if (notification === "HIDE_ALERT") {
this.hide_alert(sender);
}
},
start: function () {
this.alerts = {};
this.setPosition(this.config.position);
if (this.config.welcome_message) {
if (this.config.welcome_message === true) {
this.show_notification({ title: this.translate("sysTitle"), message: this.translate("welcome") });
} else {
this.show_notification({ title: this.translate("sysTitle"), message: this.config.welcome_message });
}
}
Log.info("Starting module: " + this.name);
}
});

View File

@@ -0,0 +1,932 @@
/* Based on work by https://tympanus.net/codrops/licensing/ */
.ns-box {
background-color: rgba(0, 0, 0, 0.93);
padding: 17px;
line-height: 1.4;
margin-bottom: 10px;
z-index: 1;
font-size: 70%;
position: relative;
display: table;
word-wrap: break-word;
max-width: 100%;
border-width: 1px;
border-radius: 5px;
border-style: solid;
border-color: var(--color-text-dimmed);
}
.ns-alert {
border-style: solid;
border-color: var(--color-text-bright);
padding: 17px;
line-height: 1.4;
margin-bottom: 10px;
z-index: 3;
color: var(--color-text-bright);
font-size: 70%;
position: fixed;
text-align: center;
right: 0;
left: 0;
margin-right: auto;
margin-left: auto;
top: 40%;
width: 40%;
height: auto;
word-wrap: break-word;
border-radius: 20px;
}
.black_overlay {
position: fixed;
z-index: 2;
background-color: rgba(0, 0, 0, 0.93);
width: 100%;
height: 100%;
}
[class^="ns-effect-"].ns-growl.ns-hide,
[class*=" ns-effect-"].ns-growl.ns-hide {
animation-direction: reverse;
}
.ns-effect-flip {
transform-origin: 50% 100%;
backface-visibility: hidden;
}
.ns-effect-flip.ns-show,
.ns-effect-flip.ns-hide {
animation-name: animFlipFront;
animation-duration: 0.3s;
}
.ns-effect-flip.ns-hide {
animation-name: animFlipBack;
}
@keyframes animFlipFront {
0% {
transform: perspective(1000px) rotate3d(1, 0, 0, -90deg);
}
100% {
transform: perspective(1000px);
}
}
@keyframes animFlipBack {
0% {
transform: perspective(1000px) rotate3d(1, 0, 0, 90deg);
}
100% {
transform: perspective(1000px);
}
}
.ns-effect-bouncyflip.ns-show,
.ns-effect-bouncyflip.ns-hide {
animation-name: flipInX;
animation-duration: 0.8s;
}
@keyframes flipInX {
0% {
transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
transition-timing-function: ease-in;
}
40% {
transform: perspective(400px) rotate3d(1, 0, 0, 20deg);
transition-timing-function: ease-out;
}
60% {
transform: perspective(400px) rotate3d(1, 0, 0, -10deg);
transition-timing-function: ease-in;
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(1, 0, 0, 5deg);
transition-timing-function: ease-out;
}
100% {
transform: perspective(400px);
}
}
.ns-effect-bouncyflip.ns-hide {
animation-name: flipInXSimple;
animation-duration: 0.3s;
}
@keyframes flipInXSimple {
0% {
transform: perspective(400px) rotate3d(1, 0, 0, -90deg);
transition-timing-function: ease-in;
}
100% {
transform: perspective(400px);
}
}
.ns-effect-exploader {
transform-origin: 0 0;
}
.ns-effect-exploader p {
padding: 0.25em 2em 0.25em 3em;
}
.ns-effect-exploader.ns-show {
animation-name: animLoad;
animation-duration: 1s;
}
@keyframes animLoad {
0% {
opacity: 1;
transform: scale3d(0, 0.3, 1);
}
100% {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
.ns-effect-exploader.ns-hide {
animation-name: animFade;
animation-duration: 0.3s;
}
.ns-effect-exploader.ns-show .ns-box-inner,
.ns-effect-exploader.ns-show .ns-close {
animation-fill-mode: both;
animation-duration: 0.3s;
animation-delay: 0.6s;
}
.ns-effect-exploader.ns-show .ns-close {
animation-name: animFade;
}
.ns-effect-exploader.ns-show .ns-box-inner {
animation-name: animFadeMove;
animation-timing-function: ease-out;
}
@keyframes animFadeMove {
0% {
opacity: 0;
transform: translate3d(0, 10px, 0);
}
100% {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
@keyframes animFade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.ns-effect-scale.ns-show,
.ns-effect-scale.ns-hide {
animation-name: animScale;
animation-duration: 0.25s;
}
@keyframes animScale {
0% {
opacity: 0;
transform: translate3d(0, 40px, 0) scale3d(0.1, 0.6, 1);
}
100% {
opacity: 1;
transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}
}
.ns-effect-jelly.ns-show {
animation-name: animJelly;
animation-duration: 1s;
animation-timing-function: linear;
}
.ns-effect-jelly.ns-hide {
animation-name: animFade;
animation-duration: 0.3s;
}
@keyframes animFade {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes animJelly {
0% {
transform: matrix3d(0.7, 0, 0, 0, 0, 0.7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
2.083333% {
transform: matrix3d(0.75266, 0, 0, 0, 0, 0.76342, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
4.166667% {
transform: matrix3d(0.81071, 0, 0, 0, 0, 0.84545, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
6.25% {
transform: matrix3d(0.86808, 0, 0, 0, 0, 0.9286, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
8.333333% {
transform: matrix3d(0.92038, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
10.416667% {
transform: matrix3d(0.96482, 0, 0, 0, 0, 1.05202, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
12.5% {
transform: matrix3d(1, 0, 0, 0, 0, 1.08204, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
14.583333% {
transform: matrix3d(1.02563, 0, 0, 0, 0, 1.09149, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
16.666667% {
transform: matrix3d(1.04227, 0, 0, 0, 0, 1.08453, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
18.75% {
transform: matrix3d(1.05102, 0, 0, 0, 0, 1.06666, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
20.833333% {
transform: matrix3d(1.05334, 0, 0, 0, 0, 1.04355, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
22.916667% {
transform: matrix3d(1.05078, 0, 0, 0, 0, 1.02012, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
25% {
transform: matrix3d(1.04487, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
27.083333% {
transform: matrix3d(1.03699, 0, 0, 0, 0, 0.98534, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
29.166667% {
transform: matrix3d(1.02831, 0, 0, 0, 0, 0.97688, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
31.25% {
transform: matrix3d(1.01973, 0, 0, 0, 0, 0.97422, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
33.333333% {
transform: matrix3d(1.01191, 0, 0, 0, 0, 0.97618, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
35.416667% {
transform: matrix3d(1.00526, 0, 0, 0, 0, 0.98122, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
37.5% {
transform: matrix3d(1, 0, 0, 0, 0, 0.98773, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
39.583333% {
transform: matrix3d(0.99617, 0, 0, 0, 0, 0.99433, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
41.666667% {
transform: matrix3d(0.99368, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
43.75% {
transform: matrix3d(0.99237, 0, 0, 0, 0, 1.00413, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
45.833333% {
transform: matrix3d(0.99202, 0, 0, 0, 0, 1.00651, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
47.916667% {
transform: matrix3d(0.99241, 0, 0, 0, 0, 1.00726, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
50% {
transform: matrix3d(0.99329, 0, 0, 0, 0, 1.00671, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
52.083333% {
transform: matrix3d(0.99447, 0, 0, 0, 0, 1.00529, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
54.166667% {
transform: matrix3d(0.99577, 0, 0, 0, 0, 1.00346, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
56.25% {
transform: matrix3d(0.99705, 0, 0, 0, 0, 1.0016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
58.333333% {
transform: matrix3d(0.99822, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
60.416667% {
transform: matrix3d(0.99921, 0, 0, 0, 0, 0.99884, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
62.5% {
transform: matrix3d(1, 0, 0, 0, 0, 0.99816, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
64.583333% {
transform: matrix3d(1.00057, 0, 0, 0, 0, 0.99795, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
66.666667% {
transform: matrix3d(1.00095, 0, 0, 0, 0, 0.99811, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
68.75% {
transform: matrix3d(1.00114, 0, 0, 0, 0, 0.99851, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
70.833333% {
transform: matrix3d(1.00119, 0, 0, 0, 0, 0.99903, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
72.916667% {
transform: matrix3d(1.00114, 0, 0, 0, 0, 0.99955, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
75% {
transform: matrix3d(1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
77.083333% {
transform: matrix3d(1.00083, 0, 0, 0, 0, 1.00033, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
79.166667% {
transform: matrix3d(1.00063, 0, 0, 0, 0, 1.00052, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
81.25% {
transform: matrix3d(1.00044, 0, 0, 0, 0, 1.00058, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
83.333333% {
transform: matrix3d(1.00027, 0, 0, 0, 0, 1.00053, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
85.416667% {
transform: matrix3d(1.00012, 0, 0, 0, 0, 1.00042, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
87.5% {
transform: matrix3d(1, 0, 0, 0, 0, 1.00027, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
89.583333% {
transform: matrix3d(0.99991, 0, 0, 0, 0, 1.00013, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
91.666667% {
transform: matrix3d(0.99986, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
93.75% {
transform: matrix3d(0.99983, 0, 0, 0, 0, 0.99991, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
95.833333% {
transform: matrix3d(0.99982, 0, 0, 0, 0, 0.99985, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
97.916667% {
transform: matrix3d(0.99983, 0, 0, 0, 0, 0.99984, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
100% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
}
.ns-effect-slide-left.ns-show {
animation-name: animSlideElasticLeft;
animation-duration: 1s;
animation-timing-function: linear;
}
@keyframes animSlideElasticLeft {
0% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1000, 0, 0, 1);
}
1.666667% {
transform: matrix3d(1.92933, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -739.26805, 0, 0, 1);
}
3.333333% {
transform: matrix3d(1.96989, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -521.82545, 0, 0, 1);
}
5% {
transform: matrix3d(1.70901, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -349.26115, 0, 0, 1);
}
6.666667% {
transform: matrix3d(1.4235, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -218.3238, 0, 0, 1);
}
8.333333% {
transform: matrix3d(1.21065, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -123.29848, 0, 0, 1);
}
10% {
transform: matrix3d(1.08167, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -57.59273, 0, 0, 1);
}
11.666667% {
transform: matrix3d(1.0165, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -14.72371, 0, 0, 1);
}
13.333333% {
transform: matrix3d(0.99057, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.12794, 0, 0, 1);
}
15% {
transform: matrix3d(0.98478, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 24.86339, 0, 0, 1);
}
16.666667% {
transform: matrix3d(0.98719, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 30.40503, 0, 0, 1);
}
18.333333% {
transform: matrix3d(0.9916, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 30.75275, 0, 0, 1);
}
20% {
transform: matrix3d(0.99541, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 28.10141, 0, 0, 1);
}
21.666667% {
transform: matrix3d(0.99795, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 23.98271, 0, 0, 1);
}
23.333333% {
transform: matrix3d(0.99936, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 19.40752, 0, 0, 1);
}
25% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 14.99558, 0, 0, 1);
}
26.666667% {
transform: matrix3d(1.00021, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.08575, 0, 0, 1);
}
28.333333% {
transform: matrix3d(1.00022, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 7.82507, 0, 0, 1);
}
30% {
transform: matrix3d(1.00016, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.23737, 0, 0, 1);
}
31.666667% {
transform: matrix3d(1.0001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3.27389, 0, 0, 1);
}
33.333333% {
transform: matrix3d(1.00005, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.84893, 0, 0, 1);
}
35% {
transform: matrix3d(1.00002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.86364, 0, 0, 1);
}
36.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.22079, 0, 0, 1);
}
38.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.16687, 0, 0, 1);
}
40% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.37284, 0, 0, 1);
}
41.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.45594, 0, 0, 1);
}
43.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.46116, 0, 0, 1);
}
45% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.4214, 0, 0, 1);
}
46.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.35963, 0, 0, 1);
}
48.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.29103, 0, 0, 1);
}
50% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22487, 0, 0, 1);
}
51.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.16624, 0, 0, 1);
}
53.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.11734, 0, 0, 1);
}
55% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.07854, 0, 0, 1);
}
56.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.04909, 0, 0, 1);
}
58.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.02773, 0, 0, 1);
}
60% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.01295, 0, 0, 1);
}
61.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00331, 0, 0, 1);
}
63.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.0025, 0, 0, 1);
}
65% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00559, 0, 0, 1);
}
66.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00684, 0, 0, 1);
}
68.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00692, 0, 0, 1);
}
70% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00632, 0, 0, 1);
}
71.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00539, 0, 0, 1);
}
73.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00436, 0, 0, 1);
}
75% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00337, 0, 0, 1);
}
76.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00249, 0, 0, 1);
}
78.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00176, 0, 0, 1);
}
80% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00118, 0, 0, 1);
}
81.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00074, 0, 0, 1);
}
83.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00042, 0, 0, 1);
}
85% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00019, 0, 0, 1);
}
86.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.00005, 0, 0, 1);
}
88.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00004, 0, 0, 1);
}
90% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00008, 0, 0, 1);
}
91.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0001, 0, 0, 1);
}
93.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.0001, 0, 0, 1);
}
95% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00009, 0, 0, 1);
}
96.666667% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00008, 0, 0, 1);
}
98.333333% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.00007, 0, 0, 1);
}
100% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
}
.ns-effect-slide-left.ns-hide {
animation-name: animSlideLeft;
animation-duration: 0.25s;
}
@keyframes animSlideLeft {
0% {
transform: translate3d(-30px, 0, 0) translate3d(-100%, 0, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
.ns-effect-slide-right.ns-show {
animation: animSlideElasticRight 2000ms linear both;
}
@keyframes animSlideElasticRight {
0% {
transform: matrix3d(2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1000, 0, 0, 1);
}
2.15% {
transform: matrix3d(1.486, 0, 0, 0, 0, 0.514, 0, 0, 0, 0, 1, 0, 664.594, 0, 0, 1);
}
4.1% {
transform: matrix3d(1.147, 0, 0, 0, 0, 0.853, 0, 0, 0, 0, 1, 0, 419.708, 0, 0, 1);
}
4.3% {
transform: matrix3d(1.121, 0, 0, 0, 0, 0.879, 0, 0, 0, 0, 1, 0, 398.136, 0, 0, 1);
}
6.46% {
transform: matrix3d(0.948, 0, 0, 0, 0, 1.052, 0, 0, 0, 0, 1, 0, 206.714, 0, 0, 1);
}
8.11% {
transform: matrix3d(0.908, 0, 0, 0, 0, 1.092, 0, 0, 0, 0, 1, 0, 105.491, 0, 0, 1);
}
8.61% {
transform: matrix3d(0.907, 0, 0, 0, 0, 1.093, 0, 0, 0, 0, 1, 0, 81.572, 0, 0, 1);
}
12.11% {
transform: matrix3d(0.95, 0, 0, 0, 0, 1.05, 0, 0, 0, 0, 1, 0, -18.434, 0, 0, 1);
}
14.16% {
transform: matrix3d(0.979, 0, 0, 0, 0, 1.021, 0, 0, 0, 0, 1, 0, -38.734, 0, 0, 1);
}
16.12% {
transform: matrix3d(0.997, 0, 0, 0, 0, 1.003, 0, 0, 0, 0, 1, 0, -43.356, 0, 0, 1);
}
19.72% {
transform: matrix3d(1.006, 0, 0, 0, 0, 0.994, 0, 0, 0, 0, 1, 0, -34.155, 0, 0, 1);
}
27.23% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -7.839, 0, 0, 1);
}
30.83% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.951, 0, 0, 1);
}
38.34% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1.037, 0, 0, 1);
}
41.99% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.812, 0, 0, 1);
}
50% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.159, 0, 0, 1);
}
60.56% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.025, 0, 0, 1);
}
82.78% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.001, 0, 0, 1);
}
100% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
}
.ns-effect-slide-right.ns-hide {
animation-name: animSlideRight;
animation-duration: 0.25s;
}
@keyframes animSlideRight {
0% {
transform: translate3d(30px, 0, 0) translate3d(100%, 0, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
.ns-effect-slide-center.ns-show {
animation: animSlideElasticCenter 2000ms linear both;
}
@keyframes animSlideElasticCenter {
0% {
transform: matrix3d(1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, 0, -300, 0, 1);
}
2.15% {
transform: matrix3d(1, 0, 0, 0, 0, 1.971, 0, 0, 0, 0, 1, 0, 0, -199.378, 0, 1);
}
4.1% {
transform: matrix3d(1, 0, 0, 0, 0, 1.294, 0, 0, 0, 0, 1, 0, 0, -125.912, 0, 1);
}
4.3% {
transform: matrix3d(1, 0, 0, 0, 0, 1.243, 0, 0, 0, 0, 1, 0, 0, -119.441, 0, 1);
}
6.46% {
transform: matrix3d(1, 0, 0, 0, 0, 0.895, 0, 0, 0, 0, 1, 0, 0, -62.014, 0, 1);
}
8.11% {
transform: matrix3d(1, 0, 0, 0, 0, 0.817, 0, 0, 0, 0, 1, 0, 0, -31.647, 0, 1);
}
8.61% {
transform: matrix3d(1, 0, 0, 0, 0, 0.813, 0, 0, 0, 0, 1, 0, 0, -24.472, 0, 1);
}
12.11% {
transform: matrix3d(1, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 1, 0, 0, 5.53, 0, 1);
}
14.16% {
transform: matrix3d(1, 0, 0, 0, 0, 0.959, 0, 0, 0, 0, 1, 0, 0, 11.62, 0, 1);
}
16.12% {
transform: matrix3d(1, 0, 0, 0, 0, 0.994, 0, 0, 0, 0, 1, 0, 0, 13.007, 0, 1);
}
19.72% {
transform: matrix3d(1, 0, 0, 0, 0, 1.012, 0, 0, 0, 0, 1, 0, 0, 10.247, 0, 1);
}
27.23% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2.352, 0, 1);
}
30.83% {
transform: matrix3d(1, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0.585, 0, 1);
}
38.34% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.311, 0, 1);
}
41.99% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.244, 0, 1);
}
50% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -0.048, 0, 1);
}
60.56% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0.007, 0, 1);
}
82.78% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
100% {
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
}
}
.ns-effect-slide-center.ns-hide {
animation-name: animSlideCenter;
animation-duration: 0.25s;
}
@keyframes animSlideCenter {
0% {
transform: translate3d(0, -30px, 0) translate3d(0, -100%, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
.ns-effect-genie.ns-show,
.ns-effect-genie.ns-hide {
animation-name: animGenie;
animation-duration: 0.4s;
}
@keyframes animGenie {
0% {
opacity: 0;
transform: translate3d(0, calc(200% + 30px), 0) scale3d(0, 1, 1);
animation-timing-function: ease-in;
}
40% {
opacity: 0.5;
transform: translate3d(0, 0, 0) scale3d(0.02, 1.1, 1);
animation-timing-function: ease-out;
}
70% {
opacity: 0.6;
transform: translate3d(0, -40px, 0) scale3d(0.8, 1.1, 1);
}
100% {
opacity: 1;
transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}
}

View File

@@ -0,0 +1,158 @@
/**
* Based on work by
*
* notificationFx.js v1.0.0
* https://tympanus.net/codrops/
*
* Licensed under the MIT license.
* https://opensource.org/licenses/mit-license.php
*
* Copyright 2014, Codrops
* https://tympanus.net/codrops/
*/
(function (window) {
/**
* Extend one object with another one
*
* @param {object} a The object to extend
* @param {object} b The object which extends the other, overwrites existing keys
* @returns {object} The merged object
*/
function extend(a, b) {
for (let key in b) {
if (b.hasOwnProperty(key)) {
a[key] = b[key];
}
}
return a;
}
/**
* NotificationFx constructor
*
* @param {object} options The configuration options
* @class
*/
function NotificationFx(options) {
this.options = extend({}, this.options);
extend(this.options, options);
this._init();
}
/**
* NotificationFx options
*/
NotificationFx.prototype.options = {
// element to which the notification will be appended
// defaults to the document.body
wrapper: document.body,
// the message
message: "yo!",
// layout type: growl|attached|bar|other
layout: "growl",
// effects for the specified layout:
// for growl layout: scale|slide|genie|jelly
// for attached layout: flip|bouncyflip
// for other layout: boxspinner|cornerexpand|loadingcircle|thumbslider
// ...
effect: "slide",
// notice, warning, error, success
// will add class ns-type-warning, ns-type-error or ns-type-success
type: "notice",
// if the user doesn´t close the notification then we remove it
// after the following time
ttl: 6000,
al_no: "ns-box",
// callbacks
onClose: function () {
return false;
},
onOpen: function () {
return false;
}
};
/**
* Initialize and cache some vars
*/
NotificationFx.prototype._init = function () {
// create HTML structure
this.ntf = document.createElement("div");
this.ntf.className = this.options.al_no + " ns-" + this.options.layout + " ns-effect-" + this.options.effect + " ns-type-" + this.options.type;
let strinner = '<div class="ns-box-inner">';
strinner += this.options.message;
strinner += "</div>";
this.ntf.innerHTML = strinner;
// append to body or the element specified in options.wrapper
this.options.wrapper.insertBefore(this.ntf, this.options.wrapper.nextSibling);
// dismiss after [options.ttl]ms
if (this.options.ttl) {
this.dismissttl = setTimeout(() => {
if (this.active) {
this.dismiss();
}
}, this.options.ttl);
}
// init events
this._initEvents();
};
/**
* Init events
*/
NotificationFx.prototype._initEvents = function () {
// dismiss notification by tapping on it if someone has a touchscreen
this.ntf.querySelector(".ns-box-inner").addEventListener("click", () => {
this.dismiss();
});
};
/**
* Show the notification
*/
NotificationFx.prototype.show = function () {
this.active = true;
this.ntf.classList.remove("ns-hide");
this.ntf.classList.add("ns-show");
this.options.onOpen();
};
/**
* Dismiss the notification
*
* @param {boolean} [close] call the onClose callback at the end
*/
NotificationFx.prototype.dismiss = function (close = true) {
this.active = false;
clearTimeout(this.dismissttl);
this.ntf.classList.remove("ns-show");
setTimeout(() => {
this.ntf.classList.add("ns-hide");
// callback
if (close) this.options.onClose();
}, 25);
// after animation ends remove ntf from the DOM
const onEndAnimationFn = (ev) => {
if (ev.target !== this.ntf) {
return false;
}
this.ntf.removeEventListener("animationend", onEndAnimationFn);
if (ev.target.parentNode === this.options.wrapper) {
this.options.wrapper.removeChild(this.ntf);
}
};
this.ntf.addEventListener("animationend", onEndAnimationFn);
};
/**
* Add to global namespace
*/
window.NotificationFx = NotificationFx;
})(window);

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror нотификация",
"welcome": "Добре дошли, стартирането беше успешно"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Notifikation",
"welcome": "Velkommen, modulet er succesfuldt startet!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Benachrichtigung",
"welcome": "Willkommen, Start war erfolgreich!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Notification",
"welcome": "Welcome, start was successful!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Notificaciones",
"welcome": "Bienvenido, ¡se iniciado correctamente!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Notification",
"welcome": "Bienvenue, le démarrage a été un succès!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror értesítés",
"welcome": "Üdvözöljük, indulás sikeres!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Notificatie",
"welcome": "Welkom, Succesvol gestart!"
}

View File

@@ -0,0 +1,4 @@
{
"sysTitle": "MagicMirror Уведомление",
"welcome": "Добро пожаловать, старт был успешным!"
}

View File

@@ -0,0 +1,6 @@
# 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.
For configuration options, please check the [MagicMirror² documentation](https://docs.magicmirror.builders/modules/calendar.html).

View File

@@ -0,0 +1,23 @@
.calendar .symbol {
display: flex;
flex-direction: row;
justify-content: flex-end;
padding-left: 0;
padding-right: 10px;
font-size: var(--font-size-small);
}
.calendar .symbol span {
padding-top: 4px;
}
.calendar .title {
padding-left: 0;
padding-right: 0;
}
.calendar .time {
padding-left: 30px;
text-align: right;
vertical-align: top;
}

View File

@@ -0,0 +1,846 @@
/* global cloneObject */
/* Magic Mirror
* Module: Calendar
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
Module.register("calendar", {
// Define module defaults
defaults: {
maximumEntries: 10, // Total Maximum Entries
maximumNumberOfDays: 365,
limitDays: 0, // Limit the number of days shown, 0 = no limit
displaySymbol: true,
defaultSymbol: "calendar", // Fontawesome Symbol see https://fontawesome.com/cheatsheet?from=io
showLocation: false,
displayRepeatingCountTitle: false,
defaultRepeatingCountTitle: "",
maxTitleLength: 25,
maxLocationTitleLength: 25,
wrapEvents: false, // wrap events to multiple lines breaking at maxTitleLength
wrapLocationEvents: false,
maxTitleLines: 3,
maxEventTitleLines: 3,
fetchInterval: 5 * 60 * 1000, // Update every 5 minutes.
animationSpeed: 2000,
fade: true,
urgency: 7,
timeFormat: "relative",
dateFormat: "MMM Do",
dateEndFormat: "LT",
fullDayEventDateFormat: "MMM Do",
showEnd: false,
getRelative: 6,
fadePoint: 0.25, // Start on 1/4th of the list.
hidePrivate: false,
hideOngoing: false,
hideTime: false,
colored: false,
coloredSymbolOnly: false,
customEvents: [], // Array of {keyword: "", symbol: "", color: ""} where Keyword is a regexp and symbol/color are to be applied for matched
tableClass: "small",
calendars: [
{
symbol: "calendar",
url: "https://www.calendarlabs.com/templates/ical/US-Holidays.ics"
}
],
titleReplace: {
"De verjaardag van ": "",
"'s birthday": ""
},
locationTitleReplace: {
"street ": ""
},
broadcastEvents: true,
excludedEvents: [],
sliceMultiDayEvents: false,
broadcastPastEvents: false,
nextDaysRelative: false,
selfSignedCert: false
},
requiresVersion: "2.1.0",
// Define required scripts.
getStyles: function () {
return ["calendar.css", "font-awesome.css"];
},
// Define required scripts.
getScripts: function () {
return ["moment.js"];
},
// Define required translations.
getTranslations: function () {
// The translations for the default modules are defined in the core translation files.
// Therefore we can just return false. Otherwise we should have returned a dictionary.
// If you're trying to build your own module including translations, check out the documentation.
return false;
},
// Override start method.
start: function () {
Log.info("Starting module: " + this.name);
// Set locale.
moment.updateLocale(config.language, this.getLocaleSpecification(config.timeFormat));
// clear data holder before start
this.calendarData = {};
// indicate no data available yet
this.loaded = false;
this.config.calendars.forEach((calendar) => {
calendar.url = calendar.url.replace("webcal://", "http://");
const calendarConfig = {
maximumEntries: calendar.maximumEntries,
maximumNumberOfDays: calendar.maximumNumberOfDays,
broadcastPastEvents: calendar.broadcastPastEvents,
selfSignedCert: calendar.selfSignedCert
};
if (calendar.symbolClass === "undefined" || calendar.symbolClass === null) {
calendarConfig.symbolClass = "";
}
if (calendar.titleClass === "undefined" || calendar.titleClass === null) {
calendarConfig.titleClass = "";
}
if (calendar.timeClass === "undefined" || calendar.timeClass === null) {
calendarConfig.timeClass = "";
}
// we check user and password here for backwards compatibility with old configs
if (calendar.user && calendar.pass) {
Log.warn("Deprecation warning: Please update your calendar authentication configuration.");
Log.warn("https://github.com/MichMich/MagicMirror/tree/v2.1.2/modules/default/calendar#calendar-authentication-options");
calendar.auth = {
user: calendar.user,
pass: calendar.pass
};
}
// tell helper to start a fetcher for this calendar
// fetcher till cycle
this.addCalendar(calendar.url, calendar.auth, calendarConfig);
});
},
// Override socket notification handler.
socketNotificationReceived: function (notification, payload) {
if (this.identifier !== payload.id) {
return;
}
if (notification === "CALENDAR_EVENTS") {
if (this.hasCalendarURL(payload.url)) {
this.calendarData[payload.url] = payload.events;
this.error = null;
this.loaded = true;
if (this.config.broadcastEvents) {
this.broadcastEvents();
}
}
} else if (notification === "CALENDAR_ERROR") {
let error_message = this.translate(payload.error_type);
this.error = this.translate("MODULE_CONFIG_ERROR", { MODULE_NAME: this.name, ERROR: error_message });
this.loaded = true;
}
this.updateDom(this.config.animationSpeed);
},
// Override dom generator.
getDom: function () {
// Define second, minute, hour, and day constants
const oneSecond = 1000; // 1,000 milliseconds
const oneMinute = oneSecond * 60;
const oneHour = oneMinute * 60;
const oneDay = oneHour * 24;
const events = this.createEventList();
const wrapper = document.createElement("table");
wrapper.className = this.config.tableClass;
if (this.error) {
wrapper.innerHTML = this.error;
wrapper.className = this.config.tableClass + " dimmed";
return wrapper;
}
if (events.length === 0) {
wrapper.innerHTML = this.loaded ? this.translate("EMPTY") : this.translate("LOADING");
wrapper.className = this.config.tableClass + " dimmed";
return wrapper;
}
let currentFadeStep = 0;
let startFade;
let fadeSteps;
if (this.config.fade && this.config.fadePoint < 1) {
if (this.config.fadePoint < 0) {
this.config.fadePoint = 0;
}
startFade = events.length * this.config.fadePoint;
fadeSteps = events.length - startFade;
}
let lastSeenDate = "";
events.forEach((event, index) => {
const dateAsString = moment(event.startDate, "x").format(this.config.dateFormat);
if (this.config.timeFormat === "dateheaders") {
if (lastSeenDate !== dateAsString) {
const dateRow = document.createElement("tr");
dateRow.className = "normal";
const dateCell = document.createElement("td");
dateCell.colSpan = "3";
dateCell.innerHTML = dateAsString;
dateCell.style.paddingTop = "10px";
dateRow.appendChild(dateCell);
wrapper.appendChild(dateRow);
if (this.config.fade && index >= startFade) {
//fading
currentFadeStep = index - startFade;
dateRow.style.opacity = 1 - (1 / fadeSteps) * currentFadeStep;
}
lastSeenDate = dateAsString;
}
}
const eventWrapper = document.createElement("tr");
if (this.config.colored && !this.config.coloredSymbolOnly) {
eventWrapper.style.cssText = "color:" + this.colorForUrl(event.url);
}
eventWrapper.className = "normal event";
const symbolWrapper = document.createElement("td");
if (this.config.displaySymbol) {
if (this.config.colored && this.config.coloredSymbolOnly) {
symbolWrapper.style.cssText = "color:" + this.colorForUrl(event.url);
}
const symbolClass = this.symbolClassForUrl(event.url);
symbolWrapper.className = "symbol align-right " + symbolClass;
const symbols = this.symbolsForEvent(event);
// If symbols are displayed and custom symbol is set, replace event symbol
if (this.config.displaySymbol && this.config.customEvents.length > 0) {
for (let ev in this.config.customEvents) {
if (typeof this.config.customEvents[ev].symbol !== "undefined" && this.config.customEvents[ev].symbol !== "") {
let needle = new RegExp(this.config.customEvents[ev].keyword, "gi");
if (needle.test(event.title)) {
symbols[0] = this.config.customEvents[ev].symbol;
break;
}
}
}
}
symbols.forEach((s, index) => {
const symbol = document.createElement("span");
symbol.className = "fa fa-fw fa-" + s;
if (index > 0) {
symbol.style.paddingLeft = "5px";
}
symbolWrapper.appendChild(symbol);
});
eventWrapper.appendChild(symbolWrapper);
} else if (this.config.timeFormat === "dateheaders") {
const blankCell = document.createElement("td");
blankCell.innerHTML = "&nbsp;&nbsp;&nbsp;";
eventWrapper.appendChild(blankCell);
}
const titleWrapper = document.createElement("td");
let repeatingCountTitle = "";
if (this.config.displayRepeatingCountTitle && event.firstYear !== undefined) {
repeatingCountTitle = this.countTitleForUrl(event.url);
if (repeatingCountTitle !== "") {
const thisYear = new Date(parseInt(event.startDate)).getFullYear(),
yearDiff = thisYear - event.firstYear;
repeatingCountTitle = ", " + yearDiff + ". " + repeatingCountTitle;
}
}
// Color events if custom color is specified
if (this.config.customEvents.length > 0) {
for (let ev in this.config.customEvents) {
if (typeof this.config.customEvents[ev].color !== "undefined" && this.config.customEvents[ev].color !== "") {
let needle = new RegExp(this.config.customEvents[ev].keyword, "gi");
if (needle.test(event.title)) {
// Respect parameter ColoredSymbolOnly also for custom events
if (!this.config.coloredSymbolOnly) {
eventWrapper.style.cssText = "color:" + this.config.customEvents[ev].color;
titleWrapper.style.cssText = "color:" + this.config.customEvents[ev].color;
}
if (this.config.displaySymbol) {
symbolWrapper.style.cssText = "color:" + this.config.customEvents[ev].color;
}
break;
}
}
}
}
titleWrapper.innerHTML = this.titleTransform(event.title, this.config.titleReplace, this.config.wrapEvents, this.config.maxTitleLength, this.config.maxTitleLines) + repeatingCountTitle;
const titleClass = this.titleClassForUrl(event.url);
if (!this.config.colored) {
titleWrapper.className = "title bright " + titleClass;
} else {
titleWrapper.className = "title " + titleClass;
}
if (this.config.timeFormat === "dateheaders") {
if (event.fullDayEvent) {
titleWrapper.colSpan = "2";
titleWrapper.classList.add("align-left");
} else {
const timeWrapper = document.createElement("td");
timeWrapper.className = "time light align-left " + this.timeClassForUrl(event.url);
timeWrapper.style.paddingLeft = "2px";
timeWrapper.innerHTML = moment(event.startDate, "x").format("LT");
eventWrapper.appendChild(timeWrapper);
titleWrapper.classList.add("align-right");
}
eventWrapper.appendChild(titleWrapper);
} else {
const timeWrapper = document.createElement("td");
eventWrapper.appendChild(titleWrapper);
const now = new Date();
if (this.config.timeFormat === "absolute") {
// Use dateFormat
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").format(this.config.dateFormat));
// Add end time if showEnd
if (this.config.showEnd) {
timeWrapper.innerHTML += "-";
timeWrapper.innerHTML += this.capFirst(moment(event.endDate, "x").format(this.config.dateEndFormat));
}
// For full day events we use the fullDayEventDateFormat
if (event.fullDayEvent) {
//subtract one second so that fullDayEvents end at 23:59:59, and not at 0:00:00 one the next day
event.endDate -= oneSecond;
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").format(this.config.fullDayEventDateFormat));
}
if (this.config.getRelative > 0 && event.startDate < now) {
// Ongoing and getRelative is set
timeWrapper.innerHTML = this.capFirst(
this.translate("RUNNING", {
fallback: this.translate("RUNNING") + " {timeUntilEnd}",
timeUntilEnd: moment(event.endDate, "x").fromNow(true)
})
);
} else if (this.config.urgency > 0 && event.startDate - now < this.config.urgency * oneDay) {
// Within urgency days
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow());
}
if (event.fullDayEvent && this.config.nextDaysRelative) {
// Full days events within the next two days
if (event.today) {
timeWrapper.innerHTML = this.capFirst(this.translate("TODAY"));
} else if (event.startDate - now < oneDay && event.startDate - now > 0) {
timeWrapper.innerHTML = this.capFirst(this.translate("TOMORROW"));
} else if (event.startDate - now < 2 * oneDay && event.startDate - now > 0) {
if (this.translate("DAYAFTERTOMORROW") !== "DAYAFTERTOMORROW") {
timeWrapper.innerHTML = this.capFirst(this.translate("DAYAFTERTOMORROW"));
}
}
}
} else {
// Show relative times
if (event.startDate >= now) {
// Use relative time
if (!this.config.hideTime) {
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").calendar(null, { sameElse: this.config.dateFormat }));
} else {
timeWrapper.innerHTML = this.capFirst(
moment(event.startDate, "x").calendar(null, {
sameDay: "[" + this.translate("TODAY") + "]",
nextDay: "[" + this.translate("TOMORROW") + "]",
nextWeek: "dddd",
sameElse: this.config.dateFormat
})
);
}
if (event.startDate - now < this.config.getRelative * oneHour) {
// If event is within getRelative hours, display 'in xxx' time format or moment.fromNow()
timeWrapper.innerHTML = this.capFirst(moment(event.startDate, "x").fromNow());
}
} else {
// Ongoing event
timeWrapper.innerHTML = this.capFirst(
this.translate("RUNNING", {
fallback: this.translate("RUNNING") + " {timeUntilEnd}",
timeUntilEnd: moment(event.endDate, "x").fromNow(true)
})
);
}
}
timeWrapper.className = "time light " + this.timeClassForUrl(event.url);
eventWrapper.appendChild(timeWrapper);
}
wrapper.appendChild(eventWrapper);
// Create fade effect.
if (index >= startFade) {
currentFadeStep = index - startFade;
eventWrapper.style.opacity = 1 - (1 / fadeSteps) * currentFadeStep;
}
if (this.config.showLocation) {
if (event.location !== false) {
const locationRow = document.createElement("tr");
locationRow.className = "normal xsmall light";
if (this.config.displaySymbol) {
const symbolCell = document.createElement("td");
locationRow.appendChild(symbolCell);
}
const descCell = document.createElement("td");
descCell.className = "location";
descCell.colSpan = "2";
descCell.innerHTML = this.titleTransform(event.location, this.config.locationTitleReplace, this.config.wrapLocationEvents, this.config.maxLocationTitleLength, this.config.maxEventTitleLines);
locationRow.appendChild(descCell);
wrapper.appendChild(locationRow);
if (index >= startFade) {
currentFadeStep = index - startFade;
locationRow.style.opacity = 1 - (1 / fadeSteps) * currentFadeStep;
}
}
}
});
return wrapper;
},
/**
* This function accepts a number (either 12 or 24) and returns a moment.js LocaleSpecification with the
* corresponding timeformat to be used in the calendar display. If no number is given (or otherwise invalid input)
* it will a localeSpecification object with the system locale time format.
*
* @param {number} timeFormat Specifies either 12 or 24 hour time format
* @returns {moment.LocaleSpecification} formatted time
*/
getLocaleSpecification: function (timeFormat) {
switch (timeFormat) {
case 12: {
return { longDateFormat: { LT: "h:mm A" } };
}
case 24: {
return { longDateFormat: { LT: "HH:mm" } };
}
default: {
return { longDateFormat: { LT: moment.localeData().longDateFormat("LT") } };
}
}
},
/**
* Checks if this config contains the calendar url.
*
* @param {string} url The calendar url
* @returns {boolean} True if the calendar config contains the url, False otherwise
*/
hasCalendarURL: function (url) {
for (const calendar of this.config.calendars) {
if (calendar.url === url) {
return true;
}
}
return false;
},
/**
* Creates the sorted list of all events.
*
* @returns {object[]} Array with events.
*/
createEventList: function () {
const now = new Date();
const today = moment().startOf("day");
const future = moment().startOf("day").add(this.config.maximumNumberOfDays, "days").toDate();
let events = [];
for (const calendarUrl in this.calendarData) {
const calendar = this.calendarData[calendarUrl];
for (const e in calendar) {
const event = JSON.parse(JSON.stringify(calendar[e])); // clone object
if (event.endDate < now) {
continue;
}
if (this.config.hidePrivate) {
if (event.class === "PRIVATE") {
// do not add the current event, skip it
continue;
}
}
if (this.config.hideOngoing) {
if (event.startDate < now) {
continue;
}
}
if (this.listContainsEvent(events, event)) {
continue;
}
event.url = calendarUrl;
event.today = event.startDate >= today && event.startDate < today + 24 * 60 * 60 * 1000;
/* if sliceMultiDayEvents is set to true, multiday events (events exceeding at least one midnight) are sliced into days,
* otherwise, esp. in dateheaders mode it is not clear how long these events are.
*/
const maxCount = Math.ceil((event.endDate - 1 - moment(event.startDate, "x").endOf("day").format("x")) / (1000 * 60 * 60 * 24)) + 1;
if (this.config.sliceMultiDayEvents && maxCount > 1) {
const splitEvents = [];
let midnight = moment(event.startDate, "x").clone().startOf("day").add(1, "day").format("x");
let count = 1;
while (event.endDate > midnight) {
const thisEvent = JSON.parse(JSON.stringify(event)); // clone object
thisEvent.today = thisEvent.startDate >= today && thisEvent.startDate < today + 24 * 60 * 60 * 1000;
thisEvent.endDate = midnight;
thisEvent.title += " (" + count + "/" + maxCount + ")";
splitEvents.push(thisEvent);
event.startDate = midnight;
count += 1;
midnight = moment(midnight, "x").add(1, "day").format("x"); // next day
}
// Last day
event.title += " (" + count + "/" + maxCount + ")";
splitEvents.push(event);
for (let splitEvent of splitEvents) {
if (splitEvent.endDate > now && splitEvent.endDate <= future) {
events.push(splitEvent);
}
}
} else {
events.push(event);
}
}
}
events.sort(function (a, b) {
return a.startDate - b.startDate;
});
// Limit the number of days displayed
// If limitDays is set > 0, limit display to that number of days
if (this.config.limitDays > 0) {
let newEvents = [];
let lastDate = today.clone().subtract(1, "days").format("YYYYMMDD");
let days = 0;
for (const ev of events) {
let eventDate = moment(ev.startDate, "x").format("YYYYMMDD");
// if date of event is later than lastdate
// check if we already are showing max unique days
if (eventDate > lastDate) {
// if the only entry in the first day is a full day event that day is not counted as unique
if (newEvents.length === 1 && days === 1 && newEvents[0].fullDayEvent) {
days--;
}
days++;
if (days > this.config.limitDays) {
continue;
} else {
lastDate = eventDate;
}
}
newEvents.push(ev);
}
events = newEvents;
}
return events.slice(0, this.config.maximumEntries);
},
listContainsEvent: function (eventList, event) {
for (const evt of eventList) {
if (evt.title === event.title && parseInt(evt.startDate) === parseInt(event.startDate)) {
return true;
}
}
return false;
},
/**
* Requests node helper to add calendar url.
*
* @param {string} url The calendar url to add
* @param {object} auth The authentication method and credentials
* @param {object} calendarConfig The config of the specific calendar
*/
addCalendar: function (url, auth, calendarConfig) {
this.sendSocketNotification("ADD_CALENDAR", {
id: this.identifier,
url: url,
excludedEvents: calendarConfig.excludedEvents || this.config.excludedEvents,
maximumEntries: calendarConfig.maximumEntries || this.config.maximumEntries,
maximumNumberOfDays: calendarConfig.maximumNumberOfDays || this.config.maximumNumberOfDays,
fetchInterval: this.config.fetchInterval,
symbolClass: calendarConfig.symbolClass,
titleClass: calendarConfig.titleClass,
timeClass: calendarConfig.timeClass,
auth: auth,
broadcastPastEvents: calendarConfig.broadcastPastEvents || this.config.broadcastPastEvents,
selfSignedCert: calendarConfig.selfSignedCert || this.config.selfSignedCert
});
},
/**
* Retrieves the symbols for a specific event.
*
* @param {object} event Event to look for.
* @returns {string[]} The symbols
*/
symbolsForEvent: function (event) {
let symbols = this.getCalendarPropertyAsArray(event.url, "symbol", this.config.defaultSymbol);
if (event.recurringEvent === true && this.hasCalendarProperty(event.url, "recurringSymbol")) {
symbols = this.mergeUnique(this.getCalendarPropertyAsArray(event.url, "recurringSymbol", this.config.defaultSymbol), symbols);
}
if (event.fullDayEvent === true && this.hasCalendarProperty(event.url, "fullDaySymbol")) {
symbols = this.mergeUnique(this.getCalendarPropertyAsArray(event.url, "fullDaySymbol", this.config.defaultSymbol), symbols);
}
return symbols;
},
mergeUnique: function (arr1, arr2) {
return arr1.concat(
arr2.filter(function (item) {
return arr1.indexOf(item) === -1;
})
);
},
/**
* Retrieves the symbolClass for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The class to be used for the symbols of the calendar
*/
symbolClassForUrl: function (url) {
return this.getCalendarProperty(url, "symbolClass", "");
},
/**
* Retrieves the titleClass for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The class to be used for the title of the calendar
*/
titleClassForUrl: function (url) {
return this.getCalendarProperty(url, "titleClass", "");
},
/**
* Retrieves the timeClass for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The class to be used for the time of the calendar
*/
timeClassForUrl: function (url) {
return this.getCalendarProperty(url, "timeClass", "");
},
/**
* Retrieves the calendar name for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The name of the calendar
*/
calendarNameForUrl: function (url) {
return this.getCalendarProperty(url, "name", "");
},
/**
* Retrieves the color for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The color
*/
colorForUrl: function (url) {
return this.getCalendarProperty(url, "color", "#fff");
},
/**
* Retrieves the count title for a specific calendar url.
*
* @param {string} url The calendar url
* @returns {string} The title
*/
countTitleForUrl: function (url) {
return this.getCalendarProperty(url, "repeatingCountTitle", this.config.defaultRepeatingCountTitle);
},
/**
* Helper method to retrieve the property for a specific calendar url.
*
* @param {string} url The calendar url
* @param {string} property The property to look for
* @param {string} defaultValue The value if the property is not found
* @returns {*} The property
*/
getCalendarProperty: function (url, property, defaultValue) {
for (const calendar of this.config.calendars) {
if (calendar.url === url && calendar.hasOwnProperty(property)) {
return calendar[property];
}
}
return defaultValue;
},
getCalendarPropertyAsArray: function (url, property, defaultValue) {
let p = this.getCalendarProperty(url, property, defaultValue);
if (!(p instanceof Array)) p = [p];
return p;
},
hasCalendarProperty: function (url, property) {
return !!this.getCalendarProperty(url, property, undefined);
},
/**
* Shortens a string if it's longer than maxLength and add a ellipsis to the end
*
* @param {string} string Text string to shorten
* @param {number} maxLength The max length of the string
* @param {boolean} wrapEvents Wrap the text after the line has reached maxLength
* @param {number} maxTitleLines The max number of vertical lines before cutting event title
* @returns {string} The shortened string
*/
shorten: function (string, maxLength, wrapEvents, maxTitleLines) {
if (typeof string !== "string") {
return "";
}
if (wrapEvents === true) {
const words = string.split(" ");
let temp = "";
let currentLine = "";
let line = 0;
for (let i = 0; i < words.length; i++) {
const word = words[i];
if (currentLine.length + word.length < (typeof maxLength === "number" ? maxLength : 25) - 1) {
// max - 1 to account for a space
currentLine += word + " ";
} else {
line++;
if (line > maxTitleLines - 1) {
if (i < words.length) {
currentLine += "&hellip;";
}
break;
}
if (currentLine.length > 0) {
temp += currentLine + "<br>" + word + " ";
} else {
temp += word + "<br>";
}
currentLine = "";
}
}
return (temp + currentLine).trim();
} else {
if (maxLength && typeof maxLength === "number" && string.length > maxLength) {
return string.trim().slice(0, maxLength) + "&hellip;";
} else {
return string.trim();
}
}
},
/**
* Capitalize the first letter of a string
*
* @param {string} string The string to capitalize
* @returns {string} The capitalized string
*/
capFirst: function (string) {
return string.charAt(0).toUpperCase() + string.slice(1);
},
/**
* Transforms the title of an event for usage.
* Replaces parts of the text as defined in config.titleReplace.
* Shortens title based on config.maxTitleLength and config.wrapEvents
*
* @param {string} title The title to transform.
* @param {object} titleReplace Pairs of strings to be replaced in the title
* @param {boolean} wrapEvents Wrap the text after the line has reached maxLength
* @param {number} maxTitleLength The max length of the string
* @param {number} maxTitleLines The max number of vertical lines before cutting event title
* @returns {string} The transformed title.
*/
titleTransform: function (title, titleReplace, wrapEvents, maxTitleLength, maxTitleLines) {
for (let needle in titleReplace) {
const replacement = titleReplace[needle];
const regParts = needle.match(/^\/(.+)\/([gim]*)$/);
if (regParts) {
// the parsed pattern is a regexp.
needle = new RegExp(regParts[1], regParts[2]);
}
title = title.replace(needle, replacement);
}
title = this.shorten(title, maxTitleLength, wrapEvents, maxTitleLines);
return title;
},
/**
* Broadcasts the events to all other modules for reuse.
* The all events available in one array, sorted on startdate.
*/
broadcastEvents: function () {
const eventList = [];
for (const url in this.calendarData) {
for (const ev of this.calendarData[url]) {
const event = cloneObject(ev);
event.symbol = this.symbolsForEvent(event);
event.calendarName = this.calendarNameForUrl(url);
event.color = this.colorForUrl(url);
delete event.url;
eventList.push(event);
}
}
eventList.sort(function (a, b) {
return a.startDate - b.startDate;
});
this.sendNotification("CALENDAR_EVENTS", eventList);
}
});

View File

@@ -0,0 +1,158 @@
/* Magic Mirror
* Node Helper: Calendar - CalendarFetcher
*
* By Michael Teeuw https://michaelteeuw.nl
* MIT Licensed.
*/
const CalendarUtils = require("./calendarutils");
const Log = require("logger");
const NodeHelper = require("node_helper");
const ical = require("node-ical");
const fetch = require("node-fetch");
const digest = require("digest-fetch");
const https = require("https");
/**
*
* @param {string} url The url of the calendar to fetch
* @param {number} reloadInterval Time in ms the calendar is fetched again
* @param {string[]} excludedEvents An array of words / phrases from event titles that will be excluded from being shown.
* @param {number} maximumEntries The maximum number of events fetched.
* @param {number} maximumNumberOfDays The maximum number of days an event should be in the future.
* @param {object} auth The object containing options for authentication against the calendar.
* @param {boolean} includePastEvents If true events from the past maximumNumberOfDays will be fetched too
* @param {boolean} selfSignedCert If true, the server certificate is not verified against the list of supplied CAs.
* @class
*/
const CalendarFetcher = function (url, reloadInterval, excludedEvents, maximumEntries, maximumNumberOfDays, auth, includePastEvents, selfSignedCert) {
let reloadTimer = null;
let events = [];
let fetchFailedCallback = function () {};
let eventsReceivedCallback = function () {};
/**
* Initiates calendar fetch.
*/
const fetchCalendar = () => {
clearTimeout(reloadTimer);
reloadTimer = null;
const nodeVersion = Number(process.version.match(/^v(\d+\.\d+)/)[1]);
let fetcher = null;
let httpsAgent = null;
let headers = {
"User-Agent": "Mozilla/5.0 (Node.js " + nodeVersion + ") MagicMirror/" + global.version + " (https://github.com/MichMich/MagicMirror/)"
};
if (selfSignedCert) {
httpsAgent = new https.Agent({
rejectUnauthorized: false
});
}
if (auth) {
if (auth.method === "bearer") {
headers.Authorization = "Bearer " + auth.pass;
} else if (auth.method === "digest") {
fetcher = new digest(auth.user, auth.pass).fetch(url, { headers: headers, agent: httpsAgent });
} else {
headers.Authorization = "Basic " + Buffer.from(auth.user + ":" + auth.pass).toString("base64");
}
}
if (fetcher === null) {
fetcher = fetch(url, { headers: headers, agent: httpsAgent });
}
fetcher
.then(NodeHelper.checkFetchStatus)
.then((response) => response.text())
.then((responseData) => {
let data = [];
try {
data = ical.parseICS(responseData);
Log.debug("parsed data=" + JSON.stringify(data));
events = CalendarUtils.filterEvents(data, {
excludedEvents,
includePastEvents,
maximumEntries,
maximumNumberOfDays
});
} catch (error) {
fetchFailedCallback(this, error);
scheduleTimer();
return;
}
this.broadcastEvents();
scheduleTimer();
})
.catch((error) => {
fetchFailedCallback(this, error);
scheduleTimer();
});
};
/**
* Schedule the timer for the next update.
*/
const scheduleTimer = function () {
clearTimeout(reloadTimer);
reloadTimer = setTimeout(function () {
fetchCalendar();
}, reloadInterval);
};
/* public methods */
/**
* Initiate fetchCalendar();
*/
this.startFetch = function () {
fetchCalendar();
};
/**
* Broadcast the existing events.
*/
this.broadcastEvents = function () {
Log.info("Calendar-Fetcher: Broadcasting " + events.length + " events.");
eventsReceivedCallback(this);
};
/**
* Sets the on success callback
*
* @param {Function} callback The on success callback.
*/
this.onReceive = function (callback) {
eventsReceivedCallback = callback;
};
/**
* Sets the on error callback
*
* @param {Function} callback The on error callback.
*/
this.onError = function (callback) {
fetchFailedCallback = callback;
};
/**
* Returns the url of this fetcher.
*
* @returns {string} The url of this fetcher.
*/
this.url = function () {
return url;
};
/**
* Returns current available events for this fetcher.
*
* @returns {object[]} The current available events for this fetcher.
*/
this.events = function () {
return events;
};
};
module.exports = CalendarFetcher;

Some files were not shown because too many files have changed in this diff Show More