From cf6e65cc03c5d66cf1a24516669c04bdcafe08bb Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Sat, 28 Dec 2024 11:07:48 +0000 Subject: [PATCH 1/2] Improve compress script Generate zst and br files, then remove any that are actually larger than the source file --- public/assets/css/app.css.zst | Bin 0 -> 98 bytes public/assets/css/code.css.br | Bin 39 -> 0 bytes public/assets/css/colours.css.zst | Bin 0 -> 163 bytes public/assets/css/content.css.zst | Bin 0 -> 467 bytes public/assets/css/fonts.css.zst | Bin 0 -> 121 bytes public/assets/css/h-card.css.zst | Bin 0 -> 293 bytes public/assets/css/indieauth.css.zst | Bin 0 -> 175 bytes public/assets/css/layout.css.zst | Bin 0 -> 335 bytes public/assets/css/notes.css.zst | Bin 0 -> 342 bytes public/assets/css/variables.css.zst | Bin 0 -> 492 bytes public/assets/frontend/is-land.js.zst | Bin 0 -> 2816 bytes public/assets/frontend/snow-fall.js.zst | Bin 0 -> 1255 bytes public/assets/highlight/zenburn.css.zst | Bin 0 -> 439 bytes public/assets/js/app.js.zst | Bin 0 -> 173 bytes public/assets/js/auth.js.zst | Bin 0 -> 1538 bytes scripts/compress.sh | 34 +++++++++++++++++++++--- 16 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 public/assets/css/app.css.zst delete mode 100644 public/assets/css/code.css.br create mode 100644 public/assets/css/colours.css.zst create mode 100644 public/assets/css/content.css.zst create mode 100644 public/assets/css/fonts.css.zst create mode 100644 public/assets/css/h-card.css.zst create mode 100644 public/assets/css/indieauth.css.zst create mode 100644 public/assets/css/layout.css.zst create mode 100644 public/assets/css/notes.css.zst create mode 100644 public/assets/css/variables.css.zst create mode 100644 public/assets/frontend/is-land.js.zst create mode 100644 public/assets/frontend/snow-fall.js.zst create mode 100644 public/assets/highlight/zenburn.css.zst create mode 100644 public/assets/js/app.js.zst create mode 100644 public/assets/js/auth.js.zst diff --git a/public/assets/css/app.css.zst b/public/assets/css/app.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..f27d4f69b40a88492db239de5cc7c41599e04e6a GIT binary patch literal 98 zcmdPcs{dEz&RQmhNiO_?8*CGDXILvfydd_ur^sklfWrZShx5FC?>wzpcK^)lO3mq; z*^8I)JEi;5iDe9S)k@n>yY(Iks0!b@*$ GkOu&m8Y|2I literal 0 HcmV?d00001 diff --git a/public/assets/css/code.css.br b/public/assets/css/code.css.br deleted file mode 100644 index c0809f08172d9553ed797467ba318443143ef206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39 ucmY#vVPMhA$jK^JsOC~oNXjotNiEVXN=(TtEw)n7Gc8KZwdShjVg>-^;0tj8 diff --git a/public/assets/css/colours.css.zst b/public/assets/css/colours.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..fd30b78caaa631cca520e68a3d36600883536445 GIT binary patch literal 163 zcmdPcs{c2olwmCk!>2Ye@q%3GfRwU?ETvYrMIoVQTQ>ZAzu@1$-X9f8pmG-47YZRK?i0JEo*2d^lCT#@su$?YdRC W5rb!_AbV5Hs)oc#jAqm3KL!9AK}yyD literal 0 HcmV?d00001 diff --git a/public/assets/css/content.css.zst b/public/assets/css/content.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..01cfa187949e4bc6f98f7596d60239f926159143 GIT binary patch literal 467 zcmdPcs{c3T9Fr~|gIR=&OhP^%a~Y3jf2Md`i)C-rskzCQBCMWj?3Lqqe`rhB;%C3s zyqqI;F+Sz^x}5t`n^s>a;eWoNB;eNMUs`KkRGsT&I^!C=sqGhc;1|`^(aPIRR|j$L z^pi>m;E9vYH;NHBXYgam?w~C@F5Zs%{o$MQ#+KAW>7~<`6pLK?*Q?6pw_>4SepWFMR!5hQ`QW3@#Oi_5_n_hHQ~FWJkjAxS9+Y-v-hw@ z$HQEOJ=^BY)VDYLmc4zQmrhypgOHWG8;{Amy&@GO7S_aE0mZ!Y32!&vB&B z*_)C5Ec;Yd-9_0cZ(UE$FO=cGW_(5d?eE8V;T7}voVatR*ylY73wm{YKmYyROb5-k z7;e1(c#*-D&<{uNWqb8|w{CTPfAi8}7PtOeI(14n{l7kZ!n?3htKnsJ*=+$vZH)jI zh2v-V9GI3((aODcMK?!O&cRqfp8GvZBl`o^soaYjxFrp@Oe?h9$Rjp0{2EvGVh8gE z;m;r5m~hA)G-Z?7)~S}3l2{vfXWmrvi^^r^-%MPq8nENF`pU+V!%1a|Ei;`0K0gNl D+1iR# literal 0 HcmV?d00001 diff --git a/public/assets/css/indieauth.css.zst b/public/assets/css/indieauth.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..5e9e979fec4c0d61e798d10781faade3dd7a5091 GIT binary patch literal 175 zcmdPcs{c2|fPt5l!N^Natl>Q41ZN*-uO87wMpHOTE6Ze#IetELfHme;_t{hF%wL_} zayZSAiB@>p>9|MstX*Nw>}X@Hv#VYP+@6#iYW6%a_gnYF8^Rl(EiU@}T%+CM+v@j| zv-S8Fl|5N+;33!cVRea?65ISs8^1q0argIszVe1rZjq;(%=j7k7y@s!tO|U?<9P7+ i<5RcQ{#EgD@i8n36-}HIWq(E1AUb#99mf1^hZ6zzLs2aN literal 0 HcmV?d00001 diff --git a/public/assets/css/layout.css.zst b/public/assets/css/layout.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..aa9bded43d051e6618661180a99c752fc47d4a88 GIT binary patch literal 335 zcmdPcs{c3TAR{jqgA>25WI-kKjDP1>SqWAxIdu8I@$I1YBTO29tBsjVi?(ktTkN@U za%Iz>ITPx8t{o8Jo_}n;jpgL5h$@%lR1c@<+r}n8wM#jo?&N(*mFIr?rF_<}!%@Kj z=0`3m*oNJG_d2d?k80XKQE{*T72Bi}L;a5L471AF@LR4}!TZg|3DLLwb2@+TWqM!Q zzjBro_gaaMr|T?br^V^6xw%Bd$n5Zx*3d9T`uAq-9Xr3pidGs9 zZU%j!l@mQWcFa;>)m-tn-!PRW(VbnQ`8K1qm*VoamFrt%Pg~u38I-c@_#LeW6~ec= zFNkV}DO4#W^?#69vEZztBO6cr=~+CQjWUh>e$82DJPZ0{zHU;=;1E(sJi^7pq`?z7 sKe#X;R(WB)!S)BSY5W1(WE3|P8}O7I_T}v0&pdH?BZmx|-}Q|d0RKOfn*aa+ literal 0 HcmV?d00001 diff --git a/public/assets/css/notes.css.zst b/public/assets/css/notes.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..f9cdbf82b10f00f413f6c2d4721944e9bf876d40 GIT binary patch literal 342 zcmdPcs{c1-Iio8V16!c6OhT@-PVd5tDW{(J=V+wVim<-^`E^6n6?Yz{gZ^3!Ao%XX zMXvp?=H7gEbxp!=HlO!jcjlPvn~_r%C;8}g>Y3RsA~6dX1QiaZr853r6ZG-M(E}_O zugYkQ|G96^Ntr!X0Ux=}M>G0}`K&VEpkQFxG4)@y z%)RH8UCQRI<0{ zrpHE|P7lq5TO7M<-uA@y%QNpRkv7yYXc0KJMov+}^JG_x#>PZ@=6}2niZa3>W-|Rp z4>`%q58_%{>m;QmV#*ZU{C9@TsZ*a?Ed9a-I@V8m6_Qq+=p0ez$h&4E)BSY~ZAV01 y8RiGInBKVU*xkrbR_Iz9RUda%J9`RCs?mI>t&wW&Rc1Hofo=7Gepw=-OV=n%&X60uubapxBiCs>Ph)arwMs3 z(%Y}nbw`o;pyiLEl83SXT7`MuO*p>0zLxd!L&yC)WOHxtlx%sL{^MLp@E_~{k8>o~ z%jTK)Rz}-D{1Ue7ZTH91d0#f!+qE+4t=MhW)rmTNw z^KuL}mNs3Uo$}?!0_Iijo=m6Obl;1+2fusey+r>1Hq&Px)ipFvzG^TpZdy1+|5vD` zevV$qm(zKxa`lX?jz!8|U_ZphAffwH<>kgnxBQIO3fo!UUA3%y!MAG+7Iz;MH(mL% zX2nl0P3u_!pERD=d8KV-*h3yWPxGxkl zJY!ha6~tc1)3Vg0?U~Z7-llu%J}cRGhHymr7g*XBE_}%HagvwL?4yT1N6(6xGv|(m zXH!&y>m840hFhKP`=+&BU2=%YEkQORc#dH7lIE+cBt_OnS~6bN(tVJ&)OlM{!Qw*+ z35Sw5FWb7aBc$Z|&h=s(|7M6z!;V7+MPt8UAwh6k07FSw+T+50>`F`HG=-mdLD E00ofk@c;k- literal 0 HcmV?d00001 diff --git a/public/assets/frontend/is-land.js.zst b/public/assets/frontend/is-land.js.zst new file mode 100644 index 0000000000000000000000000000000000000000..fda6b38cb7ebf6a204cfff28e4d90c7862955318 GIT binary patch literal 2816 zcmdPcs{c2IMR964!>^DFd^!&{Y_mL9Enr%Bxoq!*xA#3+zU1@1is_E%->j}5`#&H~ z`)IUPv`S)IuE2ZN2MmuG?lAmO`!YF4CiB{qyL|ft&jw3N9cY@@<`RACBwq{vss(dQ zUbRPdO-x)U@zU&8#Era(h4YU3$fkdsy~?I*AM2!SFOIy)6GS84|IP7PBxLsXaNS2& zOV3T2PiJ)Jtnyqw;h)k{|K5&(xf51=zH@TL`JbLeaS>9PGN+yt_Ve%RwppFpVj5Aro60=PA8?w(Ioto^Yqe-C(-Z?2_Br z?i0NxLV20mu|0yTU)(s~<)Re0Eu?|rsr%aSqz}gf)Y3c6j;hT5+88e`QZi7^)F`f$L@+*?<)-L1AWdu<2l@W{?oH5XRk+S+hr{)4EnosQJv&H zF~9lzex~7*H0CuV{Mhz>O5}~{$IkyZI=_ZRPgnTD%jE}p4Yw)rF$F&0(`ne^e2t-G zf#D9u6WYA<8XUbF6c*iAd8l757}UCH!?X0xj*bskWIz5{+!efedTZY%UH15phmV$L z&ir(_?TVMh%>L488%$-bR$Mmu6|m$a7vH1lPt)e_zH-fW;^9+|%L{M0U08OpUA*PC zME3>z@Sp3C-go`;s98(r)RXlNJ68G6zuqO}B|G<_>1C5ZvwE-6e6KGecTOMqVzsR2 zw}oBZuMel2e{r&(l9|Huo5LWJ@7RHd2WzL)Y&h~f?2z$N(H=?B+^8v?jNhNV4$j~& zjlY=YWhFYldi!zqgvKUT9zK(f6)CLB(e8836l#dAF7xA>$N$KG|K-!yvJ9=>E?%~J z&##{z=Rb?5)-HN#sQCc zToAgRc_ZpxYVzmLKbBtZ<`#)MxHEsg%{~>*#gRf&uQBWAKB;{1$W2)E`v%MSK&K@N z$0IMz_WNwIT7J$9OW)7Ns!QD#1!?*gU(vY9zl|+UeqVL*zeyjT2F&wZYFQ$FcE0Zu zXZhM$YWseM?r-ss2>sm1`TuNR{HCV-mzwTb z$CfjvsXn$zIQZJwlgs^?GDG|1$e6u{7u~$q?6YE1Pk?5qvEw8WRY^W00TuxnmGi=h z8)Xl5_;i#AwDxGIs2HhuIy!P$XD?bS8B*h0Pr7FKgM^~*FJA8ui-U&*c|40{yW*g|_* zos9Y)G4Bb<-B*Y$R@HxC`Bou1=6C2)$_rSC_4kE);KO1mE3?6CP|~MdY;{8Ec3Wa+I#1Ewv^WLd z>oJ=+E^Tz3_}KITi{ORUzhd0?=gx=~x;1CpmzzQtToa~cC~l}x)9t*-8b0kvk6VAw z=8w!jL>o?bU*+jODQvB*^7@qY2hnh|Hl;-c5AHk^FxB9{^2%wW@AQ?Pb5`74JELOi zE0$-h646(@zXjY_yXuX3gN<`ws@m~@X=?+gY-TMzDa)_0pVLy;|F}b8PT)2JL!m>N zoW-`s?u7U}X1nFI&2Z+a-vO_my*uO9x_!ZsFOH^*rpps?haJ|5iI?^JAgXkW*zJwOqD%op?E`CMT^rb{q37zExsf z-sd(hEcQ_?tz~+#>^qB#r)#e-i~V7TuRkXG9NwkA)%ND(2oA50M)gt?!~g!tX7Mtx zR-9~o_~x#8oOhCE7%dM^=6S^t6`MQzHB08D1FvermU5Ns+sC1s@@MgWuaLtNJ{e9o z-+RDr^P&w|PLEkbcKF?nb5uV1hew8CRi)(Bc|kHOw)=Z7DN362cq8YZBa!BuvCodM z@cld-^C8+Nm*#Uk6bZchhSTfvf*3X)`$|pLt!|7{ zH>?caY@L#)@qGWBi&nEVgHq?4UeR-^dnUUtgX=6yrsC;^dYA9r-#;<1q^@g{{PNYy zCqDghe!=f~lWuE$>)6ua_;%~;8w)J%lvMPvsS2(%{<%%{g;}BRkG}9LuU$_3Rb5%h zYs?3%|a_~LkTD_bB>#-r~a_|Bvm z=*O)|F|3RUIs2Atqx9l+T7_y4(+gGxueUnq^?0*D`kJ*~(T}YrE6h3hXJgsqqoVG7 zY<4!X=8DD6PyTJ#!FSiTMyllP3{AV@r`M$tr2Z7om?-`Ah3M~jD$>GMt;aT~pS-Cs z`A}Qqj9VUT=k$KHcCD1W6O_Z%vOzC^A;|5x{B4`dTx;LoIq+*+)rRxeC;j-rdF0Of zy*#}2H^SxR_;aq#*lw8N;B{7QajNmMCoINI^KFmLxl*0#9n8J=K;Sh2zB$LaE($Oi zhHMN^R-JCraXgoA_L7L>uC@Lmj86X>T>V8Vw9oIZx|Xzot6>Hk&%X!zqvf2%i`V`! zzGis&sKnF4Z5~gj3AdaTJR*ErU_ptSguZ9eq9~&q{Eb^3t9EVubJ}F-dMAb__J!Ix zQgc-;r8We|N6l+f5jxpo(IMx+(5L&l#$>{wWt#8VT~hm;bCf86PyGam$4R zslF^Tj2?Y)7d@7q%&8fja$w{BWE;Lnp3TuYMJK&V66!hlI@q6>zF)MiO-laPu^qwE zrO(xNH+w`i{knN1Q*^e?wb=X+r*q*Ja_`+YuKjd~VMp=5I=!7Koxg8=V@_bp74|Qe zjkop=`MI*@YZP0-NukY56UtmgcbLiTdHeax{OSeA_dj-;XWe*_Gtcy4=?bgUQm;M1& literal 0 HcmV?d00001 diff --git a/public/assets/frontend/snow-fall.js.zst b/public/assets/frontend/snow-fall.js.zst new file mode 100644 index 0000000000000000000000000000000000000000..96c25cccd41a352d77ad04cf4fadb1c59304b2b3 GIT binary patch literal 1255 zcmdPcs{c2|nd__?L)f?ZS`YdU&@{RH!Tz-ozjy7)Y|n*4&z3wD^fEZ@ptj}v zGL>U4i~np=_}+emrT&-p)y#K-zw`9gA4wD|yP9F~V_RCw|E+AyVr3kpt5 zr6+z*yXsZ!a(8YG<29v5WyMqMj*=@ozDuf~Q2xr@>Y!kCv}d6~=?t#cz>}X&gvdVa zI~VPG?ADWOQ|=?r+C^RbFc619eh2&e8;2)N3ZJ^COiJ?#!i|xJM`1@rEiSCTUu!_wof|p^YW=S zuQ2-S+Q*7SUQz`Idaaq^><;>MeyWa$= zZ*~xGJG1Hi60fUoPReJ+NQ4}+vr8`xD@@FIzi^%`|Fb7%yo`BqA09S@?Rq{zFyM0S zldTIgIWl@puNBzrxAT>C{neqsUMeG2ThYL?;zIl4MQ7)Ug{0XZNDy(ARgB9{+^;d| z&adTSe(sT%BrmKsoV#JMQp&XcWtU_E+avofJDpfvw_onE3H#~03rr;!2z#~o+%C74 zFWEb-;kVcn&BNJSN{^aJSuP@i6>Av}0 z9TlJ=)ajz(o~q=-yg*#?6cpzg@Fm{l_LdBqpi;7NwY;=ZY)Snl}4O*T}=rQn)>9g4S=J+>GS=sW+=5!OfxY~B0dZ5Z^E5ZT>kt#)|7%M^-#0C(!_l|i z7EM+vn%tl;%T_DQ_wJpe96UPe&JI(Lu)9rQ$k5;ZDr=rv8Oy|%Gn-oNl5f9#%U%+0 z(Kxen{~Z?o+YUkVpUQLZuhHNU(skJ&y-xZ1p5^l`J_Yy}7M%F^`H}90AA&EJ=385} zwq1-cZfW%kJLmMXN9D(jiGGIv**qsT6&{UMS#x?$?;LL@^Vb5C&iiJ?t#uLXa^nd4 z@nOkL!GFL0&r7vE{OrTW4huU6(*m#exl$jFuR8mpw!T@mJD)SH*E!#}WWk@84|W$G z&q#D!yX2)0!_k&?Sw9p0U5OR?w*T^#{BJ7x6Hl$|eKvWa!%p#ALYgir`|en#E&m&N c@Y6iC=BT2!5Yuy;MJ5~9z6@jBaBCk606Yd@JOBUy literal 0 HcmV?d00001 diff --git a/public/assets/highlight/zenburn.css.zst b/public/assets/highlight/zenburn.css.zst new file mode 100644 index 0000000000000000000000000000000000000000..f7ddaa93525364eaffa5c740cc0a4531d905c471 GIT binary patch literal 439 zcmdPcs{c1-Gm|ebL)c6&IfG)k&HcG?=0e&UQp(W@Q(Jh2um8|7CZR_~(pstha)|gtb2-P>9%YPfo*>}!&xpC|HEED(T=f5c&aPteA>^1Y4 zPT8S`8y=G`Sk8MEyhm{PhME5|!i&pIjdHDSuQ+TM`l4)ly7n>V`|m_PpG-=>80_x% zV{O>CX9@1p`2W|YhSdJKHS?Qu{+gZF{S7_-&%AI>B50jLdqJ+_Y*(*uoBcP=FEn3a zEB$)2)H(IrFZ6}p^s1=;Wt%IX7gAvv-#S%4_|5W)p5+hT->}#0eIt?He9rJlgTz`- zjfGETy@W2UfBROU%|dx0yO~CU3(M6~W`#Z$VS{NuKJOU~=Ob({HruCzy$dFwI35?=rI zzGUH+HwUK{YxOyF@6c#x+r{-<{pa~;dG+J&qS7j_qqg>?M}?(S%5ibNk5B{v!(Pv6 literal 0 HcmV?d00001 diff --git a/public/assets/js/app.js.zst b/public/assets/js/app.js.zst new file mode 100644 index 0000000000000000000000000000000000000000..5db3d9e5871821e7a626537aa6c562bc0fe92065 GIT binary patch literal 173 zcmdPcs{c2|p5ZSG!=jUNk_G3P1C9zCwOV9seg3I*H;d!}4tw{j|FyXL&n>H(W>|lj z|7YO?10$C9Z=sIy_YPacp*WVXQ0G~lo;{X5v literal 0 HcmV?d00001 diff --git a/public/assets/js/auth.js.zst b/public/assets/js/auth.js.zst new file mode 100644 index 0000000000000000000000000000000000000000..9c96525de9317ad98aea69f606489a987ce5e9c2 GIT binary patch literal 1538 zcmdPcs{c2|QFN(3Ls-ci^$jvR8Mo|PsN$#n%(GK9b@Fq^CN8UrMHgJxZ@Jii$>!*} zbLYDLar5;vOlIg~P>{aeazr=JO>BSE?Qbt$RON+7T@JaL?-in} zq1T_d&zIX~-r3&U_*-Ppwe2q@d%oS{iaTzlnzdoo=B6!0g7asqIbKN5j`)9DCSdi% zRXg6OvL!yt`!AV&H7=)eOAKq^otXJEcm7GK_-*4sAkNEG%g+G)_@_UZSO8`r$6 zDzqHe)vK3oTX`o&=hZ@;?IxF(Y&yOo|3K!$2Z=>9grsy2o=NvoxeeV;^`9*)s`dxFjvfIqO_jDs8n_$Qcg%edCQ)BMVzxZ&Wx=(uIsCnqjEA?kYa=DOoIneTqz&nK#4 z#cyW4({Iy*N#u%VsT^NvaB$m+4QdHQahE;>s$C??)NmpX->SAX7QmibPaDLXTgx%ypAfkuUQj4X#zL8ICd&2`r6Rd!rb`FMPZ z_|$9PUc{W}DQ;f#toHUr-v3uu-~0NdTYvJ$4XWEK;|GKh%;SsD{AiL@TuJrVpWNI84k?8m9+7l8>@w+ zU$s2boI52eL{rKw?_DoiX)cz|AZp1qQ8z2&$4+H~Enfwm6_04G zC~ITl$bULL-Ta{y#|zzce-)ndeL{*O||6XSn?iy8mnPeh0?Y>gOCJ-i7bfNl7afNoO{>>>SGSWz|c$ z31=E+P0{b%sx)F1`5|r(1PwH@l#rpT)E4&7lD`?NST&JTLwHQ+J(^ z?VFk?+btP2HTUM2uAC#55$o5IyQ+9g1W^W1J zS5>{M^=ZesExyKAt!7;HuH)o6BfZ2TLD-G=IN!-zlk}vGj(R;+O=@~`SSNcAPj~!; zFdhx*CXIs&7tJ;PTvHX+|8du`b$=e*_N@K3PtqnzIB8#I@Yl$LJ112J7&^=`+Bls# zbB49fj3W8UMaQ#GSZ$cb=(MT3_LxgBn`P&j-mD1>4aXI43V0`;nIuv!bi#SsrIb4k z$M-!xU&pjtEnaY@S(%!GisY+}`sUL+dTNw6{@A~J?T(t4PaZ|o37)F@mJn1C{OQSy RHL4lETbOyWc79sj3jm`B_2&Qp literal 0 HcmV?d00001 diff --git a/scripts/compress.sh b/scripts/compress.sh index 727f1b83..eb9e34a2 100755 --- a/scripts/compress.sh +++ b/scripts/compress.sh @@ -1,13 +1,41 @@ #!/usr/bin/env zsh -if ! type fd &> /dev/null; then +if ! (( $+commands[fd] )) &> /dev/null; then echo "fd not installed" exit 1 fi -if ! type brotli &> /dev/null; then +if ! (( $+commands[brotli] )) &> /dev/null; then echo "brotli not installed" exit 1 fi -fd -e css -e js --search-path ./public/assets --type f -x brotli --force --best --output={}.br {} +if ! (( $+commands[zstd] )) &> /dev/null; then + echo "zstd not installed" + exit 1 +fi + +# Make .br files +fd --extension css --extension js --search-path ./public/assets --type f --exec brotli --force --best --output={}.br {} +# Make .zst files +fd --extension css --extension js --search-path ./public/assets --type f --exec zstd --quiet --force --ultra -22 --exclude-compressed {} -o {}.zst + +# Remove files that actually got bigger! +fd --extension br --extension zst --search-path ./public/assets --type f --exec sh -c ' +for file; do + src="${file%.br}" + src="${src%.zst}" + if [ -f "$src" ]; then + # Get file sizes using stat with cross-platform compatibility + if [ "$(uname)" = "Darwin" ]; then + file_size=$(stat -f%z "$file") + src_size=$(stat -f%z "$src") + else + file_size=$(stat -c%s "$file") + src_size=$(stat -c%s "$src") + fi + # Compare sizes and conditionally echo rm command + [ "$file_size" -ge "$src_size" ] && rm "$file" + fi +done +' _ {} -- 2.49.0 From 4e7b911fe9918d57f17ef883097e208aebc64e20 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Sat, 25 Jan 2025 11:20:37 +0000 Subject: [PATCH 2/2] Improve commentt in script --- scripts/compress.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/compress.sh b/scripts/compress.sh index eb9e34a2..a6a0b028 100755 --- a/scripts/compress.sh +++ b/scripts/compress.sh @@ -34,7 +34,7 @@ for file; do file_size=$(stat -c%s "$file") src_size=$(stat -c%s "$src") fi - # Compare sizes and conditionally echo rm command + # Compare sizes and rm compressed file if larger than the source [ "$file_size" -ge "$src_size" ] && rm "$file" fi done -- 2.49.0