- commit
- 7b1d517
- parent
- cea4f35
- author
- CheddarCrisp
- date
- 2020-03-07 16:46:39 +0100 CET
Add icons and make installable Change up some colors
21 files changed,
+318,
-4
+154,
-0
1@@ -506,6 +506,12 @@
2 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
3 "dev": true
4 },
5+ "ast-types": {
6+ "version": "0.9.6",
7+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
8+ "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
9+ "dev": true
10+ },
11 "async": {
12 "version": "1.5.2",
13 "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
14@@ -1201,6 +1207,57 @@
15 "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
16 "dev": true
17 },
18+ "copy-webpack-plugin": {
19+ "version": "5.1.1",
20+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz",
21+ "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==",
22+ "dev": true,
23+ "requires": {
24+ "cacache": "^12.0.3",
25+ "find-cache-dir": "^2.1.0",
26+ "glob-parent": "^3.1.0",
27+ "globby": "^7.1.1",
28+ "is-glob": "^4.0.1",
29+ "loader-utils": "^1.2.3",
30+ "minimatch": "^3.0.4",
31+ "normalize-path": "^3.0.0",
32+ "p-limit": "^2.2.1",
33+ "schema-utils": "^1.0.0",
34+ "serialize-javascript": "^2.1.2",
35+ "webpack-log": "^2.0.0"
36+ },
37+ "dependencies": {
38+ "globby": {
39+ "version": "7.1.1",
40+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
41+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
42+ "dev": true,
43+ "requires": {
44+ "array-union": "^1.0.1",
45+ "dir-glob": "^2.0.0",
46+ "glob": "^7.1.2",
47+ "ignore": "^3.3.5",
48+ "pify": "^3.0.0",
49+ "slash": "^1.0.0"
50+ }
51+ },
52+ "p-limit": {
53+ "version": "2.2.2",
54+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
55+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
56+ "dev": true,
57+ "requires": {
58+ "p-try": "^2.0.0"
59+ }
60+ },
61+ "pify": {
62+ "version": "3.0.0",
63+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
64+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
65+ "dev": true
66+ }
67+ }
68+ },
69 "core-util-is": {
70 "version": "1.0.2",
71 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
72@@ -1515,6 +1572,15 @@
73 "randombytes": "^2.0.0"
74 }
75 },
76+ "dir-glob": {
77+ "version": "2.2.2",
78+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
79+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
80+ "dev": true,
81+ "requires": {
82+ "path-type": "^3.0.0"
83+ }
84+ },
85 "dns-equal": {
86 "version": "1.0.0",
87 "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
88@@ -1717,6 +1783,16 @@
89 "is-symbol": "^1.0.2"
90 }
91 },
92+ "es6-templates": {
93+ "version": "0.2.3",
94+ "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz",
95+ "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=",
96+ "dev": true,
97+ "requires": {
98+ "recast": "~0.11.12",
99+ "through": "~2.3.6"
100+ }
101+ },
102 "escape-html": {
103 "version": "1.0.3",
104 "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
105@@ -1739,6 +1815,12 @@
106 "estraverse": "^4.1.1"
107 }
108 },
109+ "esprima": {
110+ "version": "3.1.3",
111+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
112+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
113+ "dev": true
114+ },
115 "esrecurse": {
116 "version": "4.2.1",
117 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
118@@ -1994,6 +2076,12 @@
119 "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
120 "dev": true
121 },
122+ "fastparse": {
123+ "version": "1.1.2",
124+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
125+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
126+ "dev": true
127+ },
128 "faye-websocket": {
129 "version": "0.10.0",
130 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
131@@ -3030,6 +3118,19 @@
132 "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
133 "dev": true
134 },
135+ "html-loader": {
136+ "version": "0.5.5",
137+ "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz",
138+ "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==",
139+ "dev": true,
140+ "requires": {
141+ "es6-templates": "^0.2.3",
142+ "fastparse": "^1.1.1",
143+ "html-minifier": "^3.5.8",
144+ "loader-utils": "^1.1.0",
145+ "object-assign": "^4.1.1"
146+ }
147+ },
148 "html-minifier": {
149 "version": "3.5.21",
150 "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
151@@ -3217,6 +3318,12 @@
152 "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
153 "dev": true
154 },
155+ "ignore": {
156+ "version": "3.3.10",
157+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
158+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
159+ "dev": true
160+ },
161 "import-local": {
162 "version": "2.0.0",
163 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
164@@ -4382,6 +4489,23 @@
165 "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
166 "dev": true
167 },
168+ "path-type": {
169+ "version": "3.0.0",
170+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
171+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
172+ "dev": true,
173+ "requires": {
174+ "pify": "^3.0.0"
175+ },
176+ "dependencies": {
177+ "pify": {
178+ "version": "3.0.0",
179+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
180+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
181+ "dev": true
182+ }
183+ }
184+ },
185 "pbkdf2": {
186 "version": "3.0.17",
187 "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
188@@ -4544,6 +4668,12 @@
189 "utila": "~0.4"
190 }
191 },
192+ "private": {
193+ "version": "0.1.8",
194+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
195+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
196+ "dev": true
197+ },
198 "process": {
199 "version": "0.11.10",
200 "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
201@@ -4726,6 +4856,18 @@
202 "readable-stream": "^2.0.2"
203 }
204 },
205+ "recast": {
206+ "version": "0.11.23",
207+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
208+ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
209+ "dev": true,
210+ "requires": {
211+ "ast-types": "0.9.6",
212+ "esprima": "~3.1.0",
213+ "private": "~0.1.5",
214+ "source-map": "~0.5.0"
215+ }
216+ },
217 "regex-not": {
218 "version": "1.0.2",
219 "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
220@@ -5101,6 +5243,12 @@
221 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
222 "dev": true
223 },
224+ "slash": {
225+ "version": "1.0.0",
226+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
227+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
228+ "dev": true
229+ },
230 "snapdragon": {
231 "version": "0.8.2",
232 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
233@@ -5695,6 +5843,12 @@
234 }
235 }
236 },
237+ "through": {
238+ "version": "2.3.8",
239+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
240+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
241+ "dev": true
242+ },
243 "through2": {
244 "version": "2.0.5",
245 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+2,
-0
1@@ -14,8 +14,10 @@
2 "@beyonk/google-fonts-webpack-plugin": "^1.2.3",
3 "chart.js": "^2.9.3",
4 "clean-webpack-plugin": "^3.0.0",
5+ "copy-webpack-plugin": "^5.1.1",
6 "css-loader": "^3.4.2",
7 "google-fonts-webpack-plugin": "^0.4.4",
8+ "html-loader": "^0.5.5",
9 "html-webpack-plugin": "^3.2.0",
10 "idb-keyval": "^3.2.0",
11 "reset-css": "^5.0.1",
+0,
-0
+0,
-0
+0,
-0
+9,
-0
1@@ -0,0 +1,9 @@
2+<?xml version="1.0" encoding="utf-8"?>
3+<browserconfig>
4+ <msapplication>
5+ <tile>
6+ <square150x150logo src="https://apps.jhollen.com/ncounter/mstile-150x150.png"/>
7+ <TileColor>#dce6ef</TileColor>
8+ </tile>
9+ </msapplication>
10+</browserconfig>
+0,
-0
+0,
-0
+0,
-0
+9,
-0
1@@ -0,0 +1,9 @@
2+<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-touch-icon.png">
3+<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
4+<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
5+<link rel="manifest" href="icons/site.webmanifest">
6+<link rel="mask-icon" href="icons/safari-pinned-tab.svg" color="#3a86b7">
7+<link rel="shortcut icon" href="icons/favicon.ico">
8+<meta name="msapplication-TileColor" content="#dce6ef">
9+<meta name="msapplication-config" content="icons/browserconfig.xml">
10+<meta name="theme-color" content="#dce6ef">
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+0,
-0
+87,
-0
1@@ -0,0 +1,87 @@
2+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3+<!-- Created with Inkscape (http://www.inkscape.org/) -->
4+
5+<svg
6+ xmlns:dc="http://purl.org/dc/elements/1.1/"
7+ xmlns:cc="http://creativecommons.org/ns#"
8+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9+ xmlns:svg="http://www.w3.org/2000/svg"
10+ xmlns="http://www.w3.org/2000/svg"
11+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13+ width="128"
14+ height="128"
15+ viewBox="0 0 33.866666 33.866666"
16+ version="1.1"
17+ id="svg8"
18+ inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
19+ sodipodi:docname="ncounter-nobg.svg">
20+ <defs
21+ id="defs2" />
22+ <sodipodi:namedview
23+ id="base"
24+ pagecolor="#dce6c0"
25+ bordercolor="#666666"
26+ borderopacity="1.0"
27+ inkscape:pageopacity="0"
28+ inkscape:pageshadow="2"
29+ inkscape:zoom="5.6"
30+ inkscape:cx="28.582867"
31+ inkscape:cy="57.799037"
32+ inkscape:document-units="mm"
33+ inkscape:current-layer="layer1"
34+ showgrid="false"
35+ units="px"
36+ inkscape:window-width="1920"
37+ inkscape:window-height="1137"
38+ inkscape:window-x="-8"
39+ inkscape:window-y="-8"
40+ inkscape:window-maximized="1"
41+ inkscape:pagecheckerboard="true" />
42+ <metadata
43+ id="metadata5">
44+ <rdf:RDF>
45+ <cc:Work
46+ rdf:about="">
47+ <dc:format>image/svg+xml</dc:format>
48+ <dc:type
49+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
50+ <dc:title />
51+ </cc:Work>
52+ </rdf:RDF>
53+ </metadata>
54+ <g
55+ inkscape:label="Layer 1"
56+ inkscape:groupmode="layer"
57+ id="layer1"
58+ transform="translate(0,-263.13335)">
59+ <rect
60+ style="fill:#163345;fill-opacity:1;stroke-width:0.26458332"
61+ id="rect1100"
62+ width="4.2333331"
63+ height="31.173208"
64+ x="-188.17999"
65+ y="194.42413"
66+ rx="2.1166666"
67+ ry="2.3812499"
68+ transform="rotate(-45)" />
69+ <rect
70+ style="fill:#3a86b7;fill-opacity:1;stroke-width:0.26458332"
71+ id="rect1088"
72+ width="4.2333331"
73+ height="23.283333"
74+ x="5.2916665"
75+ y="268.42502"
76+ rx="2.1166666"
77+ ry="2.1166666" />
78+ <rect
79+ ry="2.1166666"
80+ rx="2.1166666"
81+ y="268.42502"
82+ x="24.341667"
83+ height="23.283333"
84+ width="4.2333331"
85+ id="rect1090"
86+ style="fill:#3a86b7;fill-opacity:1;stroke-width:0.26458332" />
87+ </g>
88+</svg>
+1,
-0
1@@ -0,0 +1 @@
2+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="700pt" height="700pt" viewBox="0 0 700 700"><path d="M145.5 110.1c-16 3-28.1 13.3-33.8 28.7l-2.1 5.7-.1 203c-.1 114.8.3 205.1.8 207.9 1.8 10.1 9.3 21.5 18 27.5 17.9 12.1 43.1 9.2 57.1-6.7 5.9-6.6 10.3-16.1 11.1-23.6.2-1.7.4-68.5.4-148.4l.1-145.4 160.8 160.9c88.5 88.4 162.7 162 164.9 163.6 6.5 4.5 14.8 6.9 23.8 7 21 .1 38.3-13.5 43-33.8.9-3.7 1.1-57.7 1.1-208-.1-196.3-.2-203.2-2-208.5-10.5-30.6-46.9-40.4-71.1-19.2-7.1 6.3-13.1 17.5-14 26.4-.2 1.8-.4 68.7-.4 148.6L503 441 342.2 280.3C253.7 191.8 180 118.6 178.4 117.4c-9.3-6.5-22-9.3-32.9-7.3z"/></svg>
+21,
-0
1@@ -0,0 +1,21 @@
2+{
3+ "name": "NCounter",
4+ "short_name": "NCounter",
5+ "description": "Counter app",
6+ "icons": [
7+ {
8+ "src": "icons/android-chrome-192x192.png",
9+ "sizes": "192x192",
10+ "type": "image/png"
11+ },
12+ {
13+ "src": "icons/android-chrome-512x512.png",
14+ "sizes": "512x512",
15+ "type": "image/png"
16+ }
17+ ],
18+ "theme_color": "#dce6ef",
19+ "background_color": "#dce6ef",
20+ "start_url": "https://apps.jhollen.com/ncounter/",
21+ "display": "standalone"
22+}
+11,
-0
1@@ -0,0 +1,11 @@
2+<!DOCTYPE html>
3+<html>
4+ <head>
5+ <meta charset="UTF-8">
6+ <meta viewport="width=device-width, initial-scale=1.0">
7+ <title>NCounter</title>
8+ ${require('./icon/html_code.html')}
9+ </head>
10+ <body>
11+ </body>
12+</html>
+2,
-2
1@@ -23,9 +23,9 @@ body {
2 }
3
4 :root {
5- --background-color: #8baec6;
6+ --background-color: #DCE6EF;
7 --button-color: #3A86B7;
8- --highlight-color: #303030;
9+ --highlight-color: #163345;
10
11 --background-primary: #FCFCFC;
12 --background-alternate: #CDCDCD;
+22,
-2
1@@ -4,6 +4,7 @@ const GoogleFontsPlugin = require('@beyonk/google-fonts-webpack-plugin');
2 const { CleanWebpackPlugin } = require('clean-webpack-plugin');
3 const ServiceWorkerWebpackPlugin = require('serviceworker-webpack-plugin');
4 const LicensePlugin = require('webpack-license-plugin');
5+const CopyWebpackPlugin = require('copy-webpack-plugin');
6
7 const now = new Date();
8 const year = now.getFullYear().toString();
9@@ -15,7 +16,7 @@ module.exports = {
10 new CleanWebpackPlugin(),
11 new HtmlWebpackPlugin({
12 title: 'NCounter',
13- meta: {viewport: 'width=device-width, initial-scale=1.0'}
14+ template: 'src/index.html'
15 }),
16 new GoogleFontsPlugin({
17 fonts: [
18@@ -27,7 +28,19 @@ module.exports = {
19 entry: path.join(__dirname, 'src/sw.js'),
20 publicPath: './'
21 }),
22- new LicensePlugin()
23+ new LicensePlugin(),
24+ new CopyWebpackPlugin(
25+ [
26+ 'src/icon/*.png',
27+ 'src/icon/safari-pinned-tab.svg',
28+ 'src/icon/favicon.ico',
29+ 'src/icon/site.webmanifest',
30+ 'src/icon/browserconfig.xml'
31+ ],
32+ {
33+ to: 'icons'
34+ }
35+ )
36 ],
37 output: {
38 filename: 'index.js',
39@@ -35,6 +48,13 @@ module.exports = {
40 },
41 module: {
42 rules: [
43+ {
44+ test: /\.html$/,
45+ loader: 'html-loader',
46+ options: {
47+ interpolate: true
48+ }
49+ },
50 {
51 test: /\.svelte$/,
52 exclude: /node_modules/,