From d12d805e2fe7d9c1c8a02b7b56c40685b2265175 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Wed, 25 May 2022 00:27:07 -0700 Subject: [PATCH] Fix website styling --- website/content/contribute/_index.md | 2 +- website/sass/base.scss | 31 ++-- website/sass/index.scss | 14 +- website/sass/logo.scss | 8 +- website/static/android-chrome-192x192.png | Bin 0 -> 12833 bytes website/static/android-chrome-512x512.png | Bin 0 -> 36357 bytes website/static/apple-touch-icon.png | Bin 0 -> 9098 bytes website/static/browserconfig.xml | 9 ++ website/static/favicon-16x16.png | Bin 0 -> 1242 bytes website/static/favicon-32x32.png | Bin 0 -> 2264 bytes website/static/favicon.ico | Bin 0 -> 15086 bytes website/static/js/carousel.js | 164 ++++++++++++++++++++++ website/static/js/navbar.js | 115 +++++++++++++++ website/static/mstile-144x144.png | Bin 0 -> 9538 bytes website/static/mstile-150x150.png | Bin 0 -> 9200 bytes website/static/mstile-310x150.png | Bin 0 -> 9973 bytes website/static/mstile-310x310.png | Bin 0 -> 19725 bytes website/static/mstile-70x70.png | Bin 0 -> 6726 bytes website/static/safari-pinned-tab.svg | 85 +++++++++++ website/static/site.webmanifest | 19 +++ 20 files changed, 422 insertions(+), 25 deletions(-) create mode 100644 website/static/android-chrome-192x192.png create mode 100644 website/static/android-chrome-512x512.png create mode 100644 website/static/apple-touch-icon.png create mode 100644 website/static/browserconfig.xml create mode 100644 website/static/favicon-16x16.png create mode 100644 website/static/favicon-32x32.png create mode 100644 website/static/favicon.ico create mode 100644 website/static/js/carousel.js create mode 100644 website/static/js/navbar.js create mode 100644 website/static/mstile-144x144.png create mode 100644 website/static/mstile-150x150.png create mode 100644 website/static/mstile-310x150.png create mode 100644 website/static/mstile-310x310.png create mode 100644 website/static/mstile-70x70.png create mode 100644 website/static/safari-pinned-tab.svg create mode 100644 website/static/site.webmanifest diff --git a/website/content/contribute/_index.md b/website/content/contribute/_index.md index 7378e3ba..50b6e3c8 100644 --- a/website/content/contribute/_index.md +++ b/website/content/contribute/_index.md @@ -22,7 +22,7 @@ cd frontend npm install ``` -You only need to explicitly install Node.js dependencies. Rust's cargo dependencies will be installed automatically on your first build. One dependency in the build chain, `wasm-pack`, will be installed automatically on your system when the Node.js packages are installing. If you prefer to install this manually, you can get it from the [wasm-pack website](https://rustwasm.github.io/wasm-pack/), then install dependencies with `npm install --no-optional`. **This is necessary on Apple Silicon/M1 Macs** until [this bug](https://github.com/rustwasm/wasm-pack/issues/952) is fixed. +You only need to explicitly install Node.js dependencies. Rust's cargo dependencies will be installed automatically on your first build. One dependency in the build chain, `wasm-pack`, will be installed automatically on your system when the Node.js packages are installing. If you prefer to install this manually, you can get it from the [wasm-pack website](https://rustwasm.github.io/wasm-pack/), then install your npm dependencies with `npm install --no-optional`. To run the project while developing: ``` diff --git a/website/sass/base.scss b/website/sass/base.scss index cb7b945a..0d4bb76c 100644 --- a/website/sass/base.scss +++ b/website/sass/base.scss @@ -1,16 +1,11 @@ :root { - --color-walnut: #473a3a; - --color-manilla: #f1decd; - --color-mustard: #deba92; - --color-crimson: #803847; - --color-navy: #16323f; + --color-white: #ffffff; --color-fog: #eeeeee; - --color-black: #000000; - --max-width: 1600px; - --max-width-plus-padding: calc(var(--max-width) + 40px * 2); - --variable-px: Min(1px, 0.15vw); - --page-edge-padding: 40px; - --border-thickness: 2px; + --color-navy: #16323f; + --color-walnut: #473a3a; + --color-crimson: #803847; + --color-mustard: #e5c299; + --font-size-intro-heading: 60px; --font-size-intro-body: 22px; --font-size-link: 24px; @@ -20,6 +15,13 @@ --font-size-article-h1: 32px; --font-size-article-h2: 24px; --font-size-article-h3: 18px; + + --max-width: 1600px; + --max-width-plus-padding: calc(var(--max-width) + 40px * 2); + + --variable-px: Min(1px, 0.15vw); + --page-edge-padding: 40px; + --border-thickness: 2px; @media screen and (max-width: 760px) { --font-size-intro-heading: 40px; @@ -27,6 +29,7 @@ --font-size-link: 20px; --font-size-heading: 32px; --font-size-body: 16px; + --page-edge-padding: 28px; } @@ -36,8 +39,9 @@ --font-size-link: 16px; --font-size-heading: 28px; --font-size-body: 16px; - --border-thickness: 1px; + --page-edge-padding: 20px; + --border-thickness: 1px; } @media screen and (max-width: 400px) { @@ -46,6 +50,7 @@ --font-size-link: 14px; --font-size-heading: 24px; --font-size-body: 16px; + --page-edge-padding: 12px; } } @@ -57,7 +62,7 @@ body { width: 100%; height: 100%; margin: 0; - background: white; + background: var(--color-white); font-family: "Inter", sans-serif; line-height: 1.5; font-weight: 500; diff --git a/website/sass/index.scss b/website/sass/index.scss index bdbb4436..b1478d1f 100644 --- a/website/sass/index.scss +++ b/website/sass/index.scss @@ -125,8 +125,8 @@ mask-size: contain; &.left { - padding-left: 120px; - margin-left: -120px; + padding-left: 80px; + margin-left: -80px; -webkit-mask-image: url("https://static.graphite.rs/textures/torn-edge-left.png"); mask-image: url("https://static.graphite.rs/textures/torn-edge-left.png"); -webkit-mask-position: top left; @@ -208,16 +208,16 @@ } @media screen and (max-width: 1000px) { - margin-left: -40px; - margin-right: -40px; + margin-left: calc(-1 * var(--page-edge-padding)); + margin-right: calc(-1 * var(--page-edge-padding)); .screenshot-details { - margin-left: 40px; - margin-right: 40px; + margin-left: var(--page-edge-padding); + margin-right: var(--page-edge-padding); } hr { - width: calc(100% - (32px + 40px) * 2); + width: calc(100% - (32px + var(--page-edge-padding)) * 2); margin-left: auto; margin-right: auto; } diff --git a/website/sass/logo.scss b/website/sass/logo.scss index 9fe8383d..625c18da 100644 --- a/website/sass/logo.scss +++ b/website/sass/logo.scss @@ -11,12 +11,12 @@ } &.color { - background-color: var(--color-fog); - background-blend-mode: color-burn; + background-color: var(--color-white); + background-blend-mode: hard-light; } - + &.light { - background-color: var(--color-manilla); + background-color: var(--color-fog); background-blend-mode: color-burn; } diff --git a/website/static/android-chrome-192x192.png b/website/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..9e3f315c80d628dedf53073ea7d0032a292e0ea3 GIT binary patch literal 12833 zcmZ`=WmsEHus(Qz;sJ^~1d4lcg1dWhcP|dXDNfM}UR;ZNf#UA&?odi8T5i7k@BX+? zaROF>>*6W(_JcY#phubOL4Xz&KvR#HV00KO+- zKAEGyKT})EYpMW%KO+FZA^_k4-UT}X0B=qJI57hNp)3F(cKh0061e5q$Ra|SI)Ej z0<{;@4@3TT8tRnGVB#ApvRd$%5!J_h?6Z-ew*1nck>Grl@on~(ve5DIu_|}An!vpk z_qw~##0*J^@F;zgrH_+^@CGpadK5;_|0!rbOg){Ro~BIE(fM-yUP=OR*73fq(A#||Z&?{Rk9>f0YuZke@Bd1gc~tUNC~m;s=PKwsv(NFhNCs{kf&q1akm&oi;H zJPu@pY%wdSwd$IhwEmyJG{a_G@wQAF&s!a-_vo$eqchIV1bohxXv&-u3ygJEVe$s2 zZmg&@KTtT0oQ*DYA#RF5S3`T#M)5w3+-t1H z^SiJ*I|tRou7%?#X=f>4k3qq1xU2$nC~3ZF7gKe6?(8hCk$us=5o^1j;yWnVY`Wmr zN8JEaiMo}hzEC5j<1?I!^3QYp5okVrB8CeNFIc~##dT{@khf(T6Sic=l7Q3e-xT1| z76PYdL`lh^Yxs;jJCOA%Rwe-vh~hF&+ev&N$n)~;Qb_OseX(#YyZ8$U5I5gMH&HuQ zL;Cc%Hr;n7a2iYa2LDg+3kvYbVHMw2+K?gF^&#iPA!#K_T5&89h?3Z%!V9^x%=Xf# zc}ZN6t;J2H>pto29WG$aMKDue%@DNQ$z-s<9gN1FFLjou@7n`Wk6b6gMJ~Z!VUUgQ zs|8#Fh~WLhO*Oz}@cdt&a?ANBXR-*2*sh>N%*D3P%$*bc%7Dxt9yw`js9QTVFGcjh z-YPZ4AM(|V#WYHh7P)iwC?(~$5()|*me$vv-a@i}Ztx&bq%P)rUJI!gY)CMHXa^1_ zA|MXh_2&AJ$b&v?I~Ehv6hx5~;eh$eTs>ps@%-;ccv{~j-tw<50wR+u*bIn<2f-wi z0W=bGf7}(BAw`^whT4smpa=;{aZFx5V(7RDuKL3507Hz0WA>=G+&*?+JW?eGtMW(Y zAYutbN2Bc2#U4x3^7ol8xL4TSc1_SZyLoV z;%dQrAKAY36=X${!xapgefDT4)4oDxto)lphrdkP+CDIE6cik!Eq+^twhpwFQ0&Hb zKGq%>j%c>C!xt{v(EZJ=Iu+&6$C_tjOG+K$9)^0G<3RuC_ASo8Kd|$;dH=cG6i@2a zJJRj^z3s753dP<39iyH%Ko1I{z+IX6ZRhf#H!4)xUpxyX) z`ee!!$rq;I+8NvSN$d88-M{o;(<6mt@0NEz+&?+bcSXfs|DFY15rHxMrvCEg3%5)B z@q}%Ie9_F5~3Irp-a9oa*j&H%3tpu+XeUguruNEn)n>&-JzQZf|)^s*yMsfwy~*W zLpuq+CMRqoaj5|dKpgEtxFQjyI3-VHbNFj3SRjPL;w~632Hik0i(9b8XOTKRmsT6- zwR_KJ^@Q{+U&}DK*93V*gd4&UL4+-&AF;R3$nacV-N;v5AX6xWc!PV*1`rgiD`-91 zXI1AU+zv(|7jcU?bG;Qs1(1owaU6C$lvCO08UJ;zJhx_-2AzWs_pP;{8vu!UJO7{mR02NTav<}>Kg7t0lqr1= zIkGoJT+Y@|1jc|4!<=8xe{2NH(LOM`B)Zab!e2PIO;<=n3NJRm#Iodte8)lv*W zgxzxpI-k&k1&P+~{6-5;&H3vuiyhE}lD+(DG}mnhW>+Hgv53=)t3toN&6Lv;QpgDT zW@8F=hk0WUvM3HoRi5KYcGnwGA+*{*j$0{q7k-ItUHYVHijlx!GhyXIv-P*2B+j|B z@O1=r?HO4I@*t(jsavI1#hWz>v;J5@QlXaf;SJqw3*})7(zhB7{>&a{XT8(X*EEd> zK^x65vh{PeAO6L~=NJ{`r_m8Y$q{QDO%lEQM2DN+O|wNMhbfDDX* z$I~+;;Cp_)_-ErSAw+d(7Y;TC&apkSZ=Ua&)}U>ZOO)=jn{1M!G_PAWwPdvOMF z%cdNNVms9TwqqHl0y!l$J+I0BuOkne*@T5_bzbQinNLza-ce7d!9o!@*yr9^G?{J& zk>s2qQlskZhareJpwcz8y=MJH9h3LL9@nu2vci#-ll|kP-AtOvWxBuy8)g03klY{E9 zR*dw!J$&1JlZX1gj0r<|;qh5RBi+&vxn^Wki5TQZKn|sB5^cq+zxc40q^bFFYHkLj zBra(4-R3UTr|DtdI*M+K3^r{QS(?z}tdT%DMM}-@hDSdd7gbI^3(6ymph7e=3AM3J z7(97g=CjKQwm`b^zwIy#QX^nhNgq3hM7Fa<>Fi&uBfsT?Zvh+m8Jx5xfgQZO(ponJ zm?=!EcyaN^EiX6EOqQ@EFDZ=z{zOiNwd?3Cp!Oc26gObAL6Z}xQpKsFA=23g*=b_) z9=`u&=X{ZNcDC-#o@w!GJ0%f_7`j#?ss7PZfa1yNGaO&9PqzR}-xm)#~ZWP(7aV3<8 zT3={}?+wPvM^M5MynF_VodI0^TY)w0{RQlDbQb6m_SIAv3Oaa;TfoS)1D|AfxkRj4 zYfB&YiKn<$fL=*n_(ynqP{+}+ofPMm-fFygeugsgq3A#f8`OmLGmjjeLUt`hcgbQ1 zngsSK+G?eZlfPX8eh?z8M+A}bIF;hi@|_NQ)GQORDCXzxY8E*ds|ELSI6i+=BZ%Fw zX-w7X-WwRRT=kqxGh0bhP`p70%<2uM+#4}7+3V3hVzI|yT5<<*Z~cW*jh1`(^Ykg9 zWqm1#V9oiQ{>Q&+bpOEKLO(=<=5-)CIW(I|b!;HEw_oIui&ahJA1*%rl8<7;^Lee% z-#0F<-})NL*T&GOlX8dGuo2?ZlBuqnIQH<&jLpqyif-i0-lY&gubNFmD0c_kE8+xb zQ9CKasJHg)Zwp*yCmFnK*+VNobV_?0V8DS~J`ZPzz^`cBslDN;ue;RpvO|^j%gg(X z?8NOXy?jtogeD|JinUv-jYJkV)^5?+R`RrnJ|xFXPXjwlNsf=FKCTyzh2a54;8VL?=h9xkSqZIVPbpznp=w;oKxA)`4D> zzt?r5R&WE=(DEVCGhFWdfDXCoWILL8ho9;W4K@{5CNgp=A30Wru}V7a6hvj&PL4mT zNJ)ifHs*850S4d~k~D6m(4u1c?QOJ+!|D5&rQ1DO_HqwdA5r|(#EOL^jeM}No`qo0 z^#)eQ`)XHGtE*K_BvRCxKwI4<(o@~aKO1Ao9N$Xg3C*B2Rg_wPBH56+YsqHSfb`5n)6EIx@k3K4O#A8sE$kO9Gs~pUH^V(Lm*U|!vd$DAcfT9b;m1*U;PNvt9hxF= zqRsxeny(s~z<9os_-Gy2aH{omkxp@Ec4#tZ>R}ORh*7C)ePYe<8Gq}~z5BL>sHYL? zq;<=ABv%;=6AIE4N&M7FVF^pg{S%hmL?G^YHRIgdY}bf@X*O*29kO8M|$pl?Sfk^XN#4k@4LdU{Fg_x z(LdrKBR?~bjWWtyVcpP8XOO063(lAz86UsrD~?>AwVC|ayt1-Vi&)_D3DHm59b2&P zLHw?}ymrGh=;@W1c(BdTB~lNy$-h6RuV0&q{h}lamrP=!+)WenyHCy1Nly(6zVVWk zbkV|)(0k}C9eZ?*24uZ_CUO3@8IemQTOXWxc^07moxr&KawVbjC#I%#ecku4Q#07- zgg=9reW#d3;G$PJc6nIQ$My|<aIl5~SxyV^R+DJu$Yc2u4|-xP&^zATV@-3NlRKbO3&w8>Nj$WSDxy!k4qirJhyn+@5R5d)xs3}w+Ad#X&k`L^Z!&_4cqFp z_&27OQE*K~?>!jXg*gLzdZFabPBMb%WV4i^)c@> zp%W|vwT>75C2Ut=8txk`06+gzyOcQKh|?fXIva*57!21ka#JltilVgj!(#_Ga4^-` zbc-F>!t?Z5gQr*}iq7?>YHed9n0+=a#cgl=@IRZfICG9;2kR$ zDWWr7n7p{c*4#n7Dl2>2!flbR@m8vFyrrijpiV=Zb9Z2JLHa#b2|^)PrG{Ay(ph== z!z-X3BW>~UCz)#`70$=cA0x0%<-`>-tVn(Y?5m9lIMOr1WAVs7HoJ3?@f|@-WpJYp zjUX&utL92s!HSlxKfXkOwaa?Mk*|L6jlI>|O7HI4Rc7$gL}BXVo5Z~0CYrNT{z}t? zG^^Fp%eO(dw29ied*%nVPRxGEspV@rOQhmjV-xBM;=iM_(C4QdWS(>s5aOeZec7=^o!QKWok=sqF=W8QCt+eLi;cGlI_ zd=Z&WOjnYtk+}HtaAk_e+9b8#_MKiA}E&`7f8#@{ENRu<>&P;JUd|8gW*X&PMv;Y6o(uh9t3)}XhfdpZ0w}p zi|R`0QH*J5rt_HIlV==AY1~(;4-L!r&d3z1*~@6ahKGofWPDXZtLxz`Dj^VU;3~oS zy6-gPm8oo>1DECOPnp85=n?MVm*{3fg7A?MJr9BIpsbEHs!ui4@tzDypoo?qf(k6c?fC~>1JMT%NT zXnkl*UMf*EwZAXrQt|@%jIAbYbCN%oD9l7%GCXu|C@w4sH6?uL;mO(#ZE5FI??tAB z86R27C!3%20W3DEBuOas9_ntJR+VgDKcE}r>s*NVZA9L(MFZ{wp&zIrpD$tWB>5ixW2x86%2 zNM~@lZX{4ByS1Z3gq{P#U_e6dxEZON5x1AV`q;^#hbdRLz)r_kN0)fRhvQ%@N6bN0 z!nTC$GN=J9NwhBK7&Wo)Bpn6vxCfAuEnA$RFvHyWE(`ZJY+F_`mx3`A$g$UFoKZy@ z{3$f6K|}K!&mCqE+_CKw>^Ql+#jw<)5Lo5iVE>l;4@qAJ)hv zrO=ZYyG&+j6s3IRXGh5-`!YQ@*40^h=_u)wLHEsqEMf%rS#-)@IPcOqv}+YT$d%`& zbDXn{gQoEo>F8lOor+(Wn{(DB>Wm7OWrn(~btYuh*7o@8o}}qFK6Ge8sO0xM$R(E2 zu)Unle78{aE)|5v_51sVv)yO?&N^z=U#tLR`3b<*rl9afe(QTDIAL6>RY|lwtLEJM zi@>&b!mouQ{E(ZKEqZ(SoyV>ZsVniTb=9MX)x2{@vZs&`GUU(a1FP&v+K%F?4(l6z@PfBcHW6wk z_MmFKNk?1$bmaV-YeKwm?oaqzztPKWye_xSEB@NZ&0zE=%eX$XU%s(b6*+d|I8pYvZau2!gv$ ziQV52n@c;8mD`5v999tdQ?{N&;cKY#t{bUxuOL?95P~8Oxu7I$^ZMxO(lkK$EJjuG zKek~hZd&}}4)^&PNo0&XOtNN>K%?5X42;7n|Ff@Qn>bhdnr?}r(}Ijt1Ew+AbdhJS z97>y^M_q7d47e;{H#ZsgSI=BEU)W53=s%mr zDGOV7&eLFR>LDj2jS^Ap!>)CF`S%_%Fjp@6<>sO~<|YD8B9I83AD!N17v<)+%8(c< zLqT0PYrB@Rl>;mvP_c3#W8|JAlGYeMj9S5StL76}jMDdb0I(9&6@u1Xsk;w%w+p$w zlR7GDN9+r-|d=m7R+N_b{2ae9uuFU4Y zf|W;K9jfQ{ZuY-Nq+}s)f?`z=vx4lS!~D+JD@yOO5QPm^^XuX_e~<=Cm%wK=1DB|< zrt2Se82;~p`PwBXA}3$BMq1}Lk`sb-u?LZ+o|3mX)Jv;HEkPo^G+wfn^0U)-aS8@FJ*UkBSA5|}YBCAhoxF-P_#O#@({&F+S#hltmlseq z*E=rx{JeR)tG(UtKiJxeI0=S7q%dWxGlPD}Ejw$lm-N(;&j`U*Z&6bAB}Fl+1U zF)uII$Zox7i&df9ukjCqf}VXnqdj`nm53$>zb=0_U_=KnE){yu(9if5!*brMqr^F1 z4Ph12C>D8o!i=M_y$K99CJL+miaiO^hOU$}Ilb1}37jk;Y#Dn!Ap)mn1Elf(IOq;A zkz7p`)HYhm!DzQ^R0*l@FwsIQ)#quJ2#j4Vx_-K^EzZ^>;KihE#M2ME1^9or`qfce z%|nWn$KC(Qldo{?bzW-`;hO>ZrX+Ahf4r)XzzN;bbS$_^KG|ZLX1!SMeJn!i3<0Mo z4<5X6OInY&H(;#%B98q*Hdu#sABGb~gAf)Ka-9OfSPHnJ4eJ?NBt>q~KlDm0%jj;b zK1`$#{^lJSx%sVbjCDcFua?wtk+nabt9)=x6@q_gJF&1eHBB&NB$#RY*R^(k`cG+j zxh&No=c{m4X`4EPWoA?>`r{ObX`1=U$mLQjhJw$+p%X+gBsMZ(GR`(gs2wS4^-z_> zLm@;!!r9XDr*?Y~KVZX_GB99MX}Aq~Bd7?Lp=VllySh4RSMc`E{O+$qBc1Z%B~!B~ zSuwrUSC$N&k?Q?M{Oid~3Hbfpe7#6EuuVMB9!G8?aIC}j=G*W8kaEMDr~db) zl}7F4x0SD4&i~xgcXU)BP*FIC(+{d*)xjPyN)dN{kQ4Pz8zXNjFLwp0Vs!KsR=xQD z4v(P~%3W{s8>2t>*?c2qo5@Wxw9|N!Dv}Rg3OHd2{$7uu*FMi|$JNJZ0G%2aUx*D? zwh)45eRa=8G`6)dT%l1YTtV*Ge1k!H!URKgl=fXSV0v=gZ4l}T18F!gTdOf9nIG9)BAZo9!BLm z0~O2N(ubzl^Ti-_|Y=0MwWc zkUf66a%jaw3Qp&HVcxpjX=iiTrcS3!{>D`z8JhqA>Ze{gpDmhe5R-q-B(jbk9l1pt zk1pmdN`Ym*itza>P?uDY{N=!L{Z7I1;REB%AFM5lDsI9#qjfRz_Px-cuXqZ@M~tDAjcs7^voa7}lhE?0C11nFN?;ZoRD(HT*j$eypv-s>QtbrtG_uBqnv( zo!yx;@Sq~e1zLHhd#azkKxx5*KP z&mQG-Xq_n)lrXlmyqx<=4(Ru<=&BeaU6|&G+l)<~D}S~dgkv%&rFBeo#gF*jFd5EI zX=PWzn@9j1V{aEa4>_;(i$?0efLEEJ?&LtaW{9_bBaZ8JT} zJ;JEXe)ayB9dbW7>#r^G+@6`+?jMeFQI=PN@%7EgQ4ak>h>^vNiE`GM@F!Ic%@8W_ z)Xu&ueJdd)CFQ30zKI}0WMU(OAdYxEeBJ{4v<;5`zkD|OPS5ewBo&Dp#@tF!>$d&w ztGFqqnm{<%7j*MTPhRFJMF+~t8mMk1VDae2RI$LZak=Ejvr?KiSej$K9MOuGR`{6oGwAI>2f=yXs)wa` z=o&chh#}96f~6zbLP3<#Nl~UuzVjo9aP}_Yfsz5cI!dZ!e(T;=@v7>_W4Q(0#P}TV z-|fwfiovo`QH^8Myoyf>I*EKd@qqnnOHk|y2mtul^^B_5b5vnh(vs2n)m?awx`a{b zFepe;S5`=jjAjTvh8?9z5u#h#FOl)T?DchPK?&7F4Ncd}vg98ml6UTkTyA{Bvp$>0 z3JM6)m%c(ooKAi{y-#7>DfoV(-y&3yi*9$5gO4xawK9=68UXv$+8WKE@PGj@5?`L4 zMr+gz#&hcA%?=dh)r6QWq5L9960KA;EbPe}oOz0r=Ol5zb;7cWBp#}+F!}0m*3)-` ztS`tovWAUyBW0!tskPzsCEdwh#le66)Wi7m=j=`(qE@AiIkLVC}*xqwlGeCnYsCQmbTA&ODS{!n+D>H}&SVt+^?+7Bi4A zOf(Z5h&Pt?fz{5&W)tjdQGnJGZd*aD{Rwj}(a8O4Q$GBe8ZCR#@)<^%JT zw*wg&ndkW}33Ar>itaN56FiyNleYGuR-ZObrd11mddMNsf~N?TzrGE?3kn*^;65P% z?YJeNF@}Qz9IU2U|FDVr-e>PFnHuA$C2^;V)D-65G?HdI>Z8T9)(p-^M!tm?XCZZ4 zr4Ftid|T{t`~~fE!M`h{LgI-;1++W(F(_C4 zfvxd8hCnDy^Gwv6@a5k$Ljz8sk)dA~ft*A7v^iE!lkg~fpZMs^Q=!uk{-<5!t6t~b zaKNADz*(PL)T<4erp`bj5Di__{XiuWkSCq-0~@>C!@VGm1F}1gH12C%gZV6m-Y(`U zr7ol3!#x6q6gNq_mMrYIare9A0um(I9|dD)PJZRLRg-0|rmr866F?u}g?=xuFN*Xj z5dZ*uhYff$Cb?%FU*JIAcN22^?2v8=S*NEvr_H=nHBq=<*lEIZdQsWueH};u%(Ui( z8Q91qeEAmPx6;rF4Zrl^KrLg1^A^ybYdvZ5X!IJu(xl>=KE z_W~Q?^4@G`Fs!^U~U0U{OL1@&p1)o6K3`y-3MZx2IC-{D(gVNJEJ< z%=l^O2_x3lKXHoW%^|^a>0jqYJo@3LOgHaF3s3$LLukZl<3Crk{8F&D-anzq)?6(Y z^dYLqWNnoLM+g98TB{kHZ;cHN{4URbbXb;1xX+nS_Jkk8i7upW9Cuq3mW^kvJi+Or z(mXSGnHnKL0X^WhJ~`*%-QbG&!t`XI9McD8d&d-Ksb^WTrGCkBA4MBIe`BDe*gRu zTlr3uO*4(&7)1w+y0r>IcyTbRkXv_sHVt<}OP(2e(Tz8TvhIV)Pz38kOTo_3pWIz+ zT!z?#F|H4~j!>8;Pl`2WK5wY{X9*A&(v-Snt)?Oh;u7bbk3z4R0XrEAGOk4=YaA{z zW|6iM>~vVn-=iukCUEu#!ckAzko@Z#M38!3uKEcAjh^JO4&aO%K}0*s_mO%|y{6el z&HE3VLrA}$ACUn#1i|b}FTa>R+#u+DIWB<0T6mpEpLFgdi#@L{i-N9VSvp1-VVWU& zvNUreMg;vx8Y8Y`Ex;K*gA6df5*tEa{8wMTo|zS%{3h=P0uhauoUZ>_q@$A!w?!t& zp;7gt91X=E+PXS_UR<*BZ-dl7?{tVLNmQs1GBBrOKrvuep)+7bdkoNb#9B>gC1Q~- z#w)R>~4Dij=4EQK~SQ6-Y?iTukcYfJh=!wlq#Cz2Y6MU4}2gXO8eK=(eXq?!`J`cZGbT^!zpZ)+Z zD=P2k@X`Rk5W{M4p%>EgwSqnzY}`c*R8%6qzAeO`nw1uaz+;F-xn^mKf$lq{Fye@( zXw{169<=>^x?&sdBtWd{wr=B+Bm7!!$$cjRN(>3gc4*|tIA1*^KOJA=AB(&Gor$+~ zi2$bQ`boglh76n)bzeRUt>=!8j!KD1?*>~mbk%Y)Lq_kZ>2c~rD7ukxKO#{R!gSAt z2@k9D!x7s-G*t2?uE*y+-ud|Rbh8C-J(UZlv%pgh-i8WwiUq!ORH3NhsN0Oo&MdLg z$=0jmi(1|C=&kz^$**KpHlFHJ{_TS`q)?@TCDB{|iT!TeBx5c@#W+IlmPYfWt41?3 zz?)2u;WI?9rRol50p-5MCKqhX4i|J4u`vVxx5Mn&h>VkQ!==mcdh$%B?C_~a8EHp_ zKw;_Fi4H{XFlCA*Xb~FHaLMwuF`;A98Ccr5@o6*Ch;}t7YxbN+@kD*$7cM1V5C@T= zi9_8QpOWbUu*pmHcEWeCagi$ZzxPt#{{0f8YDWX=%i%S6kdDqyR52lpU$GFfE6-nT-Wyl*%;g*Z81$*!0G9|31qD|;Ki|6d@8%$f); zK=PjkEms>aA9D|Dz{kgj-QLB~)6(3{n%&jI_REC`Df~xz{@VIpn&v*#ZXT{S_Dmkw6}D9ETvS3}Lh{s%px?p6Q* literal 0 HcmV?d00001 diff --git a/website/static/android-chrome-512x512.png b/website/static/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..c02e22a2e1107b45a40eb3c0e451bcdd198b7c4f GIT binary patch literal 36357 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 ZZBi0@9LU}W_YDN8C_I#}k~M$ve*yS#`KbT^ literal 0 HcmV?d00001 diff --git a/website/static/apple-touch-icon.png b/website/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e16582e920427dbd0770974b137dfb04d80443e7 GIT binary patch literal 9098 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 Q!dU>6 + + + + + #f1decd + + + diff --git a/website/static/favicon-16x16.png b/website/static/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..fe415500842870e71b0ba2f34024a3c8321794bc GIT binary patch literal 1242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>1J)? zVP)-Z=iuw$;AUeB6mbU%MwhtT*f}^jc$k~JTUqtimI1jQR#rfi92)FlYv*la15#;a zd$cTQ9G-BY`piu1NFo9%9GvL>2?--yqDGRB@aG$Y3w=^mS!_#>^sO$RJs{c^OdXkEe@c zh{WaO1RzM^Vq#1aW8+9j<>uq$wF`E#b}(4rG3 z9!I99= zIJt~it?&7;u$MB65R)w(ZOvHC?yjz$zEeS*jV;_?Uq4?y-u{1s0|T?C za~H$4IlyempjzS@QIe8al4_M)lnSI6j0}v7bPbGk4NO9e46IBntqcsb4Ge(f56+)E zQ8eV{r(~v8;?~d^;s`1fBtbR==ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1ymGX z6%tVrlvu7%P?VpRnUkteQdy9ykXcZY%)n4F=kX^Vj>0evjZ^-o&v-r!VqjM0)=TCV zRu=Z2EW#|T;L>1nIE7hxbBMy}8&^&oIdeqj2>a;@oKDY{5R2{nYEG-;AGBm_d!APR(z0tqA%Kp)Zs6{(>tNJnrH zX`+-MO-hg;K9(M&h_Dn9DIy|mq zsQ4>|1h|zN9{!CBd_HD)GXSVf7TG89|7v<*?C<~(eg*&{V*%hNmx^2hfLjOvSaAaY zgFgX4hLX#)HR3h|+;NvIfTLeg*z%OYWrQghCn^B&?EFfelT7$NmlUK~;?aWtfcT)= zfNWS@8J97!v@mlZc2;IN6NY!BSte~qUgR2e_Vr_uQe+-c)f+_Oz2lH!)JUi--XHbF zYI42^|Frdc$I}pGc1W2`K#t6iRnM7{63598J@>^x#rX0{Z6(DhG(v@**>ZT)X8gPv z+&rtd95!)bkv{PC&fUfRf!(||H=gi;&r|T&P!VDuEG4#3V(y7lLd&7;?Y(((Cg+X_ zetSCuv&-Wa23-VrS24RU92|xBXHPM=cz=k(8-Un6WeX(O8#bmv^iOiQ2z$u6E9-s= zfJ428SQ;7{$$W+7Re^#Ouwt4m#&xPX#k^k|3eBuGZQ$6iX0#>{kHYmjB9;RJrYL;< zwASIK=$4F(%$j#0;9h=$yII**1>$)X^b_&4MV#7sv}PTSutqC-v<-sJsA_D}_YO`h z11eO0h?7$rU#7B+Djr<@yCB^D(M6phzNbAyap#!Ji-jvergn$nIDDd7-t==Jf7iBF z%(IpF$Pw?lx0^4dv<(cBj>*C1)X$_fsd&X;eB-R>C*7?d))+_*%BB|`@p=k5I^Gr# zFm^`p##J2&PEF47vq`D zFdo#%XcfOWFZ9@aZDo0sl#S$j|0+RKk;G4HhFPP7^SuF&h$ytChIsLG!D(UwDTn+{ z(6msc&1OB`Wg@Yv+qvuT!c6CKKhQq42M?#9MpFHdK|Tl#y*hV8Z(DTqK?Gy0S(o3G zF}5c)3krR4ga7lWgR(SI=fvtnlSY-l#oN!uj8R)R_w@CCnyOxr#P-3e*&tb7UY;RF znE1TSk(|Q=Xj{E+eQW9X{HeK;E_=R6>QcdY54ntAJIF`EE`i@`eP&1Ylo$y= z5Obs7(gD47)E8uboHfT8Iy$P26C1=MSI!m`dgG;CL#}ljOe9m+r5O1f zsDypYg~q^KG~XW*jE2Fu>Qki;Mv6(Ve66hG0aXT&h?yt13$-`>b1rOWO{KK-WPafK z=Ao-KMEoA(@$W|KN}LvU_Sk>ql&8P?*dAt-ELD~5gms;Z zwad@P$GySfu)IRGQz*Q)!MUiNa$R-jt34BKcaumt4vt;yvFvO!#PQ;~3Yl&pP+Inf z49i8$BboU-5G}{7A#2Oj$1Ise+h%5NoEW=tdQSt?z~Uj?I`D0nF)8MWtsHHrOzpjC z>gar15dS{JzBU-%Ob=X$`Q#H;)`4?z5eJ$>P#ejaxJNctAJ+_%%Q-duq9rU|&qvo- zeBioDh3N+HVlm4b&02VUM9H>0#+wH=rBbO@Z{#0zmwY|JLMcz?$n~;sZB5tOTV9Os z9B6IP>iU`{3#;A}b&B~i9$)P)r%iLD6n4bOW%mf--wCAn-JU)9P${$!62am8)ZfXU zCI1WzIy9H(E^)nGlfyA=3~4d+dmT1ppPr>&08i~rJ$VU%AF9rEx^viO>%v1uIqZP3clI3!{e$aC0Rxyw5$mCv5!&b=2`QLi-h_or(O7) z0@ay4S6pXIvB%}awhCI|ne&rD`rr1>ioLhc^+{5VjV8U>{VxANh_)>%nrkhKQN`l4 zWY<+^SC_wJZNIvC?`dO7?gxMHCiU(6Hj~Kb*EaMrq}feB9nb1?Na&Da*i($ZRMVx$ zKS`$9p>s$h`K3;%jO5nF%tlbmg@~hCD3BL%*K=a78`f^^ht)PRimnbkv4F#R>)Q|_ zT*MQ_UWxuT<25@P@FblkCa`ouoW0O3P8xCS#}EdQ*OZ|5M6#L@q7b)Y*4MjdzgUIx zrPni=3GLyLBO}u4@a=U3b9}m^p_9&djkb^0BCC&P-bQZIACu9Bf@R+XhYt!~)@KeF zN|P%qwy?gZ-i?3%YkuIrAde{D9)+MEjM2-@#NL|n)Mrg%$GVk~I z*C7u#ztMRqeCcfC0<|--?^6CYF349_$k)~lh=bZSg-iw{A0{96 z?_tadnBA(hyn_TMxUaweOTSuTt$U6*v|H6(`+TIt8!@-(J?WGaG70|h(iC$~ks1)c zsWu@pJ*-_1p%mMwR;mCTD&JeWzZC9FrEa0xkAPU0>{yufjZp4&Ri>edG*1%E%fKVp ziwgh}fkbK`bTkks2PDD(rEh>hs38#C`a^iP>3;+PWKTcuu>UW3;9&OaC6N8)U{Cg@ z(MiEx0G&?P^b5R6^&nBaG|9m}kJpUkxIHsVHGvfwN!q5lZU)x^utZy1RGGU){|k}j`%3@- literal 0 HcmV?d00001 diff --git a/website/static/favicon.ico b/website/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..484a28f36f5c76ca24a36dc1b1af0636e90d2585 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/website/static/js/carousel.js b/website/static/js/carousel.js new file mode 100644 index 00000000..a305d243 --- /dev/null +++ b/website/static/js/carousel.js @@ -0,0 +1,164 @@ +const FLING_VELOCITY_THRESHOLD = 10; +const FLING_VELOCITY_WINDOW_SIZE = 20; + +let carouselImages; +let carouselDirectionPrev; +let carouselDirectionNext; +let carouselDots; +let carouselDescriptions; +let carouselDragLastClientX; +const velocityDeltaWindow = Array.from({ length: FLING_VELOCITY_WINDOW_SIZE }, () => ({ time: 0, delta: 0 })); + +window.addEventListener("DOMContentLoaded", initializeCarousel); +window.addEventListener("pointerup", () => dragEnd(false)); +window.addEventListener("scroll", () => dragEnd(true)); +window.addEventListener("pointermove", dragMove); + +function initializeCarousel() { + carouselImages = document.querySelectorAll(".carousel img"); + carouselImages.forEach((image) => { + image.addEventListener("pointerdown", dragBegin); + }); + + carouselDirectionPrev = document.querySelector(".carousel-controls .direction.prev"); + carouselDirectionNext = document.querySelector(".carousel-controls .direction.next"); + carouselDots = document.querySelectorAll(".carousel-controls .dot"); + carouselDescriptions = document.querySelectorAll(".screenshot-description p"); + + carouselDirectionPrev.addEventListener("click", () => slideDirection("prev", true, false)); + carouselDirectionNext.addEventListener("click", () => slideDirection("next", true, false)); + Array.from(carouselDots).forEach((dot) => + dot.addEventListener("click", (event) => { + const index = Array.from(carouselDots).indexOf(event.target); + slideTo(index, true); + }) + ); +} + +function slideDirection(direction, smooth, clamped = false) { + const directionIndexOffset = { prev: -1, next: 1 }[direction]; + const offsetDotIndex = currentClosestImageIndex() + directionIndexOffset; + + const nextDotIndex = (offsetDotIndex + carouselDots.length) % carouselDots.length; + const unwrappedNextDotIndex = clamp(offsetDotIndex, 0, carouselDots.length - 1); + + if (clamped) slideTo(unwrappedNextDotIndex, smooth); + else slideTo(nextDotIndex, smooth); +} + +function slideTo(index, smooth) { + const activeDot = document.querySelector(".carousel-controls .dot.active"); + activeDot.classList.remove("active"); + carouselDots[index].classList.add("active"); + + const activeDescription = document.querySelector(".screenshot-description p.active"); + activeDescription.classList.remove("active"); + carouselDescriptions[index].classList.add("active"); + + setCurrentTransform(index * -100, "%", smooth); +} + +function currentTransform() { + const currentTransformMatrix = window.getComputedStyle(carouselImages[0]).transform; + // Grab the X value from the format that looks like: `matrix(1, 0, 0, 1, -1332.13, 0)` or `none` + return Number(currentTransformMatrix.split(",")[4] || "0"); +} + +function setCurrentTransform(x, unit, smooth) { + Array.from(carouselImages).forEach((image) => { + image.style.transitionTimingFunction = smooth ? "ease-in-out" : "cubic-bezier(0, 0, 0.2, 1)"; + image.style.transform = `translateX(${x}${unit})`; + }); +} + +function currentClosestImageIndex() { + const currentTransformX = -currentTransform(); + + const imageWidth = carouselImages[0].getBoundingClientRect().width; + return Math.round(currentTransformX / imageWidth); +} + +function currentActiveDotIndex() { + const activeDot = document.querySelector(".carousel-controls .dot.active"); + return Array.from(carouselDots).indexOf(activeDot); +} + +function dragBegin(event) { + event.preventDefault(); + + carouselDragLastClientX = event.clientX; + + setCurrentTransform(currentTransform(), "px", false); + document.querySelector("#screenshots").classList.add("dragging"); +} + +function dragEnd(dropWithoutVelocity) { + if (!carouselImages) return; + + carouselDragLastClientX = undefined; + + document.querySelector("#screenshots").classList.remove("dragging"); + + const onlyRecentVelocityDeltaWindow = velocityDeltaWindow.filter((delta) => delta.time > Date.now() - 1000); + const timeRange = Date.now() - (onlyRecentVelocityDeltaWindow[0]?.time ?? NaN); + // Weighted (higher by recency) sum of velocity deltas from previous window of frames + const recentVelocity = onlyRecentVelocityDeltaWindow.reduce((acc, entry) => { + const timeSinceNow = Date.now() - entry.time; + const recencyFactorScore = 1 - timeSinceNow / timeRange; + + return acc + entry.delta * recencyFactorScore; + }, 0); + + const closestImageIndex = currentClosestImageIndex(); + const activeDotIndex = currentActiveDotIndex(); + + // If the speed is fast enough, slide to the next or previous image in that direction + if (Math.abs(recentVelocity) > FLING_VELOCITY_THRESHOLD && !dropWithoutVelocity) { + // Positive velocity should go to the previous image + if (recentVelocity > 0) { + // Don't apply the velocity-based fling if we're already snapping to the next image + if (closestImageIndex >= activeDotIndex) { + slideDirection("prev", false, true); + return; + } + } + // Negative velocity should go to the next image + else { + // Don't apply the velocity-based fling if we're already snapping to the next image + // eslint-disable-next-line no-lonely-if + if (closestImageIndex <= activeDotIndex) { + slideDirection("next", false, true); + return; + } + } + } + + // If we didn't slide in a direction due to clear velocity, just snap to the closest image + // This can be reached either by not entering the if statement above, or by its inner if statements not returning early and exiting back to this scope + slideTo(clamp(closestImageIndex, 0, carouselDots.length - 1), true); +} + +function dragMove(event) { + if (carouselDragLastClientX === undefined) return; + + event.preventDefault(); + + const LEFT_MOUSE_BUTTON = 1; + if (!(event.buttons & LEFT_MOUSE_BUTTON)) { + dragEnd(false); + return; + } + + const deltaX = event.clientX - carouselDragLastClientX; + velocityDeltaWindow.shift(); + velocityDeltaWindow.push({ time: Date.now(), delta: deltaX }); + + const newTransformX = currentTransform() + deltaX; + setCurrentTransform(newTransformX, "px", false); + + carouselDragLastClientX = event.clientX; +} + +function clamp(value, min, max) { + return Math.min(Math.max(value, min), max); +} diff --git a/website/static/js/navbar.js b/website/static/js/navbar.js new file mode 100644 index 00000000..6b91a777 --- /dev/null +++ b/website/static/js/navbar.js @@ -0,0 +1,115 @@ +const NAV_BUTTON_INITIAL_FONT_SIZE = 32; +const RIPPLE_ANIMATION_MILLISECONDS = 100; +const RIPPLE_WIDTH = 140; +const HANDLE_STRETCH = 0.4; + +let ripplesInitialized; +let navButtons; +let rippleSvg; +let ripplePath; +let fullRippleHeight; +let ripples; +let activeRippleIndex; + +window.addEventListener("DOMContentLoaded", initializeRipples); +window.addEventListener("resize", () => animate(true)); + +function initializeRipples() { + ripplesInitialized = true; + + navButtons = document.querySelectorAll("header nav a"); + rippleSvg = document.querySelector("header .ripple"); + ripplePath = rippleSvg.querySelector("path"); + fullRippleHeight = Number.parseInt(window.getComputedStyle(rippleSvg).height, 10) - 4; + + ripples = Array.from(navButtons).map((button) => ({ + element: button, + animationStartTime: null, + animationEndTime: null, + goingUp: false, + })); + + activeRippleIndex = ripples.findIndex((ripple) => ripple.element.getAttribute("href").replace(/\//g, "") === window.location.pathname.replace(/\//g, "")); + + ripples.forEach((ripple) => { + const updateTimings = (goingUp) => { + const start = ripple.animationStartTime; + const now = Date.now(); + const stop = ripple.animationStartTime + RIPPLE_ANIMATION_MILLISECONDS; + + const elapsed = now - start; + const remaining = stop - now; + + ripple.animationStartTime = now < stop ? now - remaining : now; + ripple.animationEndTime = now < stop ? now + elapsed : now + RIPPLE_ANIMATION_MILLISECONDS; + + ripple.goingUp = goingUp; + animate(false); + }; + + ripple.element.addEventListener("pointerenter", () => updateTimings(true)); + ripple.element.addEventListener("pointerleave", () => updateTimings(false)); + }); + + ripples[activeRippleIndex] = { + ...ripples[activeRippleIndex], + animationStartTime: 1, + animationEndTime: 1 + RIPPLE_ANIMATION_MILLISECONDS, + goingUp: true, + }; + + setRipples(); +} + +function animate(forceRefresh) { + if (!ripplesInitialized) return; + + const animateThisFrame = ripples.some((ripple) => ripple.animationStartTime && ripple.animationEndTime && Date.now() <= ripple.animationEndTime); + + if (animateThisFrame || forceRefresh) { + setRipples(); + window.requestAnimationFrame(() => animate(false)); + } +} + +function setRipples() { + const navButtonFontSize = Number.parseInt(window.getComputedStyle(navButtons[0]).fontSize, 10) || NAV_BUTTON_INITIAL_FONT_SIZE; + const mediaQueryScaleFactor = navButtonFontSize / NAV_BUTTON_INITIAL_FONT_SIZE; + + const rippleHeight = fullRippleHeight * (mediaQueryScaleFactor * 0.5 + 0.5); + const rippleSvgRect = rippleSvg.getBoundingClientRect(); + const rippleSvgLeft = rippleSvgRect.left; + const rippleSvgWidth = rippleSvgRect.width; + + let path = `M 0,${rippleHeight + 3} `; + + ripples.forEach((ripple) => { + if (!ripple.animationStartTime || !ripple.animationEndTime) return; + + const t = Math.min((Date.now() - ripple.animationStartTime) / (ripple.animationEndTime - ripple.animationStartTime), 1); + const height = rippleHeight * (ripple.goingUp ? ease(t) : 1 - ease(t)); + + const buttonRect = ripple.element.getBoundingClientRect(); + + const buttonCenter = buttonRect.width / 2; + const rippleCenter = (RIPPLE_WIDTH / 2) * mediaQueryScaleFactor; + const rippleOffset = rippleCenter - buttonCenter; + + const rippleStartX = buttonRect.left - rippleSvgLeft - rippleOffset; + + const rippleRadius = (RIPPLE_WIDTH / 2) * mediaQueryScaleFactor; + const handleRadius = rippleRadius * HANDLE_STRETCH; + + path += `L ${rippleStartX},${rippleHeight + 3} `; + path += `c ${handleRadius},0 ${rippleRadius - handleRadius},${-height} ${rippleRadius},${-height} `; + path += `s ${rippleRadius - handleRadius},${height} ${rippleRadius},${height} `; + }); + + path += `l ${rippleSvgWidth},0`; + + ripplePath.setAttribute("d", path); +} + +function ease(x) { + return 1 - (1 - x) * (1 - x); +} diff --git a/website/static/mstile-144x144.png b/website/static/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..44f54fd110823d3cb2809ac26a6f6d95cd4b34e9 GIT binary patch literal 9538 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 SAQRpNKv`Zxu3qND=l=l@A%t-N literal 0 HcmV?d00001 diff --git a/website/static/mstile-150x150.png b/website/static/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..30bebbdc81986f9f8c672e67aaa043461eae56da GIT binary patch literal 9200 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 literal 0 HcmV?d00001 diff --git a/website/static/mstile-310x150.png b/website/static/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..4b08b270efc07cb530e2f221ab5d8855a43c6a4e GIT binary patch literal 9973 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 a(qnifE?Dx($#g0xggssTT-G@yGywn~y;BGP literal 0 HcmV?d00001 diff --git a/website/static/mstile-70x70.png b/website/static/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c2562807339004ddb930cb31bd39a85dff1c03 GIT binary patch literal 6726 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 P761j1icF=H>DT`QGfn?v literal 0 HcmV?d00001 diff --git a/website/static/safari-pinned-tab.svg b/website/static/safari-pinned-tab.svg new file mode 100644 index 00000000..1aa9c242 --- /dev/null +++ b/website/static/safari-pinned-tab.svg @@ -0,0 +1,85 @@ + + + + + + + + diff --git a/website/static/site.webmanifest b/website/static/site.webmanifest new file mode 100644 index 00000000..2920aae0 --- /dev/null +++ b/website/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Graphite", + "short_name": "Graphite", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#f1decd", + "background_color": "#f1decd", + "display": "standalone" +}