# MagicMirror² [![Dependency Status](https://david-dm.org/MichMich/MagicMirror/v2-beta.svg)](https://david-dm.org/MichMich/MagicMirror/v2-beta) [![devDependency Status](https://david-dm.org/MichMich/MagicMirror/v2-beta/dev-status.svg)](https://david-dm.org/MichMich/MagicMirror/v2-beta#info=devDependencies) This version of the Magic Mirror software focusses on a modular plugin system. Besides that, the Magic Mirror software now also uses [Electron](http://electron.atom.io/), so no more webserver or browser installs necessary. **WARNING!** This version is in a *very* early stage. It is **not** completed yet. **Please** use the master branch. ## Usage #### Automatic Installer (Raspberry Pi Only!) Execute the following command on your Raspberry Pi to install MagicMirror²: ```` curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/v2-beta/installers/raspberry.sh | bash ```` #### Manual Installation 1. Download and install the latest Node.js version. 2. Clone the repository and check out the beta branch: `git clone -b v2-beta https://github.com/MichMich/MagicMirror` 3. Enter the repository: `cd ~/MagicMirror` 4. Install and run the app: `npm install && npm start` (You may have to restart your terminal before this works!) **Important:** `npm start` does **not** work via SSH, use `DISPLAY=:0 nohup npm start &` instead. This starts the mirror on the remote display. #### Server only In some cases, you want to start the application without an actual app window. In this case, exectute the following command from the MagicMirror folder: `node serveronly`. This will start the server, after which you can open the application in your browser of choice. ## Configuration 1. Duplicate `config/config.js.sample` to `config/config.js`. 2. Modify your required settings. ## Todo List Here is a list of various things that still have to be implemented or changed. - [ ] Allow show/hide animations to animate the height. This way, the other modules won't jump around. - [ ] Allow vertical centering of alerts. - [ ] Rewrite the [alert](modules/default/alert) module in vanilla JavaScript. - [ ] Write all the documentation. ## Modules The following modules are installed by default. - [**Clock**](modules/default/clock) - [**Calendar**](modules/default/calendar) - [**Current Weather**](modules/default/currentweather) - [**Weather Forecast**](modules/default/weatherforecast) - [**News Feed**](modules/default/newsfeed) - [**Compliments**](modules/default/compliments) - [**Hello World**](modules/default/helloworld) - [**Alert**](modules/default/alert) The following modules are created by their respective authors. - **[MMM-FRITZ-Box-Callmonitor by PaViRo](https://github.com/paviro/MMM-FRITZ-Box-Callmonitor)**
FRITZ!Box Callmonitor (Display an alert when someone is calling ...) - **[MMM-Facial-Recognition by PaViRo](https://github.com/paviro/MMM-Facial-Recognition)**
Facial recognition and module swapping based on the current user ... - **[MMM-Wunderlist by PaViRo](https://github.com/paviro/MMM-Wunderlist)**
Displays your Wunderlist todos on your mirror ... - **[MMM-wordnik by Vendittelli](https://github.com/SVendittelli/MMM-wordnik)**
Get the word of the day, its definition, and origin ... ## Contributing Contributions of all kinds are welcome, not only in the form of code but also with regards bug reports and documentation. Please keep the following in mind: - **Bug Reports**: Make sure you're running the latest version. If the issue(s) still persist: please open a clearly documented issue with a clear title. - **Minor Bug Fixes**: Please send a pull request with a clear explanation of the issue or a link to the isssue it solves. - **Major Bug Fixes**: please discuss your approach in an GitHub issue before you start to alter a big part of the code. - **New Features**: please please discuss in a GitHub issue before you start to alter a big part of the code. Without discussion upfront, the pull request will not be accepted / merged. Thanks for your help in making Magic Mirror better!