diff --git a/.cache/assets/static/favicon.ac8d93a.9bb7ffa.png b/.cache/assets/static/favicon.ac8d93a.9bb7ffa.png new file mode 100644 index 0000000..1a62057 Binary files /dev/null and b/.cache/assets/static/favicon.ac8d93a.9bb7ffa.png differ diff --git a/.cache/assets/static/favicon.ce0531f.9bb7ffa.png b/.cache/assets/static/favicon.ce0531f.9bb7ffa.png new file mode 100644 index 0000000..745921e Binary files /dev/null and b/.cache/assets/static/favicon.ce0531f.9bb7ffa.png differ diff --git a/package-lock.json b/package-lock.json index db010fb..864a278 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1140,6 +1140,12 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "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 + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -1185,6 +1191,12 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, + "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": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", @@ -1411,6 +1423,12 @@ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1863,6 +1881,15 @@ "safe-buffer": "^5.1.1" } }, + "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" + } + }, "bluebird": { "version": "3.5.5", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", @@ -2337,11 +2364,81 @@ "restore-cursor": "^2.0.0" } }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "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", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + } + } + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + } + }, "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", @@ -3996,6 +4093,15 @@ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -4615,6 +4721,18 @@ } } }, + "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", @@ -4668,6 +4786,21 @@ } } }, + "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-proxy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", @@ -4761,6 +4894,17 @@ "slash": "^2.0.0" } }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, "got": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", @@ -5477,6 +5621,12 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -5526,6 +5676,12 @@ "loose-envify": "^1.0.0" } }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, "ipaddr.js": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", @@ -5893,6 +6049,12 @@ "topo": "3.x.x" } }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "dev": true + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -6014,6 +6176,15 @@ "webpack-sources": "^1.1.0" } }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, "linkify-it": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.4.tgz", @@ -6105,6 +6276,12 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, "lodash.template": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", @@ -6585,6 +6762,24 @@ } } }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -6697,6 +6892,45 @@ "semver": "^5.4.1" } }, + "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 + }, + "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" + } + } + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -6752,11 +6986,107 @@ "semver": "^5.3.0" } }, + "node-sass": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", + "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.11", + "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-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^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 + } + } + }, "noop-logger": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, + "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", @@ -7005,6 +7335,31 @@ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "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" + } + }, "ow": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/ow/-/ow-0.8.0.tgz", @@ -8297,6 +8652,18 @@ } } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -8408,6 +8775,40 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "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, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "sass-loader": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", + "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "dev": true, + "requires": { + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -8423,6 +8824,27 @@ "ajv-keywords": "^3.1.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" + } + } + } + }, "seek-bzip": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", @@ -8562,6 +8984,25 @@ "safe-buffer": "^5.0.1" } }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "sharp": { "version": "0.22.1", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz", @@ -9001,6 +9442,15 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "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-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -9463,6 +9913,15 @@ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, + "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" + } + }, "ts-invariant": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", @@ -10141,6 +10600,12 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, "which-pm-runs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", @@ -10199,6 +10664,93 @@ "js-yaml": "^3.5.2" } }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "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", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/package.json b/package.json index feceefc..3437def 100644 --- a/package.json +++ b/package.json @@ -14,5 +14,9 @@ "hyphenopoly": "^3.1.1", "pagedjs": "^0.1.34", "vue-markdown": "^2.2.4" + }, + "devDependencies": { + "node-sass": "^4.12.0", + "sass-loader": "^7.1.0" } } diff --git a/src/.temp/now.js b/src/.temp/now.js index d357dfc..afd089a 100644 --- a/src/.temp/now.js +++ b/src/.temp/now.js @@ -1 +1 @@ -export default 1562589257983 \ No newline at end of file +export default 1562665742297 \ No newline at end of file diff --git a/src/css/font.scss b/src/css/font.scss new file mode 100644 index 0000000..78b7fb2 --- /dev/null +++ b/src/css/font.scss @@ -0,0 +1,23 @@ +@font-face { + font-family: 'Cormorant'; + src: url('../fonts/Cormorant-Light.ttf'); + font-weight: 200; +} +@font-face { + font-family: 'TextaAlt'; + src: url('../fonts/TextaAlt-Bold.otf'); + font-weight: 800; +} +@font-face { + font-family: 'Texta'; + src: url('../fonts/Texta-Black.otf'); + font-weight: 800; +} +@font-face { + font-family: 'Duke POPSU'; + src: url('../fonts/Duke-POPSU.ttf'); +} +@font-face { + font-family: "SGI-TextAlt"; + src: url("../fonts/SGI-TextAlt.otf") format("opentype"); +} diff --git a/src/css/gabarits.scss b/src/css/gabarits.scss new file mode 100644 index 0000000..24d8f25 --- /dev/null +++ b/src/css/gabarits.scss @@ -0,0 +1,38 @@ +@import 'parametres'; + +@media print { + @page { + size: $largeur $hauteur; + margin: $marge; + } + @page :left { + @bottom-left { + content: counter(page); + font-size: 12pt; + font-family: 'Duke POPSU'; + transform: translateX(-1cm); + } + } + @page :right { + @bottom-right { + content: counter(page); + font-size: 12pt; + font-family: 'Duke POPSU'; + transform: translateX(1cm); + } + } + @page imagecover { + size: $largeur $hauteur; + margin: 0cm; + } + @page nofolio :left { + @bottom-left { + content: unset; + } + } + @page nofolio :right { + @bottom-right { + content: unset; + } + } +} diff --git a/src/css/parametres.scss b/src/css/parametres.scss new file mode 100644 index 0000000..552a75b --- /dev/null +++ b/src/css/parametres.scss @@ -0,0 +1,5 @@ +// parametres du document +$largeur: 148mm; +$hauteur: 210mm; +$marge: 2cm; +$font-de-base: 10pt; diff --git a/src/css/print.css b/src/css/print.css deleted file mode 100644 index 141e163..0000000 --- a/src/css/print.css +++ /dev/null @@ -1,209 +0,0 @@ -@font-face { - font-family: 'Cormorant'; - src: url('../fonts/Cormorant-Light.ttf'); - font-weight: 200; -} -@font-face { - font-family: 'TextaAlt'; - src: url('../fonts/TextaAlt-Bold.otf'); - font-weight: 800; -} -@font-face { - font-family: 'Texta'; - src: url('../fonts/Texta-Black.otf'); - font-weight: 800; -} -@font-face { - font-family: 'Duke POPSU'; - src: url('../fonts/Duke-POPSU.ttf'); -} -@font-face { - font-family: "SGI-TextAlt"; - src: url("../fonts/SGI-TextAlt.otf") format("opentype"); -} -.pagedjs_page_content>div { - height: 100%; -} -.layout { - display: flex; - flex-direction: column; - height: 100%; -} -.grow{ - flex:1; -} -.no-folio{ - page: nofolio; -} -.blank-page{ - page-break-after: always; -} -.column { - flex: 1; - display: flex; - flex-direction: column; -} -.justify-end { - justify-content: flex-end; -} -.capital { - text-transform: uppercase; - font-size: 12pt; -} -body { - font-size: 10pt; -} -@media print { - @page { - size: 148mm 210mm; - margin: 2cm; - } - @page :left { - @bottom-left { - content: counter(page); - font-weight: 12pt; - font-family: 'Duke POPSU'; - transform: translateX(-1cm); - } - } - @page :right { - @bottom-right { - content: counter(page); - font-weight: 12pt; - font-family: 'Duke POPSU'; - transform: translateX(1cm); - } - } - @page imagecover { - size: 148mm 210mm; - margin: 0cm; - } - - @page nofolio :left { - @bottom-left { - content: unset; - } - } - @page nofolio :right { - @bottom-right { - content: unset; - } - } - - .table-of-content a { - text-decoration: none; - color: inherit; - } - .table-of-content a::after { - font-size: 9pt; - margin-left: 10pt; - content: target-counter(attr(href), page); - font-family: "SGI-TextAlt"; - } -} -.table-of-content { - font-family: "Cormorant"; - font-weight: 200; - font-size: 25pt; - line-height: 33pt; - margin: 0; -} -.chapter-title { - font-family: "Cormorant"; - font-weight: 200; - font-size: 34pt; - line-height: 34pt; - text-align: right; -} -.canbreak{ - page-break-before: always; -} -.chapter-title:after { - content: "++++"; - display: block; - font-family: inherit; - font-weight: 200; - font-size: 10pt; - letter-spacing: 4pt; -} -.section-title { - font-family: "TextaAlt"; - font-weight: 800; - font-size: 12pt; -} -.chapter-content { - hyphens: auto; - font-family: "Cormorant"; - font-weight: 200; - font-size: 10pt; - line-height: 18pt; -} -.section-content { - hyphens: auto; - font-family: "SGI-TextAlt"; - font-size:9.5pt; - font-weight: 200; - line-height: 18pt; -} -.justify p{ - text-align: justify; - text-align-last: left !important; - - hyphens: auto; -} -.image-cover { - page: imagecover; - background-size: cover; - background-position: center; - background-color: lightgray; - background-repeat: no-repeat; -} -.cover-left{ - background-position:0% 50%; -} -.cover-right{ - background-position:-148mm 50%; -} -.pre-title{ - font-family: "Duke POPSU"; - font-size: 45pt; - line-height: 33pt; -} -.pre-sub-title{ - font-family: "Texa"; - font-weight: 800; - font-size: 10pt; - line-height: 13pt; -} - -.main-title{ - font-family: "Duke POPSU"; - font-size: 60pt; - line-height: 48pt; - margin: 0; -} -.main-sub-title{ - font-family: "Texa"; - font-weight: 800; - font-size: 12pt; - line-height: 15pt; -} -.bold { - font-family: "TextaAlt"; - font-weight: 800; - font-size: 12pt; - text-transform: uppercase; -} -.center{ - text-align: center; -} - -.green{ - background-blend-mode:screen; - background-color: green; -} -.v-center{ - display: flex; - flex-direction: column; - justify-content: center; -} diff --git a/src/css/print.scss b/src/css/print.scss new file mode 100644 index 0000000..8ed5cdb --- /dev/null +++ b/src/css/print.scss @@ -0,0 +1,70 @@ +@import 'parametres'; +@import 'font'; +@import 'screen'; +@import 'gabarits'; +@import 'styles_de_paragraphes'; +@import 'styles_de_caracteres'; + +body { + font-size: $font-de-base; + counter-reset: footnote; +} +.pagedjs_page_content>div { + height: 100%; +} +.layout { + display: flex; + flex-direction: column; + height: 100%; +} +.grow{ + flex:1; +} +.no-folio{ + page: nofolio; +} +.blank-page{ + page-break-after: always; +} +.column { + flex: 1; + display: flex; + flex-direction: column; +} +.justify-end { + justify-content: flex-end; +} +.canbreak{ + page-break-before: always; +} +.image-cover { + page: imagecover; + background-size: cover; + background-position: center; + background-color: lightgray; + background-repeat: no-repeat; +} +.cover-left{ + background-position:0% 50%; +} +.cover-right{ + background-position:-148mm 50%; +} +.green{ + background-blend-mode:screen; + background-color: green; +} +.v-center{ + display: flex; + flex-direction: column; + justify-content: center; +} +[data-note] { + position: relative; + counter-increment: footnote; +} +[data-note]::after { + position: absolute; + content: counter(footnote); + transform: translateY(-10px); +} diff --git a/src/css/screen.scss b/src/css/screen.scss new file mode 100644 index 0000000..2ae1cd3 --- /dev/null +++ b/src/css/screen.scss @@ -0,0 +1,21 @@ +@media screen { + body { + background-color: whitesmoke; + display:flex; + flex-direction:column; + align-items:center; + } + .pagedjs_pages{ + display:grid; + grid-row-gap:1cm; + grid-template-columns: 1fr 1fr; + } + .pagedjs_page:first-child{ + grid-column:2; + } + .pagedjs_page { + background-color: #fdfdfd; + flex: none; + box-shadow: 0 0 1px rgba(0,0,0,0.2); + } +} diff --git a/src/css/styles_de_caracteres.scss b/src/css/styles_de_caracteres.scss new file mode 100644 index 0000000..cccc900 --- /dev/null +++ b/src/css/styles_de_caracteres.scss @@ -0,0 +1,13 @@ +.bold { + font-family: "TextaAlt"; + font-weight: 800; + font-size: 12pt; + text-transform: uppercase; +} +.capital { + text-transform: uppercase; + font-size: 12pt; +} +.center{ + text-align: center; +} diff --git a/src/css/styles_de_paragraphes.scss b/src/css/styles_de_paragraphes.scss new file mode 100644 index 0000000..9d017b9 --- /dev/null +++ b/src/css/styles_de_paragraphes.scss @@ -0,0 +1,80 @@ +.pre-title{ + font-family: "Duke POPSU"; + font-size: 45pt; + line-height: 33pt; +} +.pre-sub-title{ + font-family: "Texa"; + font-weight: 800; + font-size: 10pt; + line-height: 13pt; +} +.main-title{ + font-family: "Duke POPSU"; + font-size: 60pt; + line-height: 48pt; + margin: 0; +} +.main-sub-title{ + font-family: "Texa"; + font-weight: 800; + font-size: 12pt; + line-height: 15pt; +} +.table-of-content { + font-family: "Cormorant"; + font-weight: 200; + font-size: 25pt; + line-height: 33pt; + margin: 0; + a { + text-decoration: none; + color: inherit; + } + a::after { + font-size: 9pt; + margin-left: 10pt; + content: target-counter(attr(href), page); + font-family: "SGI-TextAlt"; + } +} +.chapter-title { + font-family: "Cormorant"; + font-weight: 200; + font-size: 34pt; + line-height: 34pt; + text-align: right; +} +.chapter-title:after { + content: "++++"; + display: block; + font-family: inherit; + font-weight: 200; + font-size: 10pt; + letter-spacing: 4pt; +} +.section-title { + font-family: "TextaAlt"; + font-weight: 800; + font-size: 12pt; +} +.chapter-content { + hyphens: auto; + font-family: "Cormorant"; + font-weight: 200; + font-size: 10pt; + line-height: 18pt; +} +.section-content { + hyphens: auto; + font-family: "SGI-TextAlt"; + font-size:9.5pt; + font-weight: 200; + line-height: 18pt; +} +// texte justifié par defaut +.justify p{ + text-align: justify; + text-align-last: left !important; + hyphens: auto; +} diff --git a/src/main.js b/src/main.js index fa3c191..87f486b 100644 --- a/src/main.js +++ b/src/main.js @@ -1,7 +1,7 @@ // This is the main.js file. Import global CSS and scripts here. // The Client API can be used here. Learn more: gridsome.org/docs/client-api import DefaultLayout from '~/layouts/Default.vue' -import '~/css/print.css' +import '~/css/print.scss' export default function (Vue, { router, head, isClient }) { // Set default layout as a global component diff --git a/src/pages/Index.vue b/src/pages/Index.vue index 967f5db..cea8200 100644 --- a/src/pages/Index.vue +++ b/src/pages/Index.vue @@ -1,16 +1,11 @@ @@ -96,8 +86,12 @@ query { import { Previewer } from 'pagedjs'; - import css from '~/css/print.css' export default { + data:function(){ + return{ + footnote:[], + } + }, components: { VueMarkdown }, @@ -111,6 +105,9 @@ query { } }, mounted() { + Array.from(document.querySelectorAll("span[data-note]")).forEach(note=>{ + this.footnote.push(note.getAttribute("data-note")); + }); this.$nextTick(function () { let hyphenopoly = document.createElement('script'), hyph = document.createElement('script'); @@ -124,33 +121,8 @@ query { setTimeout(()=>{ let previewer = new Previewer(); previewer.preview() - },1000) }) } } - -