~j0lol: 1 Add favicon and PWA manifest 11 files changed, 74 insertions(+), 0 deletions(-)
Copy & paste the following snippet into your terminal to import this patchset into git:
curl -s https://lists.sr.ht/~cadence/tube-devel/patches/37561/mbox | git am -3Learn more about email & git
From: jo! <me@j0.lol> make android icons rounded Add favicon and PWA manifest --- html/browserconfig.xml | 9 +++++ html/site.webmanifest | 20 +++++++++++ html/static/images/android-chrome-192x192.png | Bin 0 -> 8040 bytes html/static/images/android-chrome-512x512.png | Bin 0 -> 9934 bytes html/static/images/apple-touch-icon.png | Bin 0 -> 578 bytes html/static/images/favicon-16x16.png | Bin 0 -> 710 bytes html/static/images/favicon-32x32.png | Bin 0 -> 1251 bytes html/static/images/favicon.ico | Bin 0 -> 15086 bytes html/static/images/mstile-150x150.png | Bin 0 -> 491 bytes html/static/images/safari-pinned-tab.svg | 33 ++++++++++++++++++ pug/includes/layout.pug | 12 +++++++ 11 files changed, 74 insertions(+) create mode 100644 html/browserconfig.xml create mode 100644 html/site.webmanifest create mode 100644 html/static/images/android-chrome-192x192.png create mode 100644 html/static/images/android-chrome-512x512.png create mode 100644 html/static/images/apple-touch-icon.png create mode 100644 html/static/images/favicon-16x16.png create mode 100644 html/static/images/favicon-32x32.png create mode 100644 html/static/images/favicon.ico create mode 100644 html/static/images/mstile-150x150.png create mode 100644 html/static/images/safari-pinned-tab.svg diff --git a/html/browserconfig.xml b/html/browserconfig.xml new file mode 100644 index 0000000..0d7c055 --- /dev/null +++ b/html/browserconfig.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square150x150logo src="/static/images/mstile-150x150.png"/> + <TileColor>#2b5797</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/html/site.webmanifest b/html/site.webmanifest new file mode 100644 index 0000000..6a679f6 --- /dev/null +++ b/html/site.webmanifest @@ -0,0 +1,20 @@ +{ + "name": "CloudTube", + "short_name": "CloudTube", + "icons": [ + { + "src": "/static/images/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/static/images/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#36393f", + "background_color": "#36393f", + "start_url": "/", + "display": "standalone" +} diff --git a/html/static/images/android-chrome-192x192.png b/html/static/images/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..efef9735d31a824556d3d1b39998a392dcf2786d GIT binary patch literal 8040 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 TDYXc!50HVbiOy{;hp_(vF&IJe literal 0 HcmV?d00001 diff --git a/html/static/images/android-chrome-512x512.png b/html/static/images/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6c4d385e59da8bbe1e62db844ba04fe9df85f1 GIT binary patch literal 9934 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 OU}|V(a8J)Y{{I2OUsZ?z literal 0 HcmV?d00001 diff --git a/html/static/images/apple-touch-icon.png b/html/static/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8417168f50c7f1b84f7b80a6141c0a5f92831e GIT binary patch literal 578 zcmV-I0=@l-P)<h;3K|Lk000e1NJLTq006WA006WB0{{R32LqIG00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#22e~?Mcv)qHaR~wm{m6b00DPNL_t(o!|m3~ZNwlD z2H@Y}u(!B_xD>aP4oqp3LJ2-{Ksd&{1{hY6a*Bj+{-kA?ff+9@_Bk<q`t*P0M)0n1 zaPEMWa{~y@HL!3l0Wf|qj~tk|^}hFRyl=gq-q+rh_gC+JJ2`>Ym)`L_zjhb=Xx#?i zTQ>tg-}~0O9=Lk%D|LI<OM)gA{EivZO$$BlQ~gSg;y$GhR6lrJgFdh9s&ZtPwI9iA zegbg*itZX0(c_7H(!k#1iENq#Ccfu5d+>Zxx@^e1PHtJ>@`l&o<)l<jp!Rd%HYZkl z46t;rsLSFy6{2x7a5wO4<T4iYuMXZF<7;WYgVtd!d3CM_E_rw0-Bzyi>6w8m(7F`| z@0N9umq&F!MZTX)<Fa;>-blj`hiyE)f0M?ej>g-5O!vR@jqmHB@BG|I{oDCq{(zrX z&$of|G*41N+xb(@qnTH>+kTm=+&sLh@l)ofPe71nA@e+ZKV&_(=l`PV)2C0r&L0<u z60!%L=K=r#09SfcSaechcOY<bZ)Rz1Wgv8UaAhEAaCBn;0C=3^@(c)ZRwyXSPs_|n z<x&6xBMUBL3lk#~OOq4>6Cgx@G{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$q Ql>h($07*qoM6N<$f~naEt^fc4 literal 0 HcmV?d00001 diff --git a/html/static/images/favicon-16x16.png b/html/static/images/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac166736bf0101c2d102f95323f9792c6de533e GIT binary patch literal 710 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM({q0G|+7GfR6)kg0{;-Me><&1_7}ZSUQ?XKv+i=gyr64;~ns+1|c=`~Lm= znc4ZJ<<(g^1x+pOR<_QUFJHNO_3G|Ddo!}~=FML?f8pZX{NlCiHr%*zqq}#4y_0)v zLdwNUm#l1^3X00^+_`(<!bLkr_bJn6M8zgPeDEMFGPZxhWDl<ZCs*%Vw{AtnCRJ3` z*48z(clJ!2G&Mal*V@kc@|7z-{voGNpJ`}noiJ%iXIF1(dQMnm+@;HxPo6w={rdHX z4<EL5bkCYIudTg%?!1Ku4<5R5<*JLj?~0YH-8}pbG}N>MLrSD1$S*j7?O%3U%KN`J z{;<BecJJ=3j}O@IPrJ~u04RUK)5S4F;&N!;^)Mz!0T=0$2U#Xpr7>^t4q`M`h&139 z3jOn+Kk?fE%Llb9*S%`j>Tp!?+1AqEY}a6MQ(2_p$TK0Q0RMi4SDdBo@Ap>gTQdAL z+4*ONM3zFUU&9IS<^QM6zcr(JO?)uZqKb57?KAsDlh%bTRX8uzBkBF=`5%Q<JnTV6 zB^xH~@3t{ooWyiq<Jg<^k&TLni*B*p+P5S0{QBh6o2<gms^4{rer|qu`o(m!*>we_ z-cth3v5Lkh?@1K=)Gxx~{QKV#{(T1?o}2$`a`s^>*$Y!NC+-FMExaluq9iD>T%n*S zKP@vSRiUJ^AXOo=pd^`rp<>SCPdprjVHz5z{7;|pd>X{Stjw*K%q^@e>^)h8Sy;iP z!Q^lXv-0K;h0`~#oH%mkh|Cf8(+wUAy!04ei3^r|ax$F?w1UCY)z4*}Q$iB}fyFUf literal 0 HcmV?d00001 diff --git a/html/static/images/favicon-32x32.png b/html/static/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..595af67590ec7913920b70fd065c7725294de3c2 GIT binary patch literal 1251 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxykuZt;tKEyarMb8G_$lHSakR9U7!Q*-MeRMVP|4)d;k9Z2M-<?o7tF{+nHNA zOrA3R&Ye3C9^5~3=B%ZS(~_mjuU)(5<mz?d!i9;Gr@DFipEz;S*v$6G(PME5sprm} zKYQ++jlFAUci;W{_bjX(O)Tv43QE?k-`F={a#Bjhq$$&O?%aLz=FNnpw2K!nMMT91 z21f)0M;tnQ#NNqc>a>~HuV3%$pJZ+8Y-Q`bcJ2B#Yu9hsxH&R9;mDDrme!8bXUwXo zto8B@Dkv&*cJn@Y>Qq!rqPJi0w(UEn&zODn>ebG!-sspQzre7{>iT>4?z(&VyL$Le znKmOgzu48?H!UOQ_=ywMwGE-+F{T#w$Bv)4apT6yRck!F0+udYk(r%;?D+Ay^A?=H zaKYHzHa#<U-u#8ub}pAMUukG;oiK4qXhf`=r{AQ>)54?TckkJok(GDr)~(BzFWWo1 z*EO^h6_<yEM;n@0W#<+qr)ABVJHM;D@BI1mO)c#)amiP%Ts?dCoNqv=r%zztgh{t= z-;Rw>xq9uIUqI-A0|$#sD~)R3NCA_GPDzkoFvGP_rf;3<fB(JFo)kQTG49;u?>GKD zQoi&|$@}70!w1b?SMN8Szw-Dl^M~68%-*_(fGO*ar;B5V#p&9~&z-M02pny%a%bPj zP_`yx)8^R%MZ6R4<u<S$Z3_~uUN5pcK|Fv_)cTkGrrF+34ZHXF->lsKX7<@M28N>R z>$|2;&xrJKQsP*ef8)(W<x{&=P5YQDEsH`_k20+}GbL7JGS6(AyoNbUtHnb#T%Q}s zU(?xgoBvB`CSQuBMJ^8yf5`m(u~nBHEf{60WrI#kwGz`gc9cO$|KScl6~&-cx-2jD z9&TPgZ}sH(L;GC*tY!3i&ba5s{`ZNlm%l{2`8e&bU-a!trU_$I<T8UpH9aq`%9o@W zxFqUcFJH)*aNaWhhppz9pJ$J3)=D!w)EDo}IOYDW{9l)Tm(RcQYr1Ry+OWPXrhxYX z+!v%n=V^pbYt>%U++OftQ_Ac846o+@Iy+%i^AzSSKRcdoj_SH~e5H7p%lpWU%yG6y zbQY|9_I&;OGhHEm*CdV~;Vu(i_`p6%|3q_M7DMZFtwYfQLCXzx%R8Nu*}U&buTX3E znIC`a>y77Egw+IjMjPImzBN6+;Kjug+vPXcOYQFy<9z#WkMx0`x1XHN{v>?sg2UCK zC=Hj;U0>=uG&;(^+itih8^OpK7p}l7wE4~-*=)w3$%}roO4gV?PTIV9Y0l{zd1uOt zPVM6O{QT~$ZN{<*d_H^59@)!dW)Dms;Z-3KB|(Yh3I#>^X_+~x3MG{VsS23|CCLm7 z6>}bc;^8O^)6h8OfBKB)(;x<BWp2G>Zee9%@5v&}!U`@8CWlj)l{bedoW618#E~;c iWR9?(Ztz&(rN{6}T(IPmlj&5T6%3xPelF{r5}E++ek`&8 literal 0 HcmV?d00001 diff --git a/html/static/images/favicon.ico b/html/static/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..60204457857a1ec2b01a2c93603ff2963ee2ac21 GIT binary patch literal 15086 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 Vn77Xs5G!sGHFP)#msk4G_y1=238DZ1 literal 0 HcmV?d00001 diff --git a/html/static/images/mstile-150x150.png b/html/static/images/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b327f879c2a15d9236199ea944a0463a74458622 GIT binary patch literal 491 zcmV<H0Tlj;P)<h;3K|Lk000e1NJLTq009mF009mG0{{R3LVs)K00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#22e~?MNDaN|NsA*;)f3a0004WQchC<K<3zH0003K zNkl<ZXx{CWF|NZP5JZhAC^-U0;b`V)xk0YrBaqI8mHn}oNNzk6rOKD)wSLIUEG*L` zgb+dqA;b@0jTzAvrW9M5GTW0F!OUnW#_CNk<;JQtwx#-+(z&v-Sj;xkA*uwf?8%W1 zP$jm+6x;HyfL*`7-w)-wk=5QTC^qMbVjG~?1~-riF6PMO;YtTek0_b!%V*HZp%k#| z;!5I50Kp8!i)m0P*Ge5qx{mj)M6QHiQC3)P8A|3#<%&@ya3ujH`*AB=nZcDE3cA&P zA|qEay0N~#as`ft^R?f;R?hQf<w~c6>~h#uI;GA^1CJgahf}6|-ka3@Zwq*@+EEdE z?}ZRT2qA<JLI@$mzvK_lA{Ug6Jb%Lg0038dR9JLUVRs;Ka&Km7Y-J#Hd2nSQX>fF7 z004NL<MIp$aaJfO%1_J8N##-i10xGAV+#`_6HAj60}~)bfHcEo10%CkAj{a)$i&RV h9K;99fJmT9E&%Em5p?oGHI)DW002ovPDHLkV1hAY%3%Ni literal 0 HcmV?d00001 diff --git a/html/static/images/safari-pinned-tab.svg b/html/static/images/safari-pinned-tab.svg new file mode 100644 index 0000000..0a2668d --- /dev/null +++ b/html/static/images/safari-pinned-tab.svg @@ -0,0 +1,33 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" + preserveAspectRatio="xMidYMid meet"> +<metadata> +Created by potrace 1.14, written by Peter Selinger 2001-2017 +</metadata> +<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" +fill="#000000" stroke="none"> +<path d="M2667 4020 c-115 -29 -296 -105 -387 -162 -54 -34 -182 -133 -207 +-159 -12 -14 -33 -49 -47 -79 -13 -30 -48 -80 -78 -110 -46 -47 -170 -221 +-180 -252 -3 -7 -39 1 -96 21 -50 17 -147 43 -214 57 -111 23 -137 24 -258 18 +-87 -4 -154 -13 -190 -24 -30 -10 -82 -24 -115 -31 -90 -17 -163 -59 -231 +-131 -184 -197 -233 -305 -250 -554 -6 -90 -3 -115 31 -279 31 -152 44 -193 +81 -265 24 -47 59 -120 78 -162 19 -43 56 -106 82 -140 66 -88 173 -196 214 +-217 126 -65 482 -83 711 -35 68 14 156 36 194 49 95 32 317 43 420 22 39 -8 +104 -18 145 -22 41 -3 109 -12 150 -20 166 -31 322 -37 825 -33 420 4 509 7 +555 21 30 9 89 24 131 35 156 39 312 154 413 306 20 30 41 58 46 61 5 3 34 52 +64 108 43 82 58 123 75 206 26 126 27 278 5 387 -18 86 -32 121 -74 174 -15 +19 -34 49 -43 66 -34 67 -174 199 -262 248 -16 9 -52 32 -78 51 -27 19 -67 39 +-90 45 -23 6 -71 24 -107 39 -64 28 -340 91 -397 91 -28 0 -30 4 -56 88 -15 +48 -40 108 -55 134 -38 64 -224 269 -288 318 -63 48 -182 104 -250 118 -75 16 +-224 22 -267 12z m-428 -984 c7 -8 33 -16 59 -19 183 -20 276 -46 447 -127 61 +-29 128 -58 149 -66 22 -8 67 -32 100 -53 34 -21 84 -50 113 -65 29 -14 68 +-40 88 -57 31 -27 35 -37 35 -78 0 -40 -5 -51 -32 -77 -53 -49 -130 -100 -171 +-114 -21 -6 -57 -26 -80 -44 -49 -37 -70 -49 -192 -106 -49 -23 -99 -51 -111 +-61 -11 -10 -45 -32 -75 -48 -30 -16 -88 -47 -129 -70 -95 -52 -134 -54 -177 +-8 -74 76 -121 287 -133 592 -4 121 -13 236 -19 255 -19 60 -14 101 16 132 30 +31 91 39 112 14z"/> +</g> +</svg> diff --git a/pug/includes/layout.pug b/pug/includes/layout.pug index 2cc0d91..62a582f 100644 --- a/pug/includes/layout.pug +++ b/pug/includes/layout.pug @@ -6,6 +6,18 @@ html - const theme = settings && ["dark", "light", "edgeless-light"][settings.theme] || "dark" link(rel="stylesheet" type="text/css" href=getStaticURL("sass", `/${theme}.sass`)) script(type="module" src=getStaticURL("html", "/static/js/focus.js")) + link(rel='apple-touch-icon' sizes='180x180' href='/static/images/apple-touch-icon.png') + link(rel='icon' type='image/png' sizes='32x32' href='/static/images/favicon-32x32.png') + link(rel='icon' type='image/png' sizes='16x16' href='/static/images/favicon-16x16.png') + link(rel='manifest' href='/site.webmanifest') + link(rel='mask-icon' href='/static/images/safari-pinned-tab.svg' color='#5bbad5') + link(rel='shortcut icon' href='/static/images/favicon.ico') + meta(name='apple-mobile-web-app-title' content='CloudTube') + meta(name='application-name' content='CloudTube') + meta(name='msapplication-TileColor' content='#2b5797') + meta(name='msapplication-config' content='/browserconfig.xml') + meta(name='theme-color' content='#36393f') + block head body.show-focus -- 2.34.5