diff --git a/Website/Website.csproj b/Website/Website.csproj index 9ad557c..dcecc96 100644 --- a/Website/Website.csproj +++ b/Website/Website.csproj @@ -19,6 +19,6 @@ - + diff --git a/Website/gulpfile.js b/Website/gulpfile.js index 419f87e..0fe9c21 100644 --- a/Website/gulpfile.js +++ b/Website/gulpfile.js @@ -1,14 +1,14 @@ var gulp = require("gulp"), - less = require("gulp-less"), + sass = require("gulp-sass"), cleanCss = require("gulp-clean-css"); -gulp.task("compile_less", function () { - return gulp.src('wwwroot/css/**/*.less') - .pipe(less()) +gulp.task("compile_scss", function () { + return gulp.src('wwwroot/css/**/*.scss') + .pipe(sass()) .pipe(cleanCss()) .pipe(gulp.dest('wwwroot/css')); }); gulp.task("watch", function () { - gulp.watch("wwwroot/css/**/*.less", gulp.series("compile_less")); + gulp.watch("wwwroot/css/**/*.scss", gulp.series("compile_scss")); }); \ No newline at end of file diff --git a/Website/package-lock.json b/Website/package-lock.json index b1caf8a..137a23d 100644 --- a/Website/package-lock.json +++ b/Website/package-lock.json @@ -9,6 +9,12 @@ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.1.tgz", "integrity": "sha512-ZtjIIFplxncqxvogq148C3hBLQE+W3iJ8E4UvJ09zIJUgzwLcROsWwFDErVSXY2Plzao5J9KUYNHKHMEUYDMKw==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "accord": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/accord/-/accord-0.29.0.tgz", @@ -36,7 +42,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "dev": true, - "optional": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -66,6 +71,12 @@ } } }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -108,6 +119,15 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", @@ -133,12 +153,28 @@ "buffer-equal": "^1.0.0" } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -181,6 +217,12 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, "array-initial": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", @@ -259,7 +301,6 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "optional": true, "requires": { "safer-buffer": "~2.1.0" } @@ -268,8 +309,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -295,6 +335,12 @@ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, "async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", @@ -308,8 +354,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true + "dev": true }, "atob": { "version": "2.1.2", @@ -321,15 +366,13 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "optional": true + "dev": true }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true, - "optional": true + "dev": true }, "bach": { "version": "1.2.0", @@ -414,7 +457,6 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "^0.14.3" } @@ -425,6 +467,15 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -499,12 +550,29 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true + "dev": true }, "center-align": { "version": "0.1.3", @@ -516,6 +584,17 @@ "lazy-cache": "^1.0.3" } }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "chokidar": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", @@ -659,6 +738,21 @@ "object-visit": "^1.0.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -670,7 +764,6 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, - "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -699,6 +792,12 @@ "typedarray": "^0.0.6" } }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", @@ -730,6 +829,25 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -744,7 +862,6 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, - "optional": true, "requires": { "assert-plus": "^1.0.0" } @@ -847,8 +964,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "optional": true + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, "detect-file": { "version": "1.0.0", @@ -883,7 +1005,6 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -961,6 +1082,12 @@ "es6-symbol": "^3.1.1" } }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1101,8 +1228,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "optional": true + "dev": true }, "fancy-log": { "version": "1.3.3", @@ -1120,15 +1246,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true, - "optional": true + "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true, - "optional": true + "dev": true }, "fill-range": { "version": "4.0.0", @@ -1223,15 +1347,13 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true + "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, - "optional": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -1811,18 +1933,61 @@ } } }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -1834,7 +1999,6 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "optional": true, "requires": { "assert-plus": "^1.0.0" } @@ -1930,6 +2094,17 @@ "which": "^1.2.14" } }, + "globule": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.12", + "minimatch": "~3.0.2" + } + }, "glogg": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", @@ -2036,6 +2211,51 @@ "vinyl-sourcemaps-apply": "^0.2.0" } }, + "gulp-sass": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.2.tgz", + "integrity": "sha512-q8psj4+aDrblJMMtRxihNBdovfzGrXJp1l4JU0Sz4b/Mhsi2DPrKFYCGDwjIWRENs04ELVHxdOJQ7Vs98OFohg==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "lodash.clonedeep": "^4.3.2", + "node-sass": "^4.8.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "strip-ansi": "^4.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "gulplog": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", @@ -2049,26 +2269,45 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "optional": true + "dev": true }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, - "optional": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -2121,7 +2360,6 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, - "optional": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -2135,6 +2373,21 @@ "dev": true, "optional": true }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, "indx": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz", @@ -2277,6 +2530,12 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -2343,8 +2602,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true + "dev": true }, "is-unc-path": { "version": "1.0.0", @@ -2395,29 +2653,31 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true + "dev": true + }, + "js-base64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", + "dev": true }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "optional": true + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -2429,15 +2689,13 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true + "dev": true }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "optional": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -2555,12 +2813,24 @@ "strip-bom": "^2.0.0" } }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", @@ -2603,6 +2873,26 @@ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -2618,6 +2908,12 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -2662,6 +2958,32 @@ } } }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -2694,15 +3016,13 @@ "version": "1.39.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.39.0.tgz", "integrity": "sha512-DTsrw/iWVvwHH+9Otxccdyy0Tgiil6TWK/xhfARJZF/QFhwOgZgOIvA2/VIGpM8U7Q8z5nDmdDWC6tuVMJNibw==", - "dev": true, - "optional": true + "dev": true }, "mime-types": { "version": "2.1.23", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.23.tgz", "integrity": "sha512-ROk/m+gMVSrRxTkMlaQOvFmFmYDc7sZgrjjM76abqmd2Cc5fCV7jAMA5XUccEtJ3cYiYdgixUVI+fApc2LkXlw==", "dev": true, - "optional": true, "requires": { "mime-db": "~1.39.0" } @@ -2720,8 +3040,7 @@ "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true + "dev": true }, "mixin-deep": { "version": "1.3.1", @@ -2749,7 +3068,6 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -2770,8 +3088,7 @@ "version": "2.13.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "dev": true, - "optional": true + "dev": true }, "nanomatch": { "version": "1.2.13", @@ -2798,6 +3115,95 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -2828,6 +3234,18 @@ "once": "^1.3.2" } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -2838,8 +3256,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2964,6 +3381,12 @@ "readable-stream": "^2.0.1" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -2973,6 +3396,22 @@ "lcid": "^1.0.0" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -3068,8 +3507,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true, - "optional": true + "dev": true }, "pify": { "version": "2.3.0", @@ -3179,12 +3617,17 @@ "dev": true, "optional": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", - "dev": true, - "optional": true + "dev": true }, "pump": { "version": "2.0.1", @@ -3211,15 +3654,13 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "optional": true + "dev": true }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "optional": true + "dev": true }, "read-pkg": { "version": "1.1.0", @@ -3285,6 +3726,16 @@ "resolve": "^1.1.6" } }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -3334,6 +3785,15 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, "replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", @@ -3356,7 +3816,6 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, - "optional": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -3441,6 +3900,15 @@ "align-text": "^0.1.1" } }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -3460,8 +3928,40 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, - "optional": true + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } }, "semver": { "version": "5.7.0", @@ -3507,6 +4007,12 @@ } } }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -3691,7 +4197,6 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, - "optional": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -3731,6 +4236,15 @@ } } }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, "stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", @@ -3781,6 +4295,24 @@ "is-utf8": "^0.2.0" } }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "sver-compat": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", @@ -3791,6 +4323,17 @@ "es6-symbol": "^3.1.1" } }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -3883,7 +4426,6 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, - "optional": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -3893,17 +4435,30 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true + "dev": true } } }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.0.1" } @@ -3912,8 +4467,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "typedarray": { "version": "0.0.6", @@ -4095,7 +4649,6 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, - "optional": true, "requires": { "punycode": "^2.1.0" } @@ -4122,8 +4675,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true, - "optional": true + "dev": true }, "v8flags": { "version": "3.1.2", @@ -4155,7 +4707,6 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "optional": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -4246,6 +4797,15 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -4286,6 +4846,12 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", diff --git a/Website/package.json b/Website/package.json index 4a9c985..957c1c1 100644 --- a/Website/package.json +++ b/Website/package.json @@ -6,7 +6,8 @@ "devDependencies": { "gulp": "^4.0.0", "gulp-clean-css": "^4.0.0", - "gulp-less": "^4.0.1" + "gulp-less": "^4.0.1", + "gulp-sass": "^4.0.2" }, "dependencies": { "@fortawesome/fontawesome-free": "^5.12.1" diff --git a/Website/wwwroot/css/blog.less b/Website/wwwroot/css/blog.less deleted file mode 100644 index 778cd13..0000000 --- a/Website/wwwroot/css/blog.less +++ /dev/null @@ -1,157 +0,0 @@ -@import "colours.less"; - -.blog-post { - &__image-container { - max-width: 100%; - padding: 10px; - background: @Grey-200; - display: inline-block; - margin: auto; - text-align: center; - border-radius: 4px; - - &--container{ - text-align: center; - } - - &--image { - max-width: 100%; - } - - &--tagline { - margin-top: 10px; - display: block; - } - } - - :not(pre) > code { - padding: 2px; - background: @Grey-200; - border-radius: 2px; - border: 1px solid @Grey-400; - } - - pre > code { - border-left: 4px solid @primary; - margin-bottom: 10px; - overflow: auto; - padding: 6px; - padding-left:10px; - tab-size: 4; - -moz-tab-size: 4; - - /** - * Obsidian style - * ported by Alexander Marenin (http://github.com/ioncreature) - */ - display: block; - overflow-x: auto; - background: #282b2e; - color: #e0e2e4; - - .hljs-keyword, - .hljs-selector-tag, - .hljs-literal, - .hljs-selector-id { - color: #93c763; - } - - .hljs-number { - color: #ffcd22; - } - - .hljs-attribute { - color: #668bb0; - } - - .hljs-code, - .hljs-class .hljs-title, - .hljs-section { - color: white; - } - - .hljs-regexp, - .hljs-link { - color: #d39745; - } - - .hljs-meta { - color: #557182; - } - - .hljs-tag, - .hljs-name, - .hljs-bullet, - .hljs-subst, - .hljs-emphasis, - .hljs-type, - .hljs-built_in, - .hljs-selector-attr, - .hljs-selector-pseudo, - .hljs-addition, - .hljs-variable, - .hljs-template-tag, - .hljs-template-variable { - color: #8cbbad; - } - - .hljs-string, - .hljs-symbol { - color: #ec7600; - } - - .hljs-comment, - .hljs-quote, - .hljs-deletion { - color: #818e96; - } - - .hljs-selector-class { - color: #A082BD - } - - .hljs-keyword, - .hljs-selector-tag, - .hljs-literal, - .hljs-doctag, - .hljs-title, - .hljs-section, - .hljs-type, - .hljs-name, - .hljs-strong { - font-weight: bold; - } - } -} - -.blog-navigation { - display: flex; - justify-content: space-between; - - &__next { - margin-left: auto; - } -} - -.edit-form { - &__title { - display: flex; - - &__label { - flex: 0 0 auto; - margin-right: 5px; - } - - &__input { - flex: 1 1 auto; - } - } -} - -.post-list { - border-collapse: collapse; - - &__post:hover { - background: @Grey-300; - } -} diff --git a/Website/wwwroot/css/blog.scss b/Website/wwwroot/css/blog.scss new file mode 100644 index 0000000..13f19ec --- /dev/null +++ b/Website/wwwroot/css/blog.scss @@ -0,0 +1,157 @@ +@import "colours.scss"; + +.blog-post { + &__image-container { + max-width: 100%; + padding: 10px; + background: $Grey-200; + display: inline-block; + margin: auto; + text-align: center; + border-radius: 4px; + + &--container { + text-align: center; + } + + &--image { + max-width: 100%; + } + + &--tagline { + margin-top: 10px; + display: block; + } + } + + :not(pre)>code { + padding: 2px; + background: $Grey-200; + border-radius: 2px; + border: 1px solid $Grey-400; + } + + pre>code { + border-left: 4px solid $primary; + margin-bottom: 10px; + overflow: auto; + padding: 6px; + padding-left: 10px; + tab-size: 4; + -moz-tab-size: 4; + + /** + * Obsidian style + * ported by Alexander Marenin (http://github.com/ioncreature) + */ + display: block; + overflow-x: auto; + background: #282b2e; + color: #e0e2e4; + + .hljs-keyword, + .hljs-selector-tag, + .hljs-literal, + .hljs-selector-id { + color: #93c763; + } + + .hljs-number { + color: #ffcd22; + } + + .hljs-attribute { + color: #668bb0; + } + + .hljs-code, + .hljs-class .hljs-title, + .hljs-section { + color: white; + } + + .hljs-regexp, + .hljs-link { + color: #d39745; + } + + .hljs-meta { + color: #557182; + } + + .hljs-tag, + .hljs-name, + .hljs-bullet, + .hljs-subst, + .hljs-emphasis, + .hljs-type, + .hljs-built_in, + .hljs-selector-attr, + .hljs-selector-pseudo, + .hljs-addition, + .hljs-variable, + .hljs-template-tag, + .hljs-template-variable { + color: #8cbbad; + } + + .hljs-string, + .hljs-symbol { + color: #ec7600; + } + + .hljs-comment, + .hljs-quote, + .hljs-deletion { + color: #818e96; + } + + .hljs-selector-class { + color: #A082BD + } + + .hljs-keyword, + .hljs-selector-tag, + .hljs-literal, + .hljs-doctag, + .hljs-title, + .hljs-section, + .hljs-type, + .hljs-name, + .hljs-strong { + font-weight: bold; + } + } +} + +.blog-navigation { + display: flex; + justify-content: space-between; + + &__next { + margin-left: auto; + } +} + +.edit-form { + &__title { + display: flex; + + &__label { + flex: 0 0 auto; + margin-right: 5px; + } + + &__input { + flex: 1 1 auto; + } + } +} + +.post-list { + border-collapse: collapse; + + &__post:hover { + background: $Grey-300; + } +} \ No newline at end of file diff --git a/Website/wwwroot/css/colours.less b/Website/wwwroot/css/colours.less deleted file mode 100644 index 34de056..0000000 --- a/Website/wwwroot/css/colours.less +++ /dev/null @@ -1,23 +0,0 @@ -@import "material_colours.less"; - -@background:@Grey-50; - -@primary-100:@Red-100; -@primary-200:@Red-200; -@primary-300:@Red-300; -@primary-400:@Red-400; -@primary-500:@Red-500; -@primary-600:@Red-600; -@primary-700:@Red-700; -@primary-800:@Red-800; -@primary-900:@Red-900; - -@accent-100:@Teal-100; -@accent-200:@Teal-200; -@accent-400:@Teal-400; -@accent-700:@Teal-700; - -@primary:@primary-600; -@accent:@accent-400; -@control:@Grey-200; -@control2:@Grey-300; \ No newline at end of file diff --git a/Website/wwwroot/css/colours.scss b/Website/wwwroot/css/colours.scss new file mode 100644 index 0000000..f0c7c92 --- /dev/null +++ b/Website/wwwroot/css/colours.scss @@ -0,0 +1,23 @@ +@import "material_colours.scss"; + +$background:$Grey-50; + +$primary-100:$Red-100; +$primary-200:$Red-200; +$primary-300:$Red-300; +$primary-400:$Red-400; +$primary-500:$Red-500; +$primary-600:$Red-600; +$primary-700:$Red-700; +$primary-800:$Red-800; +$primary-900:$Red-900; + +$accent-100:$Teal-100; +$accent-200:$Teal-200; +$accent-400:$Teal-400; +$accent-700:$Teal-700; + +$primary:$primary-600; +$accent:$accent-400; +$control:$Grey-200; +$control2:$Grey-300; \ No newline at end of file diff --git a/Website/wwwroot/css/material_colours.less b/Website/wwwroot/css/material_colours.less deleted file mode 100644 index 712b81d..0000000 --- a/Website/wwwroot/css/material_colours.less +++ /dev/null @@ -1,272 +0,0 @@ -@Red-50:#ffebee; -@Red-100:#ffcdd2; -@Red-200:#ef9a9a; -@Red-300:#e57373; -@Red-400:#ef5350; -@Red-500:#f44336; -@Red-600:#e53935; -@Red-700:#d32f2f; -@Red-800:#c62828; -@Red-900:#b71c1c; -@Red-A100:#ff8a80; -@Red-A200:#ff5252; -@Red-A400:#ff1744; -@Red-A700:#d50000; - -@Pink-50:#fce4ec; -@Pink-100:#f8bbd0; -@Pink-200:#f48fb1; -@Pink-300:#f06292; -@Pink-400:#ec407a; -@Pink-500:#e91e63; -@Pink-600:#d81b60; -@Pink-700:#c2185b; -@Pink-800:#ad1457; -@Pink-900:#880e4f; -@Pink-A100:#ff80ab; -@Pink-A200:#ff4081; -@Pink-A400:#f50057; -@Pink-A700:#c51162; - -@Purple-50:#f3e5f5; -@Purple-100:#e1bee7; -@Purple-200:#ce93d8; -@Purple-300:#ba68c8; -@Purple-400:#ab47bc; -@Purple-500:#9c27b0; -@Purple-600:#8e24aa; -@Purple-700:#7b1fa2; -@Purple-800:#6a1b9a; -@Purple-900:#4a148c; -@Purple-A100:#ea80fc; -@Purple-A200:#e040fb; -@Purple-A400:#d500f9; -@Purple-A700:#aa00ff; - -@DeepPurple-50:#ede7f6; -@DeepPurple-50100:#d1c4e9; -@DeepPurple-50200:#b39ddb; -@DeepPurple-50300:#9575cd; -@DeepPurple-50400:#7e57c2; -@DeepPurple-50500:#673ab7; -@DeepPurple-50600:#5e35b1; -@DeepPurple-50700:#512da8; -@DeepPurple-50800:#4527a0; -@DeepPurple-50900:#311b92; -@DeepPurple-50A100:#b388ff; -@DeepPurple-50A200:#7c4dff; -@DeepPurple-50A400:#651fff; -@DeepPurple-50A700:#6200ea; - -@Indigo-50:#e8eaf6; -@Indigo-100:#c5cae9; -@Indigo-200:#9fa8da; -@Indigo-300:#7986cb; -@Indigo-400:#5c6bc0; -@Indigo-500:#3f51b5; -@Indigo-600:#3949ab; -@Indigo-700:#303f9f; -@Indigo-800:#283593; -@Indigo-900:#1a237e; -@Indigo-A100:#8c9eff; -@Indigo-A200:#536dfe; -@Indigo-A400:#3d5afe; -@Indigo-A700:#304ffe; - -@Blue-50:#e3f2fd; -@Blue-100:#bbdefb; -@Blue-200:#90caf9; -@Blue-300:#64b5f6; -@Blue-400:#42a5f5; -@Blue-500:#2196f3; -@Blue-600:#1e88e5; -@Blue-700:#1976d2; -@Blue-800:#1565c0; -@Blue-900:#0d47a1; -@Blue-A100:#82b1ff; -@Blue-A200:#448aff; -@Blue-A400:#2979ff; -@Blue-A700:#2962ff; - -@LightBlue-50:#e1f5fe; -@LightBlue-100:#b3e5fc; -@LightBlue-200:#81d4fa; -@LightBlue-300:#4fc3f7; -@LightBlue-400:#29b6f6; -@LightBlue-500:#03a9f4; -@LightBlue-600:#039be5; -@LightBlue-700:#0288d1; -@LightBlue-800:#0277bd; -@LightBlue-900:#01579b; -@LightBlue-A100:#80d8ff; -@LightBlue-A200:#40c4ff; -@LightBlue-A400:#00b0ff; -@LightBlue-A700:#0091ea; - -@Cyan-50:#e0f7fa; -@Cyan-100:#b2ebf2; -@Cyan-200:#80deea; -@Cyan-300:#4dd0e1; -@Cyan-400:#26c6da; -@Cyan-500:#00bcd4; -@Cyan-600:#00acc1; -@Cyan-700:#0097a7; -@Cyan-800:#00838f; -@Cyan-900:#006064; -@Cyan-A100:#84ffff; -@Cyan-A200:#18ffff; -@Cyan-A400:#00e5ff; -@Cyan-A700:#00b8d4; - -@Teal-50:#e0f2f1; -@Teal-100:#b2dfdb; -@Teal-200:#80cbc4; -@Teal-300:#4db6ac; -@Teal-400:#26a69a; -@Teal-500:#009688; -@Teal-600:#00897b; -@Teal-700:#00796b; -@Teal-800:#00695c; -@Teal-900:#004d40; -@Teal-A100:#a7ffeb; -@Teal-A200:#64ffda; -@Teal-A400:#1de9b6; -@Teal-A700:#00bfa5; - -@Green-50:#e8f5e9; -@Green-100:#c8e6c9; -@Green-200:#a5d6a7; -@Green-300:#81c784; -@Green-400:#66bb6a; -@Green-500:#4caf50; -@Green-600:#43a047; -@Green-700:#388e3c; -@Green-800:#2e7d32; -@Green-900:#1b5e20; -@Green-A100:#b9f6ca; -@Green-A200:#69f0ae; -@Green-A400:#00e676; -@Green-A700:#00c853; - -@LightGreen-50:#f1f8e9; -@LightGreen-100:#dcedc8; -@LightGreen-200:#c5e1a5; -@LightGreen-300:#aed581; -@LightGreen-400:#9ccc65; -@LightGreen-500:#8bc34a; -@LightGreen-600:#7cb342; -@LightGreen-700:#689f38; -@LightGreen-800:#558b2f; -@LightGreen-900:#33691e; -@LightGreen-A100:#ccff90; -@LightGreen-A200:#b2ff59; -@LightGreen-A400:#76ff03; -@LightGreen-A700:#64dd17; - -@Lime-50:#f9fbe7; -@Lime-100:#f0f4c3; -@Lime-200:#e6ee9c; -@Lime-300:#dce775; -@Lime-400:#d4e157; -@Lime-500:#cddc39; -@Lime-600:#c0ca33; -@Lime-700:#afb42b; -@Lime-800:#9e9d24; -@Lime-900:#827717; -@Lime-A100:#f4ff81; -@Lime-A200:#eeff41; -@Lime-A400:#c6ff00; -@Lime-A700:#aeea00; - -@Yellow-50:#fffde7; -@Yellow-100:#fff9c4; -@Yellow-200:#fff59d; -@Yellow-300:#fff176; -@Yellow-400:#ffee58; -@Yellow-500:#ffeb3b; -@Yellow-600:#fdd835; -@Yellow-700:#fbc02d; -@Yellow-800:#f9a825; -@Yellow-900:#f57f17; -@Yellow-A100:#ffff8d; -@Yellow-A200:#ffff00; -@Yellow-A400:#ffea00; -@Yellow-A700:#ffd600; - -@Amber-50:#fff8e1; -@Amber-100:#ffecb3; -@Amber-200:#ffe082; -@Amber-300:#ffd54f; -@Amber-400:#ffca28; -@Amber-500:#ffc107; -@Amber-600:#ffb300; -@Amber-700:#ffa000; -@Amber-800:#ff8f00; -@Amber-900:#ff6f00; -@Amber-A100:#ffe57f; -@Amber-A200:#ffd740; -@Amber-A400:#ffc400; -@Amber-A700:#ffab00; - -@Orange-50:#fff3e0; -@Orange-100:#ffe0b2; -@Orange-200:#ffcc80; -@Orange-300:#ffb74d; -@Orange-400:#ffa726; -@Orange-500:#ff9800; -@Orange-600:#fb8c00; -@Orange-700:#f57c00; -@Orange-800:#ef6c00; -@Orange-900:#e65100; -@Orange-A100:#ffd180; -@Orange-A200:#ffab40; -@Orange-A400:#ff9100; -@Orange-A700:#ff6d00; - -@DeepOrange-50:#fbe9e7; -@DeepOrange-100:#ffccbc; -@DeepOrange-200:#ffab91; -@DeepOrange-300:#ff8a65; -@DeepOrange-400:#ff7043; -@DeepOrange-500:#ff5722; -@DeepOrange-600:#f4511e; -@DeepOrange-700:#e64a19; -@DeepOrange-800:#d84315; -@DeepOrange-900:#bf360c; -@DeepOrange-A100:#ff9e80; -@DeepOrange-A200:#ff6e40; -@DeepOrange-A400:#ff3d00; -@DeepOrange-A700:#dd2c00; - -@Brown-50:#efebe9; -@Brown-100:#d7ccc8; -@Brown-200:#bcaaa4; -@Brown-300:#a1887f; -@Brown-400:#8d6e63; -@Brown-500:#795548; -@Brown-600:#6d4c41; -@Brown-700:#5d4037; -@Brown-800:#4e342e; -@Brown-900:#3e2723; - -@Grey-50:#fafafa; -@Grey-100:#f5f5f5; -@Grey-200:#eeeeee; -@Grey-300:#e0e0e0; -@Grey-400:#bdbdbd; -@Grey-500:#9e9e9e; -@Grey-600:#757575; -@Grey-700:#616161; -@Grey-800:#424242; -@Grey-900:#212121; - -@BlueGrey-50:#eceff1; -@BlueGrey-100:#cfd8dc; -@BlueGrey-200:#b0bec5; -@BlueGrey-300:#90a4ae; -@BlueGrey-400:#78909c; -@BlueGrey-500:#607d8b; -@BlueGrey-600:#546e7a; -@BlueGrey-700:#455a64; -@BlueGrey-800:#37474f; -@BlueGrey-900:#263238; \ No newline at end of file diff --git a/Website/wwwroot/css/material_colours.scss b/Website/wwwroot/css/material_colours.scss new file mode 100644 index 0000000..1b82718 --- /dev/null +++ b/Website/wwwroot/css/material_colours.scss @@ -0,0 +1,272 @@ +$Red-50:#ffebee; +$Red-100:#ffcdd2; +$Red-200:#ef9a9a; +$Red-300:#e57373; +$Red-400:#ef5350; +$Red-500:#f44336; +$Red-600:#e53935; +$Red-700:#d32f2f; +$Red-800:#c62828; +$Red-900:#b71c1c; +$Red-A100:#ff8a80; +$Red-A200:#ff5252; +$Red-A400:#ff1744; +$Red-A700:#d50000; + +$Pink-50:#fce4ec; +$Pink-100:#f8bbd0; +$Pink-200:#f48fb1; +$Pink-300:#f06292; +$Pink-400:#ec407a; +$Pink-500:#e91e63; +$Pink-600:#d81b60; +$Pink-700:#c2185b; +$Pink-800:#ad1457; +$Pink-900:#880e4f; +$Pink-A100:#ff80ab; +$Pink-A200:#ff4081; +$Pink-A400:#f50057; +$Pink-A700:#c51162; + +$Purple-50:#f3e5f5; +$Purple-100:#e1bee7; +$Purple-200:#ce93d8; +$Purple-300:#ba68c8; +$Purple-400:#ab47bc; +$Purple-500:#9c27b0; +$Purple-600:#8e24aa; +$Purple-700:#7b1fa2; +$Purple-800:#6a1b9a; +$Purple-900:#4a148c; +$Purple-A100:#ea80fc; +$Purple-A200:#e040fb; +$Purple-A400:#d500f9; +$Purple-A700:#aa00ff; + +$DeepPurple-50:#ede7f6; +$DeepPurple-50100:#d1c4e9; +$DeepPurple-50200:#b39ddb; +$DeepPurple-50300:#9575cd; +$DeepPurple-50400:#7e57c2; +$DeepPurple-50500:#673ab7; +$DeepPurple-50600:#5e35b1; +$DeepPurple-50700:#512da8; +$DeepPurple-50800:#4527a0; +$DeepPurple-50900:#311b92; +$DeepPurple-50A100:#b388ff; +$DeepPurple-50A200:#7c4dff; +$DeepPurple-50A400:#651fff; +$DeepPurple-50A700:#6200ea; + +$Indigo-50:#e8eaf6; +$Indigo-100:#c5cae9; +$Indigo-200:#9fa8da; +$Indigo-300:#7986cb; +$Indigo-400:#5c6bc0; +$Indigo-500:#3f51b5; +$Indigo-600:#3949ab; +$Indigo-700:#303f9f; +$Indigo-800:#283593; +$Indigo-900:#1a237e; +$Indigo-A100:#8c9eff; +$Indigo-A200:#536dfe; +$Indigo-A400:#3d5afe; +$Indigo-A700:#304ffe; + +$Blue-50:#e3f2fd; +$Blue-100:#bbdefb; +$Blue-200:#90caf9; +$Blue-300:#64b5f6; +$Blue-400:#42a5f5; +$Blue-500:#2196f3; +$Blue-600:#1e88e5; +$Blue-700:#1976d2; +$Blue-800:#1565c0; +$Blue-900:#0d47a1; +$Blue-A100:#82b1ff; +$Blue-A200:#448aff; +$Blue-A400:#2979ff; +$Blue-A700:#2962ff; + +$LightBlue-50:#e1f5fe; +$LightBlue-100:#b3e5fc; +$LightBlue-200:#81d4fa; +$LightBlue-300:#4fc3f7; +$LightBlue-400:#29b6f6; +$LightBlue-500:#03a9f4; +$LightBlue-600:#039be5; +$LightBlue-700:#0288d1; +$LightBlue-800:#0277bd; +$LightBlue-900:#01579b; +$LightBlue-A100:#80d8ff; +$LightBlue-A200:#40c4ff; +$LightBlue-A400:#00b0ff; +$LightBlue-A700:#0091ea; + +$Cyan-50:#e0f7fa; +$Cyan-100:#b2ebf2; +$Cyan-200:#80deea; +$Cyan-300:#4dd0e1; +$Cyan-400:#26c6da; +$Cyan-500:#00bcd4; +$Cyan-600:#00acc1; +$Cyan-700:#0097a7; +$Cyan-800:#00838f; +$Cyan-900:#006064; +$Cyan-A100:#84ffff; +$Cyan-A200:#18ffff; +$Cyan-A400:#00e5ff; +$Cyan-A700:#00b8d4; + +$Teal-50:#e0f2f1; +$Teal-100:#b2dfdb; +$Teal-200:#80cbc4; +$Teal-300:#4db6ac; +$Teal-400:#26a69a; +$Teal-500:#009688; +$Teal-600:#00897b; +$Teal-700:#00796b; +$Teal-800:#00695c; +$Teal-900:#004d40; +$Teal-A100:#a7ffeb; +$Teal-A200:#64ffda; +$Teal-A400:#1de9b6; +$Teal-A700:#00bfa5; + +$Green-50:#e8f5e9; +$Green-100:#c8e6c9; +$Green-200:#a5d6a7; +$Green-300:#81c784; +$Green-400:#66bb6a; +$Green-500:#4caf50; +$Green-600:#43a047; +$Green-700:#388e3c; +$Green-800:#2e7d32; +$Green-900:#1b5e20; +$Green-A100:#b9f6ca; +$Green-A200:#69f0ae; +$Green-A400:#00e676; +$Green-A700:#00c853; + +$LightGreen-50:#f1f8e9; +$LightGreen-100:#dcedc8; +$LightGreen-200:#c5e1a5; +$LightGreen-300:#aed581; +$LightGreen-400:#9ccc65; +$LightGreen-500:#8bc34a; +$LightGreen-600:#7cb342; +$LightGreen-700:#689f38; +$LightGreen-800:#558b2f; +$LightGreen-900:#33691e; +$LightGreen-A100:#ccff90; +$LightGreen-A200:#b2ff59; +$LightGreen-A400:#76ff03; +$LightGreen-A700:#64dd17; + +$Lime-50:#f9fbe7; +$Lime-100:#f0f4c3; +$Lime-200:#e6ee9c; +$Lime-300:#dce775; +$Lime-400:#d4e157; +$Lime-500:#cddc39; +$Lime-600:#c0ca33; +$Lime-700:#afb42b; +$Lime-800:#9e9d24; +$Lime-900:#827717; +$Lime-A100:#f4ff81; +$Lime-A200:#eeff41; +$Lime-A400:#c6ff00; +$Lime-A700:#aeea00; + +$Yellow-50:#fffde7; +$Yellow-100:#fff9c4; +$Yellow-200:#fff59d; +$Yellow-300:#fff176; +$Yellow-400:#ffee58; +$Yellow-500:#ffeb3b; +$Yellow-600:#fdd835; +$Yellow-700:#fbc02d; +$Yellow-800:#f9a825; +$Yellow-900:#f57f17; +$Yellow-A100:#ffff8d; +$Yellow-A200:#ffff00; +$Yellow-A400:#ffea00; +$Yellow-A700:#ffd600; + +$Amber-50:#fff8e1; +$Amber-100:#ffecb3; +$Amber-200:#ffe082; +$Amber-300:#ffd54f; +$Amber-400:#ffca28; +$Amber-500:#ffc107; +$Amber-600:#ffb300; +$Amber-700:#ffa000; +$Amber-800:#ff8f00; +$Amber-900:#ff6f00; +$Amber-A100:#ffe57f; +$Amber-A200:#ffd740; +$Amber-A400:#ffc400; +$Amber-A700:#ffab00; + +$Orange-50:#fff3e0; +$Orange-100:#ffe0b2; +$Orange-200:#ffcc80; +$Orange-300:#ffb74d; +$Orange-400:#ffa726; +$Orange-500:#ff9800; +$Orange-600:#fb8c00; +$Orange-700:#f57c00; +$Orange-800:#ef6c00; +$Orange-900:#e65100; +$Orange-A100:#ffd180; +$Orange-A200:#ffab40; +$Orange-A400:#ff9100; +$Orange-A700:#ff6d00; + +$DeepOrange-50:#fbe9e7; +$DeepOrange-100:#ffccbc; +$DeepOrange-200:#ffab91; +$DeepOrange-300:#ff8a65; +$DeepOrange-400:#ff7043; +$DeepOrange-500:#ff5722; +$DeepOrange-600:#f4511e; +$DeepOrange-700:#e64a19; +$DeepOrange-800:#d84315; +$DeepOrange-900:#bf360c; +$DeepOrange-A100:#ff9e80; +$DeepOrange-A200:#ff6e40; +$DeepOrange-A400:#ff3d00; +$DeepOrange-A700:#dd2c00; + +$Brown-50:#efebe9; +$Brown-100:#d7ccc8; +$Brown-200:#bcaaa4; +$Brown-300:#a1887f; +$Brown-400:#8d6e63; +$Brown-500:#795548; +$Brown-600:#6d4c41; +$Brown-700:#5d4037; +$Brown-800:#4e342e; +$Brown-900:#3e2723; + +$Grey-50:#fafafa; +$Grey-100:#f5f5f5; +$Grey-200:#eeeeee; +$Grey-300:#e0e0e0; +$Grey-400:#bdbdbd; +$Grey-500:#9e9e9e; +$Grey-600:#757575; +$Grey-700:#616161; +$Grey-800:#424242; +$Grey-900:#212121; + +$BlueGrey-50:#eceff1; +$BlueGrey-100:#cfd8dc; +$BlueGrey-200:#b0bec5; +$BlueGrey-300:#90a4ae; +$BlueGrey-400:#78909c; +$BlueGrey-500:#607d8b; +$BlueGrey-600:#546e7a; +$BlueGrey-700:#455a64; +$BlueGrey-800:#37474f; +$BlueGrey-900:#263238; \ No newline at end of file diff --git a/Website/wwwroot/css/style.less b/Website/wwwroot/css/style.scss similarity index 80% rename from Website/wwwroot/css/style.less rename to Website/wwwroot/css/style.scss index 10d9915..3b706f1 100644 --- a/Website/wwwroot/css/style.less +++ b/Website/wwwroot/css/style.scss @@ -1,8 +1,8 @@ @import url('https://fonts.googleapis.com/css?family=Public+Sans&display=swap'); -@import "colours.less"; -@fa-font-path: "../webfonts"; -@import "../../node_modules/@fortawesome/fontawesome-free/less/fontawesome.less"; -@import "../../node_modules/@fortawesome/fontawesome-free/less/solid.less"; +@import "colours.scss"; +$fa-font-path: "../webfonts"; +@import "../../node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss"; +@import "../../node_modules/@fortawesome/fontawesome-free/scss/solid.scss"; * { box-sizing: border-box; @@ -24,8 +24,8 @@ body { color: #333; } -::selection{ - background: @primary; +::selection { + background: $primary; color: white } @@ -39,11 +39,11 @@ body { } a { - color: @primary; + color: $primary; position: relative; text-decoration: none; - background: linear-gradient(to bottom, @primary 0%, @primary 0%); + background: linear-gradient(to bottom, $primary 0%, $primary 0%); background-position: 0 100%; background-size: 0px 0px; background-repeat: repeat-y; @@ -56,15 +56,20 @@ a { &[href^="http"] { &:after { - .fa-icon; - .fas; - content: @fa-var-external-link-alt; + @extend %fa-icon; + @extend .fas; + content: $fa-var-external-link-alt; margin-left: 5px; } } } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { &:first-child { margin-top: 0; } @@ -128,7 +133,7 @@ h1, h2, h3, h4, h5, h6 { height: 200px; border: 5px solid white; border-radius: 50%; - box-shadow: 0px 0px 5px 0px rgba(0,0,0,1); + box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 1); z-index: 0; } } @@ -145,20 +150,21 @@ h1, h2, h3, h4, h5, h6 { nav { flex: 0 0 250px; - border-left: 1px solid @Grey-400; + border-left: 1px solid $Grey-400; margin: 20px 0; padding: 0 10px; - #menu-toggle, [for="menu-toggle"] { + #menu-toggle, + [for="menu-toggle"] { display: none; } - .nav-list{ + .nav-list { list-style-type: none; margin: 0; padding: 0; - &__link{ + &__link { margin-bottom: 10px; } } @@ -176,8 +182,9 @@ footer { } } -button, .button { - background: @accent; +button, +.button { + background: $accent; border: none; box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.25); padding: 10px 20px; @@ -188,7 +195,7 @@ button, .button { .round-button { border-radius: 50%; - background: @accent; + background: $accent; padding: 0; width: 40px; height: 40px; @@ -206,7 +213,7 @@ form { } } -@import "blog.less"; +@import "blog.scss"; @media screen and (max-width: 992px) { @@ -219,7 +226,7 @@ form { nav { flex: 1 1 auto; - border:none; + border: none; margin: 0; padding: 30px; @@ -229,7 +236,7 @@ form { height: 32px; } - #menu-toggle:checked + .nav-container{ + #menu-toggle:checked+.nav-container { max-height: 1000px; margin-top: 20px; opacity: 1; @@ -239,10 +246,10 @@ form { display: inline; } - .nav-container{ + .nav-container { max-height: 0; overflow: hidden; - transition:all 0.5s ease-out; + transition: all 0.5s ease-out; opacity: 0; } @@ -252,14 +259,14 @@ form { } } - .header{ + .header { padding: 20px 10px; &__blurb { padding: 20px 10px; } - &__headshot{ + &__headshot { width: 40vw; height: 40vw; max-width: 200px;