From cbc7bce299655f80420700123b0ce5170f54257d Mon Sep 17 00:00:00 2001 From: Callum Skeet Date: Wed, 6 May 2026 17:02:33 +1000 Subject: [PATCH 1/2] Add favicon --- _layouts/default.liquid | 3 +++ images/favicons/apple-touch-icon.png | Bin 0 -> 7425 bytes images/favicons/favicon-32.png | Bin 0 -> 1192 bytes images/favicons/favicon.svg | 4 ++++ 4 files changed, 7 insertions(+) create mode 100644 images/favicons/apple-touch-icon.png create mode 100644 images/favicons/favicon-32.png create mode 100644 images/favicons/favicon.svg diff --git a/_layouts/default.liquid b/_layouts/default.liquid index 8d8758d..f6bba8c 100644 --- a/_layouts/default.liquid +++ b/_layouts/default.liquid @@ -67,6 +67,9 @@ + + + {% include theme-init.liquid %} diff --git a/images/favicons/apple-touch-icon.png b/images/favicons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd20ed23f38edd7454f7b802e0992bf48750b76 GIT binary patch literal 7425 zcmW+*WmFu^7Q|U3xCMf{Ebi_u!GpU7cZa~@1a}RxxI=Ict_y_V?gamEeVg}Vrtg`q zGc#xA_U&6$(Vtc2KA;k#!oa|MP>`3_fR4@o4geDLEHZ_}2?K)#qaZDz|(vY@$lVA*`=#EB3Kx1H{Dw36vNv)LEJT^+)NG;WpNi1Rj z$fpqK0}??r_XVwP*>3IY-G<3Iony}QokIIL&Kq4hc`chOTjwTPsX%U~M){3JKkaFu za_`o9zNfeeJ_a}U9zH6yDEC|!uYD?fq%h7wigP+$-V~udtafQt36}{YeSP|yt`=A` zXHi`)?zc%7AZ)B7Yzw&qq;%!%PQFl@bV*$@H!NH;QnC*puAi@6BXW&0(jio753gM& zUczN64aUZd*Ct=}b*1IQ=&P({bp84^*O`Js4)@esQIxJy+silI6}J|Mslp|M;m3^S&o@|KTCIiiUYViH_6W-E+>fuuod`( zYfTx{gkuW2VX}uH0!xhVV(TQl%J}SSO#g1N5z<$)S2C^AuWo}XKScR`H}$1{o9FspG*XkuJBR9h#8@a5Z3==V$&7h?GEhhyx(8bC3PDMPl-hmY&WVi_c!b019Ws2K*LaX>&juItHjTxu+zh z(yA*mBSgUnD6_7fE~dnyCdB;vArxG2_+wTiaLx8bcxx^6s&<&3by$f=-(L0_f#OXI z>9SVfa>+hKxV=V|$z5$%Y&k?mgc6Am! z?%Be^8_h%B_Pu`Uo*=T)nb- zvs3P(y2ygFT-`ljzL?GHK3I2T1Z|bJRr?x6QkP8+iA(Tyz$U?4<}FdU-Y$DJAVm zP-q#^Xch&=r)Wq0tj0AZg(Ip$vxhccAyD{UI--r;4f+gjj5l#BT$vzPT`;^z1E(YC zQRp++rvh*2b4I@O51p)Q+kofw#49yL$zGs77KXJYf+12~G>{`*VzF6JQSQj;UK9qy zbdErJ-Jbx~e67h^WCnE#$!-q2W7+7>>5lY>aeuOjx7oN_&dUmRm<8dCL6O$35ECVY zZc(dT3&fh#OTi?K$ED5ah5dEz?t3}s4$vcu2Ro2(YLbdR($M^~w&~T%wQpN`A_as) zbexbWwCHglj@nNhy#ipwViLsBgl&%611{1I3LILD`kugrze!F-OG|IDmVWzSdZwW{ z^Z^Y8mV*y}S&2$P##WVfe;VHsKx%OKEp!qkIy%Djm17`NWpjHF92+5ni3&jQKKdwo zQv}e!7NlV(bjv!L&x`$zjqlYTYkDWDjbXz7wH)v2;LhMzlrf$JlO*yIwD_W7lVE2FC} z92K${l^g>x4$IaU{EGb09R22CCI zsV@#P;!KjdEE=Ddcx@9xC7geiblV@F>w490(*oUT(dP9M#|FjPY@6QLsYNT( zmbo<~`{=z~mUFv({Ddd!*+uQ{1H+e(BCAXmo@v;WYXx6X!vv(4uC>lCVEaN7*2^mvHw zhlnOO;G|qSZ><4?cYk!TUZU^>gXR&S8KQD`*QImB$p9lGX8? zaMxFNY1oMlLOdKUX;F)jut!T=Iwyz$dcQ|zo4Q4oNfbw)k8|YI8Ws*%7c1h=umJ*T zMKRdevcd}D$*;cfNrgpZgD1>%-@QF>n_*ifr7G-*?K9dx7?=>n3GPffDeKfnujgqL zkyz3^%evw0(D=KH{`b=q6hjEQ5cI`!_kKT8R~g5P>pRlPQ|IR{klWYz;yPPEwpz-} zM9>}HO6D05`#e9=nVIbSDhtPI)N9RD+bVsHCb`IBM5eZ(OV}=Kx?NCnAVRAcD|%7Y z#*79yq>z1-lo8*tDka%X+~-F|J{U-p)6d~0!^I_xoY!R)N>*~cLz6^~ecbB*uD>;e zOk%U5vl<8<-SQqsXA4EK_+6dqNy!|ETuVl{5zF)=*~yz%CfQ<;ZW*Y8*P zwt05K!_~PTB7@|*}`!&@2Se-xHHV4X_i;M=a6ZwAF*m@8f z-nl~KMYKTI`a>A{~{GSlcu*J!?ab>Uk7nS#*q0(9B%LU{GJU$6}K z{Z$=yn+w6G?y)Qh8+wS{_6vOA&QiN0H)lumuYWLnLqnCpuF@-6h)t3h%X)!#%#!5% z{>1RHd>lW$f+@y5bz2R$jbr$u$cC&P>W zldm}42+M3EMvJdCFBYw1$}c+Jx`bTBjw~rzjr5MIfb_7%Mu7qf?&txX1Yms=YW?cj zQt*LubEYtAuu+s30c{$&fpxO4MC+lM6^sx26Z(n@N#xM87v(Ubo?VmQWh-fSX;o;cC8XBh-D z!!5;;xm33knU8hro9>L@MSKj(5*HUfx)0Ol`I)I~K5}|BrHY8WW&+6Fl6iaC( zm&;M;%sn@zJr&g&!(l~*JaSVSEsu#JET=PufY7~HU}#z=Ml7lssz{mq+lo+aj?I)zqn@V-4d;UAFUCLc<}Cq?-93Dv_8ctME&TLfh2%VkT<+E0#$I8+Qf8OK`no|V2Ge?kuNM~L+F^AkNaQKk`{Y=RQDh zQ@67?bzI&m#C6!`5?Nt4wRTP#6mjf4nhM0*X3CzgpW&Jy(NXRuF2p0XuOCo>JP?V$2?w$V*hhDqXm^7&r{5*6M(DH3m zs~_48JUM)yrD!Rq_^;CDDXfW@xLJ$SaNUJM#A!mX>-o&Q;E1aXSOtAifG{I&;6iHn z1*6WIsBg8DBAe!7aj!{OxE_QvXZ*#wB&zF?{XF`-{wWlA&)0juj)QI}`d&)2DFkgn z)cQB?``@=;F}J=hm9h4n*^`A%2tHH2~#ICUjTKSkDD=htiH;&LS&0;lOvPbYtpR z{CU^-^sF!m%*s7Ib+Xh0LeRNUC#>;T$Zt-EfQCDxS?88qNEpgP#MoA(!B)jHSu;(V zKUYMpL2YpCu!iIq^)q)NyaO-4zID%;Lrd+F%|Y{86I$u^&d)0A6klPoG6IwGXLhO~ z%sFebSsHcauRYy<*ie+_@NSH6gLnZgw~cjy{|{_i@NcHKwdFr*EI9@$hhq;Cu-|-s zz7==y&@#JO?Cf3+kB19p)s*~~)+VZSR5-P=GZjfL ztSi?WNo??EJB`+z-EI|W;y9NUP`}J_yS$AUEGlPvC$RZsqU0hQ7ADa|v}%U@VNQ5p z-M4{*HO2K^x`uNf8;|ISGhgW2w-y)|{diu1>n{%+#$7=lW`Mc17j}1pzo~AwaBKS= z@z)t;&Cf!r+*g(Op zZ;kkKNLf9Ht8`L1Er?cGDjqzP7%II)@jS>uJhzg}CU9S_l!GrL$Al|0Si-<+w^BV@ zYh4RQ@UtfQ^I%NH1Ge(bi3c@%$wO2?-{pwl4<~`YmV$m9#6bFleoFY=L+*E;y45CI z3bKWd+U(K%RhrJ-X&>;yI^uQ&{;M;%^I|!D6R!5)QZ??0s%@f+W}RcSp_+em#S*If zN-nYSJEtKg5+5R#pw1c0Z=cG9Cb}O=`xjbms(*t@YXr~jFzVa*!YI(c@R}4XY%@pUJb^0m98a0*(_S~vylrS$^MY@2TFsknAJGf~I=f!uT(=B;1;42Z#~h&j+PhQR z%{NdKLP6v=;L>2Jnt_tfdDf_TY2#By+CoQj_W5={$3TIcnr8ff<%?6%XSC{?)5bCLJDN{$TFXodWv@gR?lC8`M;#eo$mvh0u?hGz`=D+IZs>77=8wC-8&l*Xl~q2n!|OkoX*2p?H|@(U!w z!1xr?U5DO}FdMpv`|8RJzXWBZ#oJKk5p-H#k)GAzQKgQYu%@>>*JD?jvaTR!o4g;6 zOx^+#>ik&8k`rbp#A~1^$1GFF3T1_nZ}q9Hj+S0BM{`d(?etmxY?(2|bjq3F)YgmN zC@z>A-pz3AfLFJW0itygo6LSDyk(B>q^PQzgO3ympX@uO~W{r;## z13Q~A%O^21vCwj!*b=TUPK8mb#fmaVrX1is2i7IKF%bRtvaWV}O4*>^VGlkj8YOST zURU^6f|cy5Png;7Za@8wnW_-|gOD5-hEQIOhW@)_XMR$UIVyU* zj#YSfncvR=>hE6}@MXqdFi|;LdgSq73#n%E4Ie4ySFsZZ?YZ#+>Dyy$@P-3tx#_qp z&op}ND!^3SK$7rq5Ya+0*|Z2oz$=63RYcH5bZ~Q)a?Yp7>4IAje;H?6UCHc2!qvo> zMJaNKD&qRh-djAQm?IASxD;Ptz%vbgVS6t{>liSNhHTU8&f|7=`o@IZwlR`AGM271z3^XxI>)qX7XHm@_+6h6_mdo zW6hSmacKs+%e_H6o(}v4d+H4W;ISD8j7RI@Y2w37RxI6`^3WMH+xhUWmT7{3iTU7t6&H_)7cVc;MXadP%%dh2Zt%L1=Nxz*gqgA3UIJu&J-Aem z99fqiO-FqZI>512shE8*%dB?{+ZVPuUyF&@jW8P=UT_MUr`cthAYiI?#s=>oHxVD3DRbe= zG z$q!Y-Ot6-`pJ?R0p4ywX$71a7GgxE8{k^w}Jtw%%M6tz$PaJ9AbK|Q3dGkD5+b@q! zlr?dF1GCq2Z%t*w)nGJ#46|QignnZUARinX&?334WJ%cv43$YcXw3xI}r-kZ+45l6` z4<`PX!%`@#><0PD;M)3J3 zHIhF9fymcCTnmCJ1<1u}f7za{^$F+8+COPaKl7>KkNR9fQ?I)-CQn~+3^x@s=qvoXWaqt+Lc#EtO&!@~J8O0&y& zNCwA!DId44l-E>ILc1*4Uw}%nr)ougUT%w#YHfp4&6bjD57Iiq<*<5SKcEPs!qMMbQo~~SEuu! zyCGCfE4S~^MEx3|Rc;B*TqPYdMWaP%&^as@t{4HGvBWR^?fDO)8IW354V{_LcUN>S zg9bw3GQQ(6(3xtUvKy~|f##QgkVME;BU9at4xmJWVgu>JtevpYMx}Uo$RZU*n?o3> zT(^z{I8(9@6)tpwS7rY0i$d`Z6G9h0tlM(BrP{_x4JuPN9-IyqMTVn%;{~+cL@UDx z519lQ(q%a6JFR|Hk9qy)4J6{gF4x|tOtgH#i)~r`>DXvjccTp`kq-F;#YM#^wjiz? zM2TA{?NB8{ofP9J@uF!nx2*9YEzwS?`BOBXnp{b7UW8F2w@km)2h6hr`t^{z#x|W; z7B~b?`Ec>(X`_BK`&Z1up@m!cL$z4nuB#nR1%6Kk1WR#>=v-QF((yMX+sT3gkRc^C ztV+$Nfh{#ee-yaTsy&u=f6d}|08rSxNY)sFb4EI}Z}NY8X$tTn^Ur!oQ zH4g`u1{8T&?<9FoF$AbVfr{`(Mepe(D?=+ZKPpi8QIn?adi%jjpK1ku#SF&&PAcR_ z{3i)<7d0Ve*5nii7p^%f3&~C8{-78FJhy^UJ91REVqbe~8B$c(1S%|*^Q5r7q9jWx zNlo#%%-1LZEYh^{ZL$U?F2WFfIzozaY9(xWnnfJM!%-18h_X{Dpau=cJ#cZ8Jeafe zBz#(5T->PBh=lf~y+XlJ1Yf-T7d0SJX>}Cn7H3F(c*BE}vNMIdLiw46W4MdY%iqCe zHsegfHY+#v#gy}OeaPZlRh+@#LL0C|Cox3MvC!l$wD9$t4xpd%M zhB6^DgC>wARGY986{ij@w}c+$BLx4T7QwrH-?=$?_}+OB1m5m<&bjCN^ZT7Y_dDmQ zpr2oXIm$oZR2h(O>haId(MD5r3{xdz5;Rn9D4Ny)XsH^s3EVlFqGM>OjLF!l;?TB0 z(C|z%|bp+TZy1?w-Y6=ZF=-S(iPaUa4C+ywE@XwCzMq9(1x9345t=wqqkSo z?g}XZcG74caGer0n=9H_0XUeQi>QzXQFgo$dyX~YUV{OjEqe{q?w(19;sdgF~=nb}Zga zehHSvS+Fk266^jeC97ltw_WMRuJmkdd~Ol8znI|~bwIC_z|7DvOru=T*m@qT4wQj2 z<2eF)W$!2Whenwh6NiksacJrI0}E-*?boh~(A6y`MXe}w;)|C1LP}t~udnbtVQWLb z<`8WzYR;a*ybm^t8F_u*E+kmC!rr5UbFzx2Q?Qn7Sh{cCU>CO{CE(VJ6nsWl8tPEq z{1g7}`Y8XSwO)-W|fY&x{ zw-rs45%~*{1sbSx(1tx`yMXjPR;T?j(B@WKIsR15;|3Zq95`j5p9Su7@Pi>;P4RrM$B9T4y&4~tc9Xn9 + + + From 4e0fd591db6a90e88302726f83a78105754db90d Mon Sep 17 00:00:00 2001 From: Callum Skeet Date: Wed, 6 May 2026 17:16:24 +1000 Subject: [PATCH 2/2] Update og images --- _scripts/og-image.html | 19 ++++++++++++------- images/og/brand.png | Bin 0 -> 30797 bytes images/og/client.png | Bin 34087 -> 42661 bytes images/og/crash-course.png | Bin 30627 -> 39821 bytes images/og/guides.png | Bin 23785 -> 30682 bytes images/og/home.png | Bin 33521 -> 40186 bytes images/og/server.png | Bin 44878 -> 59548 bytes images/og/software.png | Bin 31806 -> 41525 bytes images/og/spec-calendars-draft.png | Bin 37552 -> 44633 bytes images/og/spec-jscalendar-draft.png | Bin 36858 -> 44003 bytes images/og/spec-rfc8620.png | Bin 30286 -> 36150 bytes images/og/spec-rfc8621.png | Bin 32118 -> 38310 bytes images/og/spec-rfc8887.png | Bin 34953 -> 42980 bytes images/og/spec-rfc9007.png | Bin 40343 -> 50304 bytes images/og/spec-rfc9219.png | Bin 40394 -> 50136 bytes images/og/spec-rfc9404.png | Bin 34338 -> 42445 bytes images/og/spec-rfc9425.png | Bin 34553 -> 41101 bytes images/og/spec-rfc9553.png | Bin 33244 -> 39918 bytes images/og/spec-rfc9610.png | Bin 34442 -> 41062 bytes images/og/spec-rfc9661.png | Bin 39486 -> 47288 bytes images/og/spec-rfc9670.png | Bin 34611 -> 41603 bytes images/og/spec-rfc9749.png | Bin 42911 -> 53669 bytes images/og/spec.png | Bin 33063 -> 42988 bytes images/og/why-jmap.png | Bin 34573 -> 46180 bytes 24 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 images/og/brand.png diff --git a/_scripts/og-image.html b/_scripts/og-image.html index 41a33c9..c17df8c 100644 --- a/_scripts/og-image.html +++ b/_scripts/og-image.html @@ -27,14 +27,18 @@ position: absolute; top: 60px; left: 80px; + + svg { + width: 120px; + } } .og-eyebrow { color: var(--theme-accent); font-family: var(--font-base); - font-size: 18px; + font-size: 26px; font-weight: 600; - letter-spacing: 0.1em; + letter-spacing: var(--tracking-loose); text-transform: uppercase; margin-bottom: 20px; } @@ -42,22 +46,23 @@ .og-title { color: var(--theme-ink); font-family: var(--font-display); - font-size: 64px; + font-size: 80px; font-weight: 700; line-height: 1; letter-spacing: -0.03em; max-width: 20ch; + letter-spacing: var(--tracking-tight); } - .og-title--md { font-size: 48px; } - .og-title--sm { font-size: 40px; } + .og-title--md { font-size: 64px; } + .og-title--sm { font-size: 52px; } .og-title + .og-description { margin-top: 24px; } .og-description { color: var(--theme-body); font-family: var(--font-base); - font-size: 22px; + font-size: 32px; line-height: 1.5; max-width: 50ch; display: -webkit-box; @@ -78,7 +83,7 @@