From e682c9818e2a0c34efee96d9ad8886ef728f7ae5 Mon Sep 17 00:00:00 2001 From: "Phyks (Lucas Verney)" Date: Wed, 27 Jun 2018 22:51:50 +0200 Subject: [PATCH] Add a webmanifest --- build/webpack.dev.conf.js | 5 ++++ build/webpack.prod.conf.js | 7 ++++- index.html | 2 ++ manifest.webmanifest | 39 +++++++++++++++++++++++++++ static/icon.svg | 54 +++++++++++++++++++++++++++++++++++++ static/icon144.png | Bin 0 -> 4495 bytes static/icon168.png | Bin 0 -> 5209 bytes static/icon192.png | Bin 0 -> 6021 bytes static/icon48.png | Bin 0 -> 1503 bytes static/icon72.png | Bin 0 -> 2294 bytes static/icon96.png | Bin 0 -> 3091 bytes 11 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 manifest.webmanifest create mode 100644 static/icon.svg create mode 100644 static/icon144.png create mode 100644 static/icon168.png create mode 100644 static/icon192.png create mode 100644 static/icon48.png create mode 100644 static/icon72.png create mode 100644 static/icon96.png diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js index 070ae22..1a92532 100755 --- a/build/webpack.dev.conf.js +++ b/build/webpack.dev.conf.js @@ -63,6 +63,11 @@ const devWebpackConfig = merge(baseWebpackConfig, { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.*'] + }, + { + from: path.resolve(__dirname, '../manifest.webmanifest'), + to: config.build.assetsRoot, + ignore: ['.*'] } ]) ] diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js index d9f99f6..c1ff144 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -46,7 +46,7 @@ const webpackConfig = merge(baseWebpackConfig, { filename: utils.assetsPath('css/[name].[contenthash].css'), // Setting the following option to `false` will not extract CSS from codesplit chunks. // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. - // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, + // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 allChunks: true, }), @@ -114,6 +114,11 @@ const webpackConfig = merge(baseWebpackConfig, { from: path.resolve(__dirname, '../static'), to: config.build.assetsSubDirectory, ignore: ['.*'] + }, + { + from: path.resolve(__dirname, '../manifest.webmanifest'), + to: config.build.assetsRoot, + ignore: ['.*'] } ]) ] diff --git a/index.html b/index.html index 7523101..4eb6e4a 100644 --- a/index.html +++ b/index.html @@ -3,6 +3,8 @@ + + cyclassist diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 0000000..7577185 --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1,39 @@ +{ + "name": "Cyclassist", + "short_name": "Cyclassist", + "description": "Report and share issues with bike routes!", + "start_url": ".", + "display": "standalone", + "icons": [ + { + "src": "static/icon48.png", + "sizes": "48x48", + "type": "image/png" + }, + { + "src": "static/icon72.png", + "sizes": "72x72", + "type": "image/png" + }, + { + "src": "static/icon96.png", + "sizes": "96x96", + "type": "image/png" + }, + { + "src": "static/icon144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "static/icon168.png", + "sizes": "168x168", + "type": "image/png" + }, + { + "src": "static/icon192.png", + "sizes": "192x192", + "type": "image/png" + } + ] +} diff --git a/static/icon.svg b/static/icon.svg new file mode 100644 index 0000000..7594489 --- /dev/null +++ b/static/icon.svg @@ -0,0 +1,54 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/static/icon144.png b/static/icon144.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7eec7e9e6f765a10dcbf3414b6ea44804171cb GIT binary patch literal 4495 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 h!C){L3%3m_`}z@O}?;+h-SNIh5wU>LBVhj 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 FV1n%H#Z~|S literal 0 HcmV?d00001 diff --git a/static/icon72.png b/static/icon72.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5aef77e92728903045a77e892be6f147787302 GIT binary patch literal 2294 zcmV{dA~dFuV-ctW|(1y8D^N_T1Dzn zsb!jZv(fC>w-8sH)Rlc1(ZvUj#zWBkYd5xl*ne@eo z@cp{@;)9wyr4TJ}x^>Zl1>suz;)gnXYr3z%$+r%lIB~Y-uK1uKNaG!*d7r>Kl&q`r zZ0dOGPg#)%L&_c?mdkcVgs%kYMK_xJY?1m#Di1R{_XH6K^u;VBoCzB!jhK6L2x>GMI<8w8kf=+&0>DV0ce&6_eWK#H*l)a z#mb7K$a4nr7VweWsjl|6);9)+h7wh%KTs;}Vx6(rW{}59RIn}K*k3hG^M;UeklaF1 zU_g=7v+$SCK&00xO~o8Ji+^qQLfqV{Zgp0LwI&tMV!(y0&Y`M^mZPp-TL! zCKZiAZpd9kv2Ln7KVBSwgl)eD`cx%#)|!e|(yrnDJEV*OjZ-cfv{;rkH<3u38-H3F z8^7z0x_>NYv*n%H$x3{xHWiOSRxG|zai0Y#BzCX5#=2x*@<65a)QgH|v4NrVn{Dmw zyG3;|$mE@RyNKT3-Wnbn97?}YXe&7sgC z5DP$*r!TshNBjHxM<(01OmmGYJAhUoE5fG}w*8mNo9&+|3q>m$|6*PofftjGv!ReU z0LN0Pzh;FMzz_h+4^7jYRjR^fqv654I3Pbx9Je1TBo08rws#A<3b+J>RM|?6pTtZN zNQJNE4hJ*BCO}IWuxDb1>mJuY>+H_wi$vX)Y~S zrkYF;$TZD1(2oP4?6hq=?Z=2~7~6nR0D)D-^2OuvE}+BvB-Z$Hu3*9)BW%4t#iK`=p}kn6VOkHwV> z)3T(T_x>=acoweMM+%NRB{-ieSJZwGOcV%C<&PCLr(s6`Gk0(jAY>RWFqli}@z=bH z{o9X3BC~<_dw$8uGTE!j1c8n?jzeA~VU1rSxq;JbfOuW!h~uPs9lJf3;sCQQ%sm8L z1aQUmZNDiLS_L!#$TYfUHJCh$xr*${9e=`###j5Xp~{wgc{0YXVi|kR^t=Q70YH#@ zIu>@6S*3$zSRMBH5+k&au7TQ$eh~{oIL6G?T>EY%yfJyMcIALa%ga(@jF83U9Lf=D02n*FQWg*z$>SfEQl(S_)Hg@-9D zPCmU{KiBHd&3NJ7QUWQkvR)3>o98JnjsiUtdVkK6c%9{xiOyyS~1sf+YVEMYYq8S~emm!gw*}AOv!OWwmQcFyzCie$r~ZEyxnQmmU0+ z`8##`d3-gP97e6?AU!@^v*FpvVbq`mx+cT3Ync9+;^3`udhxau(Ntv_y7O^ literal 0 HcmV?d00001 diff --git a/static/icon96.png b/static/icon96.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf2b2edecec22b91fd2f07b5293b4ac03bbdc7d GIT binary patch literal 3091 zcmV+u4D9oXP)jQ0p8K8ieL3IWbI&>7xi`?HNs}f`nlx$Bq)C(chSb}D zLaZDZc%6-LCD^?x613sR;c$3gz3r+d4eJ1($9o;3_X4i0?6?S*`orOEbuz2!G^7K( zUhip!tJB znc_H&=>P~77LY)VOmUn>allc}BHJ+T2PSe#D#M459Qkc6jH(57dkC-US+!(*(ZSn5 zt^sWqmA~288-vm4R)E2Qf%gjXQ(#e6vE72M^+zIqtB=*yr!Efg`Fy=35?et|nQ0Bj8lWb z;7-R4t1~qj1(n(O01G5x-|eVT4T9rcPz8;jLa@3zx}P77kIw14z|k(q>-DZMY~2d1 zDnWb<;kxe7%xPmio(&y3{^PMNS4*X61Jq==f+n{%42G ztUHd}0YgJWOB3T0PgB}2KWrOvPAC+Loa}a=WV>2kQ0UIOehBobe1$dXx-l3FzBp^6 z>qLtal_m~Pd>v|wsWz!mxs&_%L zSnRNGzErOq8{tZwBcF76^2G$FF z8Km%zg%r=&wrmIuhmKi7uq>-bk0ic{a80)ULJqJjt4$}9p9cK`Ih>b+$FN{=#p zR_2QQbu@n9v6&T_ruiC4+FO7RQ+$4rW+kH6c6W3|N8<;!msqAQ6r2aVVa1BYuP!|J zCy+PKxU^4^M-9;(sE#4htIFxXg=B*02FR_01Kz%1B=pIdbqn^PVmIJWe}7*>c?uZF z&Q}Nt`Uon15jmuAqN=VD;T&MWlvo?0Kk*F=^aLW2Zx>WlM+!N>cy(d>&w%X4|1T;V z`=g=zw?SfN0guPi)hef1h!;0P%j6{A- zj=6(%lI2!c;?}9|Z3_A3pl9&qU^MthIr?iw-cgX{@vZ|d%gWm6Qu~ZRG<4s#9E}eU zjYdZUk;rEe-mQ=oRM$I9(=^L5Y=P0TL4`9iIr5}ya>41rNaSJiOx*mt{joqayk603 zf#g)SA!7evXlQ6@Ir?iwP6t?))uy6fO`i*lh@HH6XEYitrP4q+yv0yiPo|;T49(P6 z44==}E5c{8tDHzquHCt3=YL8mAB;rqN7Y zS=#~q(a=M{ru4ZW@Ar5-rHo*ZWb#TN^NSU(kHumm<>(JY!`}j#9*(N=F&bwl;50c6 zvJKXzj|E2BmMr;xC6%jf+@5vX+9GmsN#*n?{o4cK@Rmx{BYH>H`3lQ4&&VrXCvrMK zM6(UuvSY`NBb8Jh91cDQ?9S9Hr8dB{oT3%)1C^GR$AHP{x@?XU2Ph|{j}`gXEb3Qa zdRK$0_7y8&nr0_i`#}{d*6;WG$AG=*b1^8Yzt-e*fWngLW6}T3N`o?%IW9htbGckc zjaCdbW~U#`(tpgZi@KBhp`^SrEnu@^RvIKzUPNChB$|?u{bUa_WtRGp>GF2g-_5Zq`Xqqg@1Fqnr{!!a*Y9)tETCsvr;*X$ zDCC?8i}1KAXQ$3|jnC)n4+H|kxnv8mu(kD4viftwFdk1I`@`YQz~)@#6n$Kfs{jQ1 zlD@vaPw&~Y=TN!&aoHctu2v>no+!Hxhsk*dBt?2oWByp-Bbi+F)7pAZ8FnQV-9YAH+^Wj&EYmFddaB3c>56*H zM?ufe%HB5BX8B=YwP^*c^UAxX>Qy+TFr z13Jp6`(OO%ms=xO~qdSUL zQk-qT8-dpXWj(u^%%1m?`T;5MqdMC%?`S8rVL0so8yas3doJ@uGL4^3Pt%~^RhnzK zfrA|D00pk9qh0fcUy{4=6^M})BWY57&L-90=W~Dpx7N+NIgSB5OX0>>U>vaOWaFIX zqZDuabb6>xHqKd=lA36h>Hr1aQ5Q?+D0fg^<16qF9D2WczG0E-*UNQ)0!8B@O^Wjf zl{LPSS_)rYdz0r57f^ZQr_){4Fl0VXv0H)d!0Yl{e}>eIIL#VT@4?L^0h|WBR8{Nd z0XId^uOwg3@8eH&syf zAt3vu@O6~`iykNS(ZWy#`sW1Ygc++f3YwYbZTPa1FryO=P)Z12Hr%%ps=zHY&aCuK ziVXE@`Y%jsz)IjJ%> literal 0 HcmV?d00001