mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 03:39:55 +00:00
Standardize: TO STYLELINT!
This commit is contained in:
parent
426728058c
commit
7b5b81504b
4
.stylelintrc
Normal file
4
.stylelintrc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"extends": "stylelint-config-standard",
|
||||||
|
"font-family-name-quotes": "double-where-recommended"
|
||||||
|
}
|
247
css/main.css
247
css/main.css
@ -1,59 +1,106 @@
|
|||||||
html {
|
html {
|
||||||
cursor: none;
|
cursor: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 60px;
|
margin: 60px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: calc(100% - 120px);
|
height: calc(100% - 120px);
|
||||||
width: calc(100% - 120px);
|
width: calc(100% - 120px);
|
||||||
background: #000;
|
background: #000;
|
||||||
color: #aaa;
|
color: #aaa;
|
||||||
font-family: 'Roboto Condensed', sans-serif;
|
font-family: "Roboto Condensed", sans-serif;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
line-height: 1.5em;
|
line-height: 1.5em;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default styles.
|
* Default styles.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.dimmed {color: #555;}
|
.dimmed {
|
||||||
.normal {color: #999;}
|
color: #555;
|
||||||
.bright {color: #fff;}
|
}
|
||||||
|
|
||||||
.xsmall {font-size: 15px; line-height: 20px;}
|
.normal {
|
||||||
.small {font-size: 20px; line-height: 25px;}
|
color: #999;
|
||||||
.medium {font-size: 30px; line-height: 35px;}
|
}
|
||||||
.large {font-size: 65px; line-height: 65px;}
|
|
||||||
.xlarge {font-size: 75px; line-height: 75px; letter-spacing: -3px;}
|
|
||||||
|
|
||||||
.thin {font-family: 'Roboto', sans-serif; font-weight: 100;}
|
.bright {
|
||||||
.light {font-family: 'Roboto Condensed', sans-serif; font-weight: 300;}
|
color: #fff;
|
||||||
.regular {font-family: 'Roboto Condensed', sans-serif; font-weight: 400;}
|
}
|
||||||
.bold {font-family: 'Roboto Condensed', sans-serif; font-weight: 700;}
|
|
||||||
|
|
||||||
.align-right {text-align: right;}
|
.xsmall {
|
||||||
.align-left {text-align: left;}
|
font-size: 15px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.medium {
|
||||||
|
font-size: 30px;
|
||||||
|
line-height: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.large {
|
||||||
|
font-size: 65px;
|
||||||
|
line-height: 65px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xlarge {
|
||||||
|
font-size: 75px;
|
||||||
|
line-height: 75px;
|
||||||
|
letter-spacing: -3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thin {
|
||||||
|
font-family: Roboto, sans-serif;
|
||||||
|
font-weight: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light {
|
||||||
|
font-family: "Roboto Condensed", sans-serif;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.regular {
|
||||||
|
font-family: "Roboto Condensed", sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-family: "Roboto Condensed", sans-serif;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.align-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
font-family: 'Roboto Condensed';
|
font-family: "Roboto Condensed";
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
border-bottom: 1px solid #333;
|
border-bottom: 1px solid #333;
|
||||||
line-height: 0.35em;
|
line-height: 0.35em;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
sup {
|
sup {
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
line-height: 50%;
|
line-height: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -61,10 +108,11 @@ sup {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.module {
|
.module {
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.module:first-child {
|
.module:first-child {
|
||||||
margin-top: 0px;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,80 +120,105 @@ sup {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.region {
|
.region {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.fullscreen {
|
.region.fullscreen {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -60px;
|
top: -60px;
|
||||||
left: -60px;
|
left: -60px;
|
||||||
right: -60px;
|
right: -60px;
|
||||||
bottom: -60px;
|
bottom: -60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.right {
|
.region.right {
|
||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.top {
|
.region.top {
|
||||||
top: 0;
|
top: 0;
|
||||||
}
|
}
|
||||||
.region.top .container{
|
|
||||||
margin-bottom: 25px;
|
.region.top .container {
|
||||||
|
margin-bottom: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.top .container:empty {
|
.region.top .container:empty {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.region.top.center, .region.bottom.center {
|
|
||||||
left: 50%;
|
.region.top.center,
|
||||||
-moz-transform: translateX(-50%);
|
.region.bottom.center {
|
||||||
-o-transform: translateX(-50%);
|
left: 50%;
|
||||||
-webkit-transform: translateX(-50%);
|
-moz-transform: translateX(-50%);
|
||||||
-ms-transform: translateX(-50%);
|
-o-transform: translateX(-50%);
|
||||||
transform: translateX(-50%);
|
-webkit-transform: translateX(-50%);
|
||||||
|
-ms-transform: translateX(-50%);
|
||||||
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
.region.top.right, .region.top.left, .region.top.center {
|
|
||||||
top: 100%;
|
.region.top.right,
|
||||||
|
.region.top.left,
|
||||||
|
.region.top.center {
|
||||||
|
top: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.bottom {
|
.region.bottom {
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
.region.bottom .container{
|
|
||||||
margin-top: 25px;
|
.region.bottom .container {
|
||||||
|
margin-top: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.bottom .container:empty {
|
.region.bottom .container:empty {
|
||||||
margin-top: 0px;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
.region.bottom.right, .region.bottom.center, .region.bottom.left {
|
|
||||||
bottom: 100%;
|
.region.bottom.right,
|
||||||
|
.region.bottom.center,
|
||||||
|
.region.bottom.left {
|
||||||
|
bottom: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.bar {
|
.region.bar {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
|
||||||
.region.third, .region.middle.center {
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
-moz-transform: translateY(-50%);
|
|
||||||
-o-transform: translateY(-50%);
|
|
||||||
-webkit-transform: translateY(-50%);
|
|
||||||
-ms-transform: translateY(-50%);
|
|
||||||
transform: translateY(-50%);
|
|
||||||
}
|
|
||||||
.region.upper.third {
|
|
||||||
top: 33%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.region.third,
|
||||||
.region.middle.center {
|
.region.middle.center {
|
||||||
top: 50%;
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
-moz-transform: translateY(-50%);
|
||||||
|
-o-transform: translateY(-50%);
|
||||||
|
-webkit-transform: translateY(-50%);
|
||||||
|
-ms-transform: translateY(-50%);
|
||||||
|
transform: translateY(-50%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.region.upper.third {
|
||||||
|
top: 33%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.region.middle.center {
|
||||||
|
top: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
.region.lower.third {
|
.region.lower.third {
|
||||||
top: 66%;
|
top: 66%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.left {
|
.region.left {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.region.right {
|
.region.right {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.region table {
|
|
||||||
width: 100%;
|
.region table {
|
||||||
border-spacing: 0px;
|
width: 100%;
|
||||||
border-collapse: separate;
|
border-spacing: 0;
|
||||||
|
border-collapse: separate;
|
||||||
}
|
}
|
||||||
|
136
fonts/roboto.css
136
fonts/roboto.css
@ -1,87 +1,95 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: Roboto;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
src: local('Roboto Thin'),
|
src:
|
||||||
local('Roboto-Thin'),
|
local("Roboto Thin"),
|
||||||
url('Roboto-Thin/Roboto-Thin.woff2') format('woff2'),
|
local("Roboto-Thin"),
|
||||||
url('Roboto-Thin/Roboto-Thin.woff') format('woff'),
|
url("Roboto-Thin/Roboto-Thin.woff2") format("woff2"),
|
||||||
url('Roboto-Thin/Roboto-Thin.ttf') format('truetype');
|
url("Roboto-Thin/Roboto-Thin.woff") format("woff"),
|
||||||
|
url("Roboto-Thin/Roboto-Thin.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto Condensed';
|
font-family: "Roboto Condensed";
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
src: local('Roboto Condensed Light'),
|
src:
|
||||||
local('RobotoCondensed-Light'),
|
local("Roboto Condensed Light"),
|
||||||
url('RobotoCondensed-Light/RobotoCondensed-Light.woff2') format('woff2'),
|
local("RobotoCondensed-Light"),
|
||||||
url('RobotoCondensed-Light/RobotoCondensed-Light.woff') format('woff'),
|
url("RobotoCondensed-Light/RobotoCondensed-Light.woff2") format("woff2"),
|
||||||
url('RobotoCondensed-Light/RobotoCondensed-Light.ttf') format('truetype');
|
url("RobotoCondensed-Light/RobotoCondensed-Light.woff") format("woff"),
|
||||||
|
url("RobotoCondensed-Light/RobotoCondensed-Light.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto Condensed';
|
font-family: "Roboto Condensed";
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Roboto Condensed'),
|
src:
|
||||||
local('RobotoCondensed-Regular'),
|
local("Roboto Condensed"),
|
||||||
url('RobotoCondensed-Regular/RobotoCondensed-Regular.woff2') format('woff2'),
|
local("RobotoCondensed-Regular"),
|
||||||
url('RobotoCondensed-Regular/RobotoCondensed-Regular.woff') format('woff'),
|
url("RobotoCondensed-Regular/RobotoCondensed-Regular.woff2") format("woff2"),
|
||||||
url('RobotoCondensed-Regular/RobotoCondensed-Regular.ttf') format('truetype');
|
url("RobotoCondensed-Regular/RobotoCondensed-Regular.woff") format("woff"),
|
||||||
|
url("RobotoCondensed-Regular/RobotoCondensed-Regular.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto Condensed';
|
font-family: "Roboto Condensed";
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: local('Roboto Condensed Bold'),
|
src:
|
||||||
local('RobotoCondensed-Bold'),
|
local("Roboto Condensed Bold"),
|
||||||
url('RobotoCondensed-Bold/RobotoCondensed-Bold.woff2') format('woff2'),
|
local("RobotoCondensed-Bold"),
|
||||||
url('RobotoCondensed-Bold/RobotoCondensed-Bold.woff') format('woff'),
|
url("RobotoCondensed-Bold/RobotoCondensed-Bold.woff2") format("woff2"),
|
||||||
url('RobotoCondensed-Bold/RobotoCondensed-Bold.ttf') format('truetype');
|
url("RobotoCondensed-Bold/RobotoCondensed-Bold.woff") format("woff"),
|
||||||
|
url("RobotoCondensed-Bold/RobotoCondensed-Bold.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: Roboto;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: local('Roboto'),
|
src:
|
||||||
local('Roboto-Regular'),
|
local("Roboto"),
|
||||||
url('Roboto-Regular/Roboto-Regular.woff2') format('woff2'),
|
local("Roboto-Regular"),
|
||||||
url('Roboto-Regular/Roboto-Regular.woff') format('woff'),
|
url("Roboto-Regular/Roboto-Regular.woff2") format("woff2"),
|
||||||
url('Roboto-Regular/Roboto-Regular.ttf') format('truetype');
|
url("Roboto-Regular/Roboto-Regular.woff") format("woff"),
|
||||||
|
url("Roboto-Regular/Roboto-Regular.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: Roboto;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
src: local('Roboto Medium'),
|
src:
|
||||||
local('Roboto-Medium'),
|
local("Roboto Medium"),
|
||||||
url('Roboto-Medium/Roboto-Medium.woff2') format('woff2'),
|
local("Roboto-Medium"),
|
||||||
url('Roboto-Medium/Roboto-Medium.woff') format('woff'),
|
url("Roboto-Medium/Roboto-Medium.woff2") format("woff2"),
|
||||||
url('Roboto-Medium/Roboto-Medium.ttf') format('truetype');
|
url("Roboto-Medium/Roboto-Medium.woff") format("woff"),
|
||||||
|
url("Roboto-Medium/Roboto-Medium.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: Roboto;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: local('Roboto Bold'),
|
src:
|
||||||
local('Roboto-Bold'),
|
local("Roboto Bold"),
|
||||||
url('Roboto-Bold/Roboto-Bold.woff2') format('woff2'),
|
local("Roboto-Bold"),
|
||||||
url('Roboto-Bold/Roboto-Bold.woff') format('woff'),
|
url("Roboto-Bold/Roboto-Bold.woff2") format("woff2"),
|
||||||
url('Roboto-Bold/Roboto-Bold.ttf') format('truetype');
|
url("Roboto-Bold/Roboto-Bold.woff") format("woff"),
|
||||||
|
url("Roboto-Bold/Roboto-Bold.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Roboto';
|
font-family: Roboto;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
src: local('Roboto Light'),
|
src:
|
||||||
local('Roboto-Light'),
|
local("Roboto Light"),
|
||||||
url('Roboto-Light/Roboto-Light.woff2') format('woff2'),
|
local("Roboto-Light"),
|
||||||
url('Roboto-Light/Roboto-Light.woff') format('woff'),
|
url("Roboto-Light/Roboto-Light.woff2") format("woff2"),
|
||||||
url('Roboto-Light/Roboto-Light.ttf') format('truetype');
|
url("Roboto-Light/Roboto-Light.woff") format("woff"),
|
||||||
|
url("Roboto-Light/Roboto-Light.ttf") format("truetype");
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
# $$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\
|
# $$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\
|
||||||
# $$$\ $$$ | \__| $$$\ $$$ |\__| $$ __$$\
|
# $$$\ $$$ | \__| $$$\ $$$ |\__| $$ __$$\
|
||||||
# $$$$\ $$$$ | $$$$$$\ $$$$$$\ $$\ $$$$$$$\ $$$$\ $$$$ |$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ \__/ $$ |
|
# $$$$\ $$$$ | $$$$$$\ $$$$$$\ $$\ $$$$$$$\ $$$$\ $$$$ |$$\ $$$$$$\ $$$$$$\ $$$$$$\ $$$$$$\ \__/ $$ |
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,23 +1,22 @@
|
|||||||
.calendar .symbol {
|
.calendar .symbol {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar .symbol span {
|
.calendar .symbol span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
-ms-transform: translate(0, 2px); /* IE 9 */
|
||||||
-ms-transform: translate(0px,2px); /* IE 9 */
|
-webkit-transform: translate(0, 2px); /* Safari */
|
||||||
-webkit-transform: translate(0px,2px); /* Safari */
|
transform: translate(0, 2px);
|
||||||
transform: translate(0px,2px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar .title {
|
.calendar .title {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
padding-right: 0px;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar .time {
|
.calendar .time {
|
||||||
padding-left: 30px;
|
padding-left: 30px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
.currentweather .weathericon {
|
.currentweather .weathericon {
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
line-height: 65px;
|
line-height: 65px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
-ms-transform: translate(0, -3px); /* IE 9 */
|
||||||
-ms-transform: translate(0px,-3px); /* IE 9 */
|
-webkit-transform: translate(0, -3px); /* Safari */
|
||||||
-webkit-transform: translate(0px,-3px); /* Safari */
|
transform: translate(0, -3px);
|
||||||
transform: translate(0px,-3px);
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
.weatherforecast .day {
|
.weatherforecast .day {
|
||||||
padding-left: 0px;
|
padding-left: 0;
|
||||||
padding-right: 25px;
|
padding-right: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weatherforecast .weather-icon {
|
.weatherforecast .weather-icon {
|
||||||
padding-right: 30px;
|
padding-right: 30px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weatherforecast .min-temp {
|
.weatherforecast .min-temp {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
padding-right: 0px;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
78
package.json
Executable file → Normal file
78
package.json
Executable file → Normal file
@ -1,40 +1,42 @@
|
|||||||
{
|
{
|
||||||
"name": "magicmirror",
|
"name": "magicmirror",
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"description": "A modular interface for smart mirrors.",
|
"description": "A modular interface for smart mirrors.",
|
||||||
"main": "js/electron.js",
|
"main": "js/electron.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "electron js/electron.js"
|
"start": "electron js/electron.js"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/MichMich/MagicMirror.git"
|
"url": "git+https://github.com/MichMich/MagicMirror.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"magic mirror",
|
"magic mirror",
|
||||||
"smart mirror",
|
"smart mirror",
|
||||||
"mirror UI",
|
"mirror UI",
|
||||||
"modular"
|
"modular"
|
||||||
],
|
],
|
||||||
"author": "Michael Teeuw",
|
"author": "Michael Teeuw",
|
||||||
"contributors": "https://github.com/MichMich/MagicMirror/graphs/contributors",
|
"contributors": "https://github.com/MichMich/MagicMirror/graphs/contributors",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/MichMich/MagicMirror/issues"
|
"url": "https://github.com/MichMich/MagicMirror/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/MichMich/MagicMirror#readme",
|
"homepage": "https://github.com/MichMich/MagicMirror#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"electron-prebuilt": "latest"
|
"electron-prebuilt": "latest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"socket.io":"latest",
|
"express": "latest",
|
||||||
"express":"latest",
|
"feedme": "latest",
|
||||||
"request":"latest",
|
"ical": "latest",
|
||||||
"walk": "latest",
|
"iconv-lite": "latest",
|
||||||
"feedme": "latest",
|
"moment": "latest",
|
||||||
"valid-url": "latest",
|
"request": "latest",
|
||||||
"ical": "latest",
|
"socket.io": "latest",
|
||||||
"moment": "latest",
|
"stylelint": "^5.2.1",
|
||||||
"iconv-lite": "latest"
|
"stylelint-config-standard": "^4.0.1",
|
||||||
}
|
"valid-url": "latest",
|
||||||
|
"walk": "latest"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user