From dd43542cea44610f3515ecc9cac3bbfa87aab2e0 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Mon, 22 Jul 2024 16:17:50 +0200 Subject: [PATCH] feat: :sparkles: Update shiki to latest version, add code focus plugin --- app/entities/users/page.mdx | 5 ++- bun.lockb | Bin 278456 -> 275712 bytes mdx/rehype.mjs | 55 +++++++++++++++++++--------- package.json | 4 +-- styles/tailwind.css | 69 ++++++++++++++++++++++++++++++++++++ 5 files changed, 111 insertions(+), 22 deletions(-) diff --git a/app/entities/users/page.mdx b/app/entities/users/page.mdx index 3b16c29..8740711 100644 --- a/app/entities/users/page.mdx +++ b/app/entities/users/page.mdx @@ -11,7 +11,7 @@ export const metadata = { - + A new contact was created. @@ -25,8 +25,7 @@ export const metadata = { "type": "User", "uri": "https://social.lysand.org/users/018ec082-0ae1-761c-b2c5-22275a611771", "created_at": "2024-04-09T01:38:51.743Z", - // [!code focus:10] - "avatar": { + "avatar": { // [!code focus:100] "application/octet-stream": { "content": "https://avatars.githubusercontent.com/u/30842467?v=4" } diff --git a/bun.lockb b/bun.lockb index 8ee2aa81078225eba0a9711f0563e20be0b9cc8b..2351867f93436f72ccb114e33e93a756e788f66c 100755 GIT binary patch delta 50665 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 delta 52705 zcmeFad7O>q|HpsM;nbXwn6euo`!d5|%rKlm$j-&)0yGn6&kxN%uSB9gKs z6rz$XTOwL%l~Spc7WI3+?)yH>$G5(p@9**WJ$`?69$x2ly7v9n6Skm;h?cxunCKdngyR+k}&FfP6rLCK$Or6rUYGQtmK1*`Dm(6~` z^4W&-b*IOZGj3$oh~%ODJza??j-8pBoHBywJMwuvw_y*318^bY3&VGiTM5_?7leOx z{r>cNJQ3JG!Qt>%Z~=JGEl$2?;M=niQnIpAvr;^s9tf(yyMCvDvB^UQt6HtlRZv4E zfQJvu8bKP*2VqWuKjE(eh9(akmfqjvspQfXK4M-w(^L17FG~Ejepg z_UNG=&kCxgn)_Ub;pqd$s^D*FW)bwe+zju8)q*gW)3c%m4j$Ievy#Nh_)oVY706xr zU3Bf|vDIV!GLutMvpk+kg&hAug**f7n(RW5!#OuWs0WhhGU-E7GY6*D@pwW7@1Z-? zBLkANMr2UY%+!%ts`CW;TRqt94ri!l!DOAY(dy|d8|X!p+8t?4@DX>8Q?eS3OoN+L1&gobIoyC%qYL(1iHsS<>to8FnMW=ps ztk(I9ED2u>q#ePz$lCM;8GJUJ6AW z4x{U_2f-s~i3;cmt6Mk3I`Ok%wIB|ip3aGeH4Moq!!n05@ix#?nm4uMot_ytI(>v@ z=6-BdY;*&UCkD=-XNzPLSWJXk_#&)TwFb7=53FtBY@E|_Pa~(G{;(?45muM?Pwh8y zAO#O$$?J0uy7JrK*zsSM;LN*l@>9c}2|5j%5BHHUA<^m5bhrfe6e3iCH=8)T6As5- z4{J$2+0>aMbFfvB&`z9^GHm2fw(!eTSVOeST6as?>?8L$)kz&QB9-ml(=R!Fu!qlN z^ul)AOg5F!z#!7AV(SW~fJJE!`SVI{~+9g>_m$m3bdz^Gqy+dIv+52mQ}tjX8~3SiE?5KV zcX?J9#~zV2IK3YQ{YC{;@b|FBX<}E${!$gw3=5rP{YGZ>8#dPCd7_(>!6a&2i1>dx zV%EtsGRz;Fw=~H@nJlSdq=Wg=gDS5R}mX zSS_nY1{#`zZbrTDcV-yJ?ufC&Q#~co3lr~ym2pZRC*$uZTopM3tH(lTeY?I+zKvj| ztKFCWS502WQDgeW1J0Pgh^>}C^`N6?rKJx_N2{0YRB$%B*5Z0Jjq#u8D)32cHDC^` zNjEyR-|*y=L7qq^wkD|$)~3;oBS`6+rqcf^_!5FLr~#`-vIaOAg<)5~{)&W}lv7fi zMY@?4tqd!$b7+=dM7QS(wbYvH0;}bXUH%I{^<-&m?Mf%{SN!g50;<4>)Xc2ZOpmAT zV5fjki{@ghYeT0=8EjSX&>*KPFAj0y>kf6e4*A_i{84Oi@H#D{DBKf#hy z1%htEQLqy9g*B#kj(1v+21~y-&KZKQV0GmwmtS@Dwr={H(>?HrGdH4$*FMcvTV{Ip z(1D&32$}==VP!~t>>4s>Y{%X?PDReas=zT=87!FK_=h&0J?QG{=5TTN`H4tL%V zQXg};Bdj@e4bIkBwR+sia71#yej2p$Bv1hzJkF$fWRk}dgjXq&hm6xHKC^&sc`Uua3^-hISvoc1eW{&lwq$Lj?LirbJsOAh_>`bMG&pR_< z53C;A2CD)?xB(iHo;Bj3tYJfANgtX@QN$Ny`sOs;=yb_!SP81Zn*6OcITff4Yw~{u zYYN@F+3E7-u%_AqSm`2(*PI?WY@l54Jc%S=O!KgcqH3CAZQ45hNH%Kw~ms zSY{MY3DREM>Nxy~qZZM;?apcocl~|)qmUUl>rVD(5ex+ZBkSOph@HHW_1O8+atSz4f)AAvP?TVNHm23Ep`uQ~csY$cow zE8Q?y6@L(x|K``70y{YKkHzp)ZUb!FR=&X6>9 znYodbIzkUBqJ|_7_jumHPeZT^Rt27eHD`v|`Lq6$38>3nKILRo`n1!sLa@5f0~dln zgOx$@nA9llMN{u{)3t`f(RhhxYDc@J-r?7dy{={=%@# z^erVy?(v3o{`}{a%ievp-j*|^%H^v%{re*a<|nl(vvbk z>J{~$dp}sb_=hR+OEXgHZ@F4#OaW_5wK?9hR-k&Kcd*r(?~ko%eBWgqtezMcozLTG zNNw_4CmO~1H(|B1j;wBEO{Fiu1l<1!^V+uA#L-^IN$!;=K1+(`qJq z7g-1So@fQ45(8h{;_);m-fKnFj0@DemAezHe99q^hSdQpzv8?vS%K(8@Ap>g=)^#| zFpsCHooiC{xIi+N^0>vq@~*Z5wG#bbp*6GGS5FAkU{h>FtkR_nTnf%Ryr9tB0k1-^8x{8nz)_%J4_ zO7*GcflMqpQcCT(z&0$6199}gWh|%PlIq3621#`oRULB7+hK!Zf@3WWn_SOTgDEv+5rk1E2%unN{m z@Q$_u4HLbmt=4>Zwx;pD$~wsRSu2o`7^uqJR~5Y0iFi5zt3FmfyV+~6$3@hM3w(j4 z?qa$`#d)h*ts5~VSwS&q;Z{;~ocCwzV53BD8!ON_F|d}krhM_HJHK$PTP<~9d)8we z;+(a#O1SV@Te6?O!S_!S|=t3N|$zG7?S9?z)9C5WUdurx#;3zM9K>eq&8d)=I zBm^SwawdT@>^-oW;FaG>qQsZ6x?wrBF3icJo(QuST?f~qU+B|CSl6eZ_j9ZDJ&A$x zoG>bp^69zWSngzFRE;dV{F8*5;N`blT%Kz*waTL<8c4-bi2>_GY+PWKYq2UC#|6$~ zDR*ZSOIy=gBzm8>4)X1>0xc8$11i|_CORRok&yb0o@yND^;!p8CI;$M^mw8jtzlf? zLD!-V+v3A8dW75qKVYePte?2JK;ueIg`5rJsPSbGsFh zP-AZOu)uwloehARu!dJ*wQ>qdhzop;rCK_@8&kz8)|tNuZAT^+hbjF$zM|<&hH&~`mQTybAH-^49ch>l7)?lh zZ!i78F)TII+1Gm4_IU2UZf(16sT1yG?GCl$WKF<&@Va##>qeKfWr%LXt;f;?ce=~V zfZedV|A(~!OI_l47NYWLSkB^`hSkoFQ=go|a_XtN#Kd|$eTj2s%n>Z5b6ONz-|0&y zZV}et>z@8NXL_@v){pb`i?a@O4hH5UHoxxDk}af*ote7yQ!GkW)=bpm4e~Z~E!K1= zj`>rEW#b-0RB$2|(Tugyy@J)jwv=ap@pHPTM zYi7qrVFYeWxmt~#6+%%hIE}HGK4iyM=bPEs3hy5D9dB&4=^hN^XVueIP58Jte*#uJ zs~}5xFCq0UD~_s{Np$+%srq89UUnMA{e*R6CbetgGz3pAAlG6nbK=9AI%^AKiETLZ zS$-Rc(vox<{3Dh|634~y-ey*tUctZ<&8~Mk{;y)G2F@HQ$x@*CPL~80V5vm~?6q+g zi>c=v@PPvKu`_hq^b)bCAn77F+TAGj^%&b=+N;NyXP*+)+Rjn!t=Yo4(kWo~%n&Ti zWM^j0qY)#VbPQwIy?NI|CYCd=HN@{=WnTAe$?oLLR>eJ!HRgI;Ws0T(ZV8vLoLp3w zj&z|jQDkkvay)fpUdFny{*v0}U2)G~-PmcWvZU1C&Zf5*OL;mYe-VqNlv7CK=_}jb znw}i=z0=-01VwbP!utgSZJEZ*7Ih=%%`~h|){)o*|5-u_*39Y&zA_!H@RVSnM@Pre zql3)%Qb%igO3+^+$>Zs6%}hz~kGmc^L8z;(Rc1~*q49+7v$dnwL*?)Dc#>=_lTb&i zVE;z>3AB~uyRC~AJ|O73uZz`YKrpbF^{YLSvKz+vPIa*k5qE1>D|}!u(6XyDe>jvl zEH+@NIe6X^pC2RE&aPZHD?BY2=+0nk200f$21_%@*=yg$(k$jky@xf^-8ppV7A`PS zv9wAkgJWGO=k*K~ zq^#e=a{B*7t++r5)&=WFqmdF9ScXN*oeKJY!;07P_SNZawHX}rjqGhr9~|`W@6B?u zW+o>D%CqJh;(vz~(ICz@_(J0(Ad3k_vvdd0E6#rii%CHar5*_N%8Baiwhvf`h6MvpA!_2X+~^K3vsM$( z>Ea|TwGOKZ7ui@&SIP1wJ4e40*Az>2cdYSPOh9MZ_zz+^;~3V@Iy5{OXx`6pcINz} zSlU5s%XhM$H9aF3XwW~j)O10=1WWmmd*?V`daBhXGw5HJO2w`AnF)bk2-PQ=Z8?@p zX%<&Y>HZu-jdUsQ-%02}TZ&D?l-C-7#X520wqr2_Zsm&&vf7La`UVfOrb8D7S%;t&gRStBj1gR5_* z%X>quHe-XnQp2q2V}pUo!$OC*w!BZUH0B;Fw|<Fg<7>mgt?Ai8-*+ReL)pPVbj4`r`mlg~4R{5sJ#hu?OZ`z}oQdr0?{8pTpZR{zSZ$-a zNAF0;(Y2`?tR_~$nhAk-38|Iz2WL#laZX-#$NC3i_0SDu;O_BGud!Iz?Z#ti>98-- zhX=8`U^!=NnTJD@=>%6QLtM)_O?P2Ao+>Ni5hoYgTRYA-?h&iaq+no=E3#QL>bE}{ zI>>Y!4#v{baYlXbqgI>A!N4zwS{Kf`Z=LOw?o8fASV}->B>3MVggc>9bL{<+&@e(ld%xU3h~02bLcp8r@ubiN z_C0{VKNeL$-${rq)72}?b@L4jBgBd3>W8qX9{!~)kLQ8w`dBPSKlmSd)p?&zYbDi;4_n3+lwDD649{bAwhQL?4U~Q|w4`{J;Y)wg3SSfqoJLH-#lBu|3ha1f_AM5dquOLSjN?`~YstAWnS#~ID%iYH7=cDOF@LMa`HQZk zQ|yhTHKE$*Jl|ncn1|&YWn}FC04u1+d4W<-UElG!XX@-)&bBfgs~$Nx(_%MPZR-dJ z?YDNQAe&gVRZbtWog~GFVYoXaO<#tk{h3yBt@a0&b|^ZOZKTK3p|e~^(=06a(4oz5 zVkw=o>y};ZSk5u?09G@*Lh7Aov9!zE`&HmGELE0=Ka^f#jgu!k@{BlN&o$Qc6lpL-q51dz-D4;Y1;!B*o@T@iz^kL%v{B4X7^jm*Fs)&i+?f}k9V1$uMu)GR}_@=X)vehKV1!iE?A&!0U`8eP1H?1}=2LqA&o%!Wlcy+<* zW|yI}ZWop|V`pp&9B_^mI-a=RSpDocb|c@e1JT#GS3bv)cB*M`2a-zP+az;XHxAt4kf@5Q5lpey0#nZXA zeikc;cxj)sB;;%UU7k`Sk3?|!;i3>)uSD@>M3nctjxeDLd{9zoWgHlY1uG6sn9-*+CxP%5)%I#z4qupVI($8!2W*B^C0aHhO7Q*yA>{mx%d9Kcd-ohPdK zKXh8}Tvas3iX-lJ`&s08tXQmY`)u6kdOCk8^*z>&nnisS`Wu6YX*|*V*yHI*I{FZ6 z5?0si)_Yh<*R2}ooW62A$Nh(O5Uc%l&tm6!4i~a~$>+CBKUyk(`TQP_hqY;c{+73F zeS5z*+l#{(z6!#6S=a|pae0~|`Q+s=>|9sR%Svat`v1na;I{}r@p3OO-`q-I4MIM6 zotwe`#`1d(KecZotO{+1{qQcBKc3yL{W`3I4#M&~0V~}pSml1;&31%y2+H7dSRb(p zy5Q=UT>b%820z34h-LrgvVN(gbY6AGKd|ES6R#}%*#zW!D_=$7NE!bhv$DL)&G%-` zmY}$Du0vi{O)H?QrWM_IvGgh~SBDimFPG-7UtU&x3v_WyH$E?GsN16Zn17!3uEXE4qB`=Wj5@)ZOx;|&JIo(X zPuK3{a&K4-=&MMVWhc9Of4Btp!-}VTJD`jwx(UQ8@G;jG%YNLo|Be+knJ*PI&Gi%8 z%N3TS-{+}^4Xhqm3Ri>efFf2PsGyawD)bC2eLd{6cAY7!+3IAGe{%VX>nAQme14pi z-Y@6>U{3mwActFA2XSHSVs66Xt}d2e30P8TR~Kt^%F4DLd9Qf3s$T<3-Zf#(fI6^h zR?pRAT{{lukEfx&Tvqx-*A^?-j4!2c4lCal5?xmQZQc0x`B({Z?C3g(WhcRsy12Sn zdN)_^>FRk|{g;NW0@Gc;!LB{TW&QM2&Chi0tbD9QB^ZIgACF%3DgaM}i@^&e-o)}> zgf3p}@)FliEPbhKi)Al!ZL#bpUHi#wS6J=}VmYjE?Z0EiuXO#Ma{cnMdg^I(@fz3f z8P`v&3A4?$vlUQ_UxO>d7u<-vtc)(Yx>&(Wt}RxDzJ=xYy{rEn%kMJra`}lb>}<~! z0-6-ROZ^8{#@F0G8<-c4#FKaD^X`o$}f55fH%CCTJb8V-99By+R^0M@Tt}a$t zg=Jf1J}RqS+@oJFtNJBeFR`*O1uJ!FSO34T{3Bg|vGTdgwZ)1r>vFmL^qmCzlFwz? zce@EIx{j4#^+z;(2iyeakEgl5{(+TG3pZY@X19W+w|4c``BR*TcCH|nLwlDyz}g+| zbK~=}GVJF1b$9*lht-q)V8y4x(N^lmPCqZkQtnG&eZ&eb=S!tL4J&@N%WGVI239|= zbM0qgeZ(qlqpNRn?QO8~+X<@{ud1IFc+C~|!Tj+YbnUlb6>!wm-&Q0av4W>ve$Um# z3V!6;VpaTOm(RJnSo-<=%rh16DS|5U1uUP7d`bVt)xUG~A6@%rSQ-4{+P}H1*He{` znkmi)>w=*Gto#bXxOgI9rN2XGgaUWMN>I$Ti^Fm(?b?y9T@F^)R(83j8y^MhBUXOV zZhSph6=(#j0zp_GvHY?V-9Qsq8MkyD#B#XTwezwvYVF3if#uSXFX>4#T#kVIxq5$C z`K7w?Vj7t3NhfeS5u;(nJE`0g|5F?`XX3s zbv))=VAVMzTite`we_I ze7g*nbw+w3Tp=&3pgYi2KoM9KE93f!RZuxM{%%(nYpkog_Wy;|^LY|%dHLwYeE;6) z(kK7k=<3E<)9)^Q{SE(nqx_6@Ig>wj-_on!Og8{L0zbo1We>gbTIQ{>+p z-G6U%?Q83QZ*-lTntyL}|Gm-u_eS^sj~iY6ZS0L3-7UZVva@>jh?9GQJ3D6`{dUlx z@G2RY7H)&%Wn-YWKE#Cx5%_j;EqFkE*_;#AomIufDk7_lY|elx^Gj;Igka zd{}5r>t70mbJ^$h{8>nUMfr%bcR%@e&cF0=)y1857rF1rhFiuR>)X4=;hzT9-St!H z2d2!O`}oN|IdN@cPJOz*rG49zIgGLb+;Wowxq_J zPk&dtSni2Y_qEyDZPnCYKQG>Jc%JInk5fa{^K|=U+{E7p&3$X#!K1}HRCwazSACv& zu))}~TZ+{9>$g8XYIf{}mp(~+X-&zG3S|vh(<&`uqrd2rZGOA0(6kkePyI6fv2M4R zYgDgYnO3)cJ$LiChVK;leSeXkFE*H2V`GnXACzjacXySEzw~>jO|#_G!nZ|t{dLwC z0}BLi+fn1(vA>S^(jFSWwbfrcze%{VGEem;m`xSD-Ocuj-h!rRMQ>a0V_h)M`0DkF@ngfPYIm2f~prOF7?Oh#pdF;x&wNqEAPuYypuD#D~H2s6zI31=k4 zRz;X?CR9b3S`FcI3ArYw8bW+^g!$DFEOTDM1qm&xBg{9s)e#ofK)52on5H!lTGd2Y zT?1i}xh&zTgswFamY9__5!OZ__@fY(nWQL$9?=L}B`i1IXoRp@2&vHsE6pYe+a(mO zg|Nyb*Fs3Ejj&I`Y7L6?|CnTJa5L*}F1v8;8!qj>QpG(+eV(KBp$0E$Hhp@$*mvBKsi&%uMCN~ygVSR)v z61JJ9^$}XdA*`;Cu*3A!*j|-zO~NatbsWOlc!Ujc2)oR$5_&X1=o63ds#zD05Y`Z( zU;~7`re_0$?GkoLc-;gVBBUiC3~7k4&+L#;q7g!w1cd!2Jpti>gd-9Tnv#tW#xzEF zq!Gelb5KInAVO4Qgd=8bV}vsjK9q3GR0|?ZO+=U(L^xs2N{DZQ&^Qs{q?wk8a6!T) z38zehCI}0gA}niy@UHnvLaSy7?VBQ;HH(@eT$ON5!uzImGlaGGAZ%!c@S*utLXYMM zeeOZ{*sQw;A*=;L!R83(P0!{C+a>Ih@Tm#3KuBweFr)>-=Vph5689pMX^HTqNpI=x z?!934ioP->?}aX!4AIx-py(S@z7=%Ij1_%rPKdrU)mlT}n+c-J=B(%k6VnFz(M*HP zg|-xOsSSl(F%8-xENq9ctS!PX<|_%U+9R}Yhw!Ue)DGdQgliIhH?7+vtnGlXp*_Mi z^Q(j&9TEC;K={k7>wpl}387#|Z(E<&YkGC`b~D?h>_YM8Gl5RHq$ME?>4e}nJ0z6o zj8G;C;Z~ELgm6H@5eWfPvNOV%`w$-Kj8MQFlu)$`LezZ-1f_; zT$ON5LTS^w2g2H(2pf7Jlrg_b=+Vntu>GZjmp+?1X2RaI?|z;&D)>vUe1Epwd;ZN{ zRsJ}6A(;MZOo?vIzUh29JpV7%AANM@xshESn?Li~!O~eDTVaon>(F`AsiArH+_GLX z?p=B@tTzR1y_Q|I@@#&s@k8~L{x^%|S$Ez&9@6Y!ub$xZjjvn)KUmKG; z_qN_Yjs76^FWfH3lYgebFD!Wjvb z`XJOY8GR6@K8SEiLX0Wj7a=|wVNzd&y5@w03ld@Ch9RV7B5akAYP`b{N@O9V4o4VhHc2=jp=bs|x=GGJ7&8K4 zpM*gsA`_wNNQ9A@2t&+X31=i!%0d`sGO`e+jzTykA;Xj(fe=3$VbTbMEOSD_1qrbu z5k{H`BM}ykLHJz4XcIFEq19M~`J)iVn)4E_N@y_}VZ6y5jj(nc!W9XRn5JV8dW=U{ zJq97$T$T{_FhbX{2ouc8u?X8G_{SkUW|GDsq&*0eT?WHlZjsa7}3kkWd!dE)B15}rCBL@%KR!?Ws)XAPn&h3)y6v+T4Q>Oo-vz5 zYfWGZw9X`po;5o}>rKQ|=sA-v+F zYA#C%n~TtOHo{)BayG(t3H~_P?Ea7w}nQ+_@|{6d6D^AS#( z6A~^+h+Tki%1l^*uy7H==MvsEF$SU4Vubky;jB3?;i`ld3lZKoxeF22Ei5{fQE_{t3Ugi6a1zB3ui5vD$ca7w~u zQ+@?P{3?V=D-eD(CnQ{u5W5oLikYwyVd2vVpG)|~#5{%2YBj?Arx1QM=OtW~&|($B z?nbFCcs_p}2|J zfY53q!u$;gCCzyWS0%J~9-*|!eI8-$CWI>z%9y4vAoSRbu=)jrvgWdcuq_B(HzJfb zD>ou+m*C%oP{AZ^LP&cNVXK5n#=9Az#8!mV%?MS@CJ6^56y1VQ%_MI@81oXsJ_$8U z#ES@3w;_yt5h2R#m2gHvrL73HOvYA(soN1wNr*A!UqXoAfiUSMgu3R0gbNa4w;{xu z3EL1BzKrm>gg6tk9ii1L2=liiG%)8ST$Rvb2SS3$-GQ)nC&Cp8jZM>+5qj)GSp70W zqPZ*~Y&SyJR}h+-m9HRdm*C%taF0paiIDax!d3|_jCU78i9HCZyAbX*nYiVa#5HeG=N5h*uG+zJ@UJRfP6tuY@xaD(yk&XfpO7Onn{Ul!PQxelJ4&8wiv3 zBHU+ANVp&&_BDjAX2NR-3-=*>E}^@Ld7ZCTZz9Zp9igW=FX5_$7H=T*Ho0#gtlf`r zMM59bbRR;G0|=}4Av|C%O9(rN(DhA(WV7;3gzXai`w>!1(td=rLkL?Xq#Ex5gc64l zQV$>uG@B$GkWlm>Lb^#lh%n|YgnbeQnTSIORgWNyJcKaB?3HjvLZ!n9!%W6ugsDdn zPD#ix<=;YxKZY>rErcv{Lc#?Ju}2U_nh8e`79L0VT*7D*a}=S~355Aa5yqPH60S;U zaSUO+$vuX!_HBeK5*{&4k0bOriLm-OLbkaqA?zK5t|t&Cn3X3GwoCB8jqsRBdK)3_ z6v9>slZ^KyLW$D|sV5Ppm`xH6NGSRa!Zefo4#Jps5%x)V!bF_nP@G}XMKjG_(JWK) zG&I{}h~}7sqFht{U1+X3A+k)hGtfLUK{Vf-6)i9^XCY&zi58mkqD7{`d(dK&`<{1| z_YM>LzV}mqbzTb!H%-4|HMaY}o5R2z`M_Jne_J^3S8dz-rMFN%6L!wK$D3)+2YlV< zR?i=(ThjSg92;+oI`2K^^ZsnEed>L}uUCq~m7;Avyuw5O2|>@eZM(npM*FSf)rz2- z@4xYe`PcF5nu6P6&U@?nmTga-*QdqwQcfu z-Z#A_=TC2cWz^|18SU%Gt3S%f@+zayKP~>zplyHt;60t+|I(vwGq&VcnmK=vCTanN z8}Da~YveWTHx}`Vq&e{cJLk^Zd||#>OSW~m<}Ky(w|QEb)1nG$k;(bY8&=Y8B~?|G zuK)A2%20ka{Homt&R4n5yp5D>&pB_HH**`kXZf6NHPkmzQ7X6^<2DzGEo(jFZ zI~a{W&KqGWozGBLW5RiMyV`I!t={u3=V}?QrnkZ>xLT&(vR7->vJ}GlWVxE&!qR`~ zqt6Ie(>vFpA5e^RHN9P2$@LrMYI@18GGX<`XjtXx{kEn+pK-2Vw%%E5W=kH=cvmcf z-QLyo>j_m*Kbm3E+n+~VP48>Rssuidx|)U~=xU+H=~ozfGf*E*Jmtq4^wjpd{XfAK zOCi>A9Yep)D2;Zn+g+hwXlN{}xSD>Yp$yA_Q-t-Ij){v=pC%al%!qb3yV~UUQ zSDJF59R;hV`ZbJSF46LAE-rhU9CFdj&2WXr71}b@GN0{=DAu; z!fSxa_sn<2D8kQ3;IqKhq6x1B%2+>WQHHg^vp}DPX#CNyv_0!3@LBBo#Sq>BRM-+% zt3!AjP#*j+rlOr;U5pJtnJjZ1XscZR4Mm4|~Mz3T74i-->?6!=F*8i;_0K!25aGM!x`6^T@Mo=B=h4uTn z-@zZ?7jP9U21~dd^xf&-kJ|xr!t&jhy%q0mU^~zo_9cN{bguwLl0yH(mRJ zUho=t1MCBDf9yl7peyJGx`Q6ze((Tz5NKnn1=x%{F+lrI zWxWAjjSTc7k5xdwO3_bcI)M&A8&WHv-{mBLMj#GoQ#wSC9R^3iF>oB50B?hn;2ofi z>NI#4yazr6AAxfq6%5eUsS`~nm`MNBqJtz8=u8+1wC8J&9|Oh$?d{siS1?RZ zfmPsX&;zY4Xa^ENBhVQ1r2Bh=hrl3E0WC)Fca~8A;V%+vk#B&X2hW1j;9YPAoCWWh zqy@gxJQ+z};2W5&-=OK|5O)FnPUSnWoJ^hs0km+SpNove9u4$&z52h}D%1H@Kvhr; zR0lP{SKwD19FqfF&r zpzefw1HG=(7U*Xq1HeF#4jux7z;KWOvcP!oFn9z!3Ua_i@ECX;Ob1VZ8DJ)u1!jXe z`Y}i@fw@4xG#SUhoPf`OC4`rO)J4CRxdOI>rC=gu zZ2>QWZ9u=8SpimpT78@ydJs65TN@eKx+mncx0;Ymjh}aCe z;M4(R5Z2XR80bV;Z`K{a?;xl{fsMhPgj=Fl2D&Ed20DUhPz6*4)qt*z^xi^u&;>-0 zu8IB$N?ji{0=g!OA`|^aQP(~DNHh;eU5Y#f^xF~ro>4!o+)3Oz@FT6zuiL+LeRM_f z9MAE5RSKMQual;}VxRMsvghKj5qTAV{lHv5HrF<$o_`cP0xE+_paQrHM1ta=7|>rb z6$W>LLO{KID|`#k)rTL>51u3Z7q|$%0#sM^yWR5%f%D)1n6NE&sgKLV9Kx(>54U4> z?`YU20%g7$JPlTY6<`W@96SalxjY%31!e;a%mq&X>GGQnrh)*_2#5tuFVbb(h7!*J zp+rhB6Ub4S&v7{vuiaK@boS~D)>_bcya=cQs@y_g0Jnhl2x=rl>6KPKlht(9Qc$E4 zhn$pYURz=L-K;CKoBcw0EO*nmt+gw?3hk*-KI;0AvsxYMN@e(W-583$p21CiYp^$g z{orM=5v&Ee2vu*s0GRdu6NDDkyK}pZ;B~n;jt?rZkE;tQNfp@@3@HPl7O=TYHP4$k_ z34f<&OAIX+ZFHdo(zTvL8EF_a1fh6!e_mS^{0MvqJ^=55vmi7-lwaQYBKv)fe_kwl`=2w8!;=dx9RIJLn2xKo`(Co38}W5Yz+JKvf`z+MpJQ0yRK&P!mLhIzVxC zf&8Q^O+1j^0K|d%KzZu9gyQr1DLz|~inzI;yqU>SEzSTP2&-kyKqH{uXbKeH1a1rx zK@bdc)7(S2IcN{=1ub1}tMPAx(HgV@?SL)~l0Zk$3ET(Nje;^z7pvR*fcrsT@E}kZ zD^7lzd>Tp(-@`x)Z9KdR9t#f!xUwVrK71JZ6#@h2ZB(#0GcYMf(L<6gY^I9*_p~=1QE(Wwag;CAAT9=;LF6$0K>LK;VEDe(8SfM&^GfJ z;m5%QkmKr#)74xkPWnVQPMYG`8?tQ&8IxU68O|U)4NT3WP0tg4!i`gWsE|u2~{4W0(8z#5=ETM3j<87L!VsEk#B3QEQ2Wq1Jm3cS-qJnKu$-c3+55a=%GKF|jINt`y=J@CEY8}J9%N>-o2=fUsbCvXLP0xA>tKKvv20qh5t!A0-@ zabLk5HJvJ9T)_Aelm=gbHsEt`7Q_<&7W@V{476$wfqme0@EX_)6t4=ZQY!3CZ~*ke zJ_sKHXTWK26dVJmw4IzJ@HSAQ6W};F1>SM-E_^QtwN|ZDi$4Tvq0+qvJ^&wskH9(b zDOf|{tAQ$~{jV?h7JLuB1D7I%1F znCcMLbI&rcx?jDaVeN#bn^N7>>M>Pophs33+H57f3+GTGwdP*5BH$L_2Oglz^27On z59qOM-Y12ckfI zP!?1Iv7jDMOY4H#K==JMK@CtH=-$67r~)d3iXajc19pWKSpujM#eup^3TCwsBrPFBtQ@Euz%DkC|Dxj&Nsi8Q9^ZKZVT7#D;M688Y3TTDr z^=nUDs3M_COUvt%tpb(d%@NYn8qLklAhZ#7C)^D@0J`SUdlA-2q-~-n;T|C5tG!C$ z0*V8D32VQrtKIs34DB<$;XWXgC|P0jesB-CD`*e;fcwFt=$$}2@CbMqi~=LUVB*tZ zwLT3V07Bc47E>xvg8~|Vjpaa~%sK$AJnd6?yGgyI<*q$Pz0wG1l7&{dR`)|78mOz~ zqlq^NXmZ}1S16Cc8h`B{#lZ-m$&>{$K@^Aun(cbVKLlv`Wq{#e7#IqaxiVB93X4Yr z?PIdX0mY96noBA}d24=UEAufR@1CR8khef(qE>}67b`=xP??4*q`9K}#sl?;DxqGT z1T;*KgSJ3Jqhp8R$+pKwWAhl|y+B?6Dcw8~_Jau^2RP&93|FW^8oJN~R)w@&RVfu- z8>s8;#*kkmC=EhsHNo%D_^V~1jN04ce`<1+elL~Gdz~^H?dIzg&3-i|m$;j*ORis* z%pvajWryl~cI;B<648oyn5LHmRDmDxJ-6cin z@A7YcpQ2{Ct?V zZ%lN2bX_z3MPH=1ym{tDUtQj*dtcPS6x!-58Jk9u2$EDOIk@zU6K_A^^Y*P19TUyM zA4?23_&EcM&hGug7k!o!Q#+bCF4;{VlInj7(3=4{Z9e)qq2`x=JdQ)%=-P5vZ*t}E zA`XRc2>r*VIK)K9#6;Kjyl&RZ;f!0vmG?bqmu~;?5xa=k=$N{m@65-losUjnbIQrB z)oW(ut&JP_yuXr!8?u~&#Bkq}Q>tjChzS+$drNuK(&)OLk|ydUUrF9ay!R!V*}{w$ zC7GDA`HIEUtX?DxC*j)O=k3|3p( zTs=70|J|xCWM4PBUUYrV2h&jwf8wB_NV~dn%BPok5y{&(*6Ghers*kPDYFbO-uTU`t&Wsi9soh z@~cUDi(>seu2QoHCWO84@UThrao_qBOVT^c${m#WU;P}1|L*7HXS%)YJMIoheoA@Q zG<}6q&Y9j&>5G16c)lL;#*!XiCLN|W^{5R?@Fz1{4u851rPpPD{QQ?&dB9~mFzdq1 zhsE-h`%mET?F{k>346R{I&Xlg*ETixO`J+kf{@s*BOTt?zp<}|hFVIGj*ATxF+ zqj|<`5WQ>8@1(B>nOeIby8^}TqNERa5~wb#acWiOi9wt1CmWWGviX+RK*`2u4l6|m z^FZ5tB}?DWeAASBY-8%N>J2*Xu-$8GY78*#cT>&^GhsLGE6uUpB(7k-!YchdD_H~A z^}%oc`fX0~&!nouY^3-~Ch1kXu7jY`yI5lKt6rdL1fkK9e&wVf|zTTcgR;v zlXjW8_BwT`Xky-=F29)UH+(fJ?BZgNKRNI6r4jl5jYozrefO=C%0OFZZO=?|D~-Ob-46_b7pjjtV^Ds+yVyeI+7$;=xr_PMzC+|Flb))3e=7 z@EB3mJSdM@crXca=6<Ny<_FQy`z*i>XdEz?N7@<=W7(I@b{ zT4p$Q>Gh=Gnl@+0L)8oAcqX2|k;3gDw>wMk$B|i_b9lLb`vbSndgF%U1#|g`+Ed%y zc9fi})HZ|9!cA+NCbILibIvEeI@iZ1k8Y1!sOMchG(b1IxefS-=#U)B?4P|=myq{O zW&DF2Ihx&_LnS9Fa#G)gv-jM4qYK>P{_8}jMh z3lQTj8|MVW$!?pgszpQ%q*Rr~TaQB2zxuF%? zzmci=DK-9^m8;3<_IBj|lA*KJnuhQBN|oN<*xB`4WOgaLrbog=pSL~Z*~ zZoa--o_^0)@8&L_5;RTNfa}i>I+O8>Su^@CZZ=L+!<{?N5TnUEZPFianDkE7h;dIF zck{k!Pv?hj+^>|3Oi#4`embYuAaBJwbtXP|qn{=un!+F06Z-3KaQx?Oz;%qA)5JN> z=A1dydv=-2Rc>SznwjgHnCHkcawnd;faoxO>SX__SJQ5IzS+c_!=wI_O`X#^szvko z5@);R+0y?x?LYPGKTP1ruJ<@gH1_KSPmO!y6J5r*D?8;L^QV^dxO+^^Yw+ZI%_$5Pc^h|-4+*A;=y-4JS;-%K=QoxGK&kJcbg(rA*FK`>s}4oY}0_jhN7~p)&R{^V4+7&YwcW^H~R7I<`-Ag;YvKzlPg-A+Mm&rJMqwU zU#+QY_bz?9vAN-KoETk@-JbJk-xogayYoiOe;fmUKjrF_Uf#x;a)J3*?nqeF_HB~8 zQ||Bg*#DuLIW%03tKn zI~~)1_qgY1{_ain~8bHP``JbA$v#;@KKj$DAV4$9?TC(-y43BRRJ=`x_O zcR@$<6eZx=G?L+_gwIUuSi3dj^}?4){vggV2y)yKYZ_=zGi&U z8ktn09?xdD$eYyD?7YOn4|IDsuFDJVJy-e_1#(tb@Z!59y zgX72l{ETevyXboS`q5;5OV8YR1{L~^bQ5tT*j; za#g@z8}v1E@Q5CCi?iXq@%-p!cX*qR_j&Exbv$l<-dWiDU|)0kJLZA?bgg9M7Y{gR z`uN7BE<{}YDu&Ft|5fJhR^kh>bJy&o*@_^5QZ zw7eIqe#(tD-KQt<6 z_J7a7yxh;#bd+6(HQQYaq{4w>Jxo3`M6t!b` ze!+!&ih1iY8M)hz&z`y^>Q^R#o>MGYRB?BE>zSW!>`!&vm?JbCt+BmUThusZ6-g5ybZG3c0TVmA4#H+(=ynO4Wsl@PnPBrP7VwV2Ed`ZKj z5FXE@UdnBL_P3sH0qg~%Q_OKZ>QBK#cYHrTxx2-T=3fuMgR#-$z(sD%nm@MeKbbL0 ze;J_ZKo6`>F?an)+TD0)SZ{y(j~`zAb^b;?V)aC{w&x@BnK zdojffCT*mTS1Gi;WxY7JK+h7zeK*RD>~B`!;hU0T3jd7fS9tO?E9Y?5%vD2@0)M&_ zgXi>Nsiw&lJZq$y=j7Qm)u~T~nmyW|O6|@?k*1lR=yyvs=j3q-4;>XFZmaq5oELTs z^m)~lG|7`SzzqKhkIe&}Lw|dZ2B+rj^!$D!k5Fk9(#&o=>;H4T{<)M;oBsNLTD$JJ zDz0Y_yC8OnbXWxJ4Mfzdq7;cgK_ytR#EOQ9ihziKhz2`}3TUEZdl74_h#+7|6k8HY zz!HrGu_i`hj8UT|QGDOCXAf7eUiAGw&wtk4Gc#vq&YWp`_7cI%zVz{{Ml}BCFglW& z(uGVqr?Ki$&yIlJ%UD z=YP4d?=u(p6ETb6`&Gaw>5)(t9&@< z$|i6we$4bM>vH`Wdn3VK;{miy6d!TB+-i7};cmAv!r~=HzK$a0Z^ZSYDC+$;`0E}` zBkg1x7wqRj(L5KsnA*79cSveAb!K&^M@G{bAStiEnG;cE>_l??2Vzg2NZ$W|{M=ZI zV)t6xt>TL5zh=+jz0Lzp_j?@ofMJK+js`As_zQEgmr;fn1 z*a-Rl3vP^iCQx7SFP|N~N_&wH2x|RW7>*H^!7Myw z5m0C7m}Pq0_yj5iuG6Q0U;=k^3>kO&y{32tBj#7%FFJ_gQTZHz%vZ135Sz4bqq8Ld z+51%}jRlwItiz#oT}7K!3zOHLqcAk=#@I_Y6Ueh1rttbmKqBRogPy2^1}83k0ZvCJ zaw+fmwL6w*o)-oNwAR2&6Nx&O2N`=wQ;{-%3J+Ar${t^Ruwc!PdNE(J6?N4Frp6ar zHC``E2a>3!BsO6FcTeqtV-nu<@vR4Wvn?cK60bvJ&?)9)Rdr(FKvNGUyU|W4i3T2zg zuV?O-F!>IkjYBEDsT?$_+6{as@n+w!Qn55WM9-_pZc?vVfoFXz*%7N0?2Mrx%75)HY6Nd2mMzTT=p zdx)n?@ihjAkQ&aV+SO!xUFlrz!EQ~v zx8=d|&c&9dXYhojufO5S3gLJ+n{R`T>{j$6AIzhWnvgtf9!1u|HDMlQfR-eli~IOg z8d)9B=cm#s1}~l`eM&9aa{({lG(7);4?s^D~KizMDU`_gSgWJvtDm}kZ4`K0{ zdN?a({k2oKuWlZjsUKPqNBTn*qV(Sg7aGYIXzU3+2< zaTOHaj;YO|yj8nmjsGhha@~1Jw2)$I!_}-^$X9vuzL90?W_}!R28Z4TXLfMJe zS}s~h$?suJe+MLM-Sskaa-LA*P#BsgymT?Co<=q60J3o!c>q%CnnwP(S4O32Yn&62 zv47b3G`eO9$jmfK1Ej7Hkk+7mFEzEKYT(3~dM2->7F!}TXfjBeOqEEj>7_zXn%*kWtkAvjqX(r+ zDH}T1T}C;_(y7yfww&tzX!Xyk`%@bY&52jE7SS(QAeVzO`EfLfPd{V!m80P7lm#gJ>lXY{YdaK3a$(NglQ0G6IS;ea47Df9wL4j z;mDS~ZUG>eFKGQo>ys@H=FHSXY`_SsrOYlxCVqQsb)F`D$hf8}Xn)kRx*lTia_Y?>k~N6$ zm)CbY^6>f)J;dteG}}t{(hXk0)14dl8((SOKKe3r*Pd+;FOx`&FsrNb^8>3;**YF0 z&?$@JDJ$qMqrManc7UjB+P&ma!I*XGim=0bCfiq#t2Lzi1rSU#A7Av#33cy)H9LwY zZg|pkB_A0OcW=tz7dD3_(-#cfwIwu`^_AtmPKc zw3P)#*76`zr&EBe2FN3WJ)cxxke{ydp?dnSsS6I1Nf%erP+O3^2|#8-uJJvxW377> z0?^Z=BV$-SGUMR%y9N+?@p_B8Ea?oxeOHmEJs`$|h7)M`gv3m7 zo^z-(Aka5M4cB(=D)R3Qcej2OO=pmY0NDtT0~~`+yZo7pzPs86LI&u!igN7b=90;m zRBA7~;yf3Y$l6;yo3EAUTfB> z<)^TeO{@9R9$T1P+fF){$kKN8z>!IDCe3t^i!f0iN7%xYH5BOxPG_&7xsLM3QoVI_ z&rx0>U0Fxl`XJfTOyp z{TmJlW)X>d{%UXT-F>U3GIXzkFv5&I_t+5L^6M6E z%>(+J2nn;?#VT{w{)KE0w~%!`Iav91t7h+C`4;{%XB0o;tF|9dyC>H}sivMlv$jy5 zp=Xc{EQxmutzDQ61#ai&S7TQ%XQ$mYr&oq}CJNIh+7LrE@j2gT3@ zSys61g6&iUXx&keWg)wIXP+56OfxoXLc*$VV1&7^aS?$}6RvgItBx?gX7YGDW%wY~ zZtE(yRk~m&Gm{QqVAW~yiQG{D!(L>kAp^J5Y*!eB%8(ruxyp)W97?S$-t@^`v{R~; zQN&KKGCPGex@3{78&vC_Mc!^O2JbA2a)Y%8Wzh;Z*;^?9CUaH07bRZ}$V|uprq+`v z%%b}Y!!?^MyMjWqZ1QY`t9LeK^uRS8_g=UvJ840E7^LS;9`e`LUbbiQ!hQa#eCnbF z?W96LNOyKpMgv>}b10;Zo`R`*PSrtKn!{OfR-S*dXv^)Fw&>~{I^_=qjcX#?v4)Bu zq_IGU8lb!Y)lx>?U{Ir8F=QJ>TZh8qnH5M#vEHtXnJlQ zonq6h%A?K!P^79bO*&(G#~d%|-BHoHuB>TY<(ew%Xi$@&|t{UHVE6rGeH$JM& z9q^3=M%cofElap?)3Fyz@wD9hcs`{u-0Og_1H_E=hwEN4TgYOQ2JuwGHLn}DJ9A|> zc2b0m=-?g;sDyFmP{5PqLEDBtaEt8AT385bcq3$DU}1F19X?|+z?m)d8(sT+i&ew9 zAZnP>R!}+w189RLEcE%sZZ6Zl#IimYx;^*PX2-UInO}qTD!upcbu{VtD1L3={Hc1* z1-T)6$fE^YaX>QfQ5KeE?i081oCb+?J%N$;FjC`2r?Q@(FRG~OzOFXr z?eLk+9?E8qIC&d$_{7NtRL&lWtHxW!eeXRK+!Ev3*5rCH;z1y^W;{CM!W&b0+c&HH ztyBFUITPR&ZdI7Oq3;py_g$ZBzRJ_&B}A;U>K=su+}{e$&QQZ*0^vi1Gx*T60$3#? z;(~|={SQzk+hqn0R@rfY$G_O}t^b_Au|R}>EY3@A)?WuqK~Y$n*x`ah!P!eHQtdVn z0fc#|yE}Z=Sm%ZEoJ@6zoHsAU`w;g-wQQe$cz?k)@iGwUs-P*P5K;>-qwz%LUR-*W z(bs_a2GRsj8?&nVttq>WY*vW|`1ZtWyTd#cSGvuJ|Mi08qTf$^i@dTm1dG@recSRt zZLqM4aldOIZ{?8hPF4g&kbh+X?%}_vlxow5Da}2|!lD2%e^aI(3F1MGR-wl+d zB}Tarb|SW*O1;8&RoJ^B*CH9wTqVwX9-|c<<>uxOkFf&ry1ne^0@IB<&J(Xim%E$h zoE|w(GGzrG_%T^W96*`+8Hk$jN?9{ z37zmY3ja2RGCRo;{Oc@hH!qgWu0F|wOwp}xVwR=-#a>3i2pHS0Kag+dcVUY@>nyjd zCO(hJr30Puz022#xhy2PNH>P}xpyxHbUPxrA|$=}3mrDZztDO0!x^c2F%3mlt`s0| zuML7W_W#q;R{DXxiN)ane7-00cBx-6ZSlbd3@fHmU^qn=^U~r@m7?G5tdd!yfW>!U z@UKjynZ?x77YIv=X{0X@)&hY!uK6uaJFain%S%ImmbBupRu*LeP-HIBj$*puD>rZW zJrG@i*bIA$McbewKDHsTAp=zc>S3uFyU5cIk$UziZX~VcoP)oPn0o~ftgOImVI%S( z8@aKarZZd*Vb{4u#5S8Xum1$@?JJ^DHmj%ZH^8{OwG)pR@_VnvhZm zV=Q0Wdyeh~G8d#)Osc;Hs_Mi|&eJs%m^vd$$MV!UuayrEXIa`cj&7%E2Ft+%fEpGx z(P`v=AP^4}UXs&!%4PvWOCc2Frrar?$^ltPieR85qe*(33Z;l}1W8$fQjxrhdnipU zSw*5#=RD~Gp?0n0p;dvhqwW@jXG=L?V_rtbDogUUrNm+zv2@s=rtM06*PsjJ8U&WK z-h&i#f%*r*EVygJ^Eg_Id#5FuYwCYFsc8$P157RT0&nne*Q6}NEpv}gHjN6NebFUF zTN^k#;k3|t@a>MNaL#s6ceEZhUZC0CWmhE^m=3^Pd+^4T#%I&ms((YGFHj*M z8{Py&Q$W1cy;Wq-LgN*oRBSd8dNn)c^}VL|N?eBVVv=ujn|d%$BUvT9;JbaP>+l-; zf?Kh>UJ>T1e3k{c!9_mMgCjVc3 zX{EBhG~Ek}z z-$9}BHUW{@J?k1C`beja{biTH9o9T~yc{}p{lKlR4tsIW`b#tHLTkUUZd>{-?k#bD zwBv|=e(~Nvbr{BHy`}vPjOv{yckp#>P5!&^!Dc~!xjx# zAGzbj11*{-yEQQ2OAjkJb?-oHM#v4EUls;XFW { - highlighter = - highlighter ?? - (await shiki.getHighlighter({ theme: "css-variables" })); - visit(tree, "element", (node) => { if ( node.tagName === "pre" && @@ -36,18 +58,17 @@ function rehypeShiki() { node.properties.code = textNode.value; if (node.properties.language) { - const tokens = highlighter.codeToThemedTokens( - textNode.value, - node.properties.language, - ); - - textNode.value = shiki.renderToHtml(tokens, { - elements: { - pre: ({ children }) => children, - code: ({ children }) => children, - line: ({ children }) => `${children}`, - }, + const html = highlighter.codeToHtml(textNode.value, { + lang: node.properties.language, + theme: myTheme, + transformers: [ + transformerNotationFocus(), + transformerNotationHighlight(), + transformerMetaHighlight(), + ], }); + + textNode.value = html; } } }); diff --git a/package.json b/package.json index af9cae2..5e54148 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "@mdx-js/loader": "^3.0.1", "@mdx-js/react": "^3.0.1", "@next/mdx": "^14.2.5", - "@shikijs/rehype": "^1.11.0", "@sindresorhus/slugify": "^2.2.1", "@tailwindcss/typography": "^0.5.13", "@types/mdx": "^2.0.13", @@ -42,7 +41,7 @@ "remark": "^15.0.1", "remark-gfm": "^4.0.0", "remark-mdx": "^3.0.1", - "shiki": "0.14.7", + "shiki": "^1.11.0", "simple-functional-loader": "^1.2.1", "tailwindcss": "^3.4.6", "typescript": "^5.5.3", @@ -52,6 +51,7 @@ }, "devDependencies": { "@biomejs/biome": "^1.8.3", + "@shikijs/transformers": "^1.11.0", "eslint": "^9.7.0", "eslint-config-next": "^14.2.5", "prettier": "^3.3.3", diff --git a/styles/tailwind.css b/styles/tailwind.css index bfc9612..3bbd214 100644 --- a/styles/tailwind.css +++ b/styles/tailwind.css @@ -14,6 +14,75 @@ [inert] ::-webkit-scrollbar { display: none; } + + .prose [class*='language-'] code .highlighted { + background-color: var(--vp-code-line-highlight-color); + transition: background-color 0.5s; + margin: 0 -24px; + padding: 0 24px; + width: calc(100% + 48px); + display: inline-block; + } + + .prose [class*='language-'] code .highlighted.error { + background-color: var(--vp-code-line-error-color); + } + + .prose [class*='language-'] code .highlighted.warning { + background-color: var(--vp-code-line-warning-color); + } + + .prose [class*='language-'] code .diff { + transition: background-color 0.5s; + margin: 0 -24px; + padding: 0 24px; + width: calc(100% + 48px); + display: inline-block; + } + + .prose [class*='language-'] code .diff:before { + position: absolute; + left: 10px; + } + + .prose [class*='language-'] .has-focused .line:not(.focused) { + filter: blur(0.095rem); + opacity: 0.4; + transition: + filter 0.35s, + opacity 0.35s; + } + + .prose [class*='language-'] .has-focused .line:not(.focused) { + opacity: 0.7; + transition: + filter 0.35s, + opacity 0.35s; + } + + .prose [class*='language-']:hover .has-focused .line:not(.focused) { + filter: blur(0); + opacity: 1; + } + + .prose [class*='language-'] code .diff.remove { + background-color: var(--vp-code-line-diff-remove-color); + opacity: 0.7; + } + + .prose [class*='language-'] code .diff.remove:before { + content: '-'; + color: var(--vp-code-line-diff-remove-symbol-color); + } + + .prose [class*='language-'] code .diff.add { + background-color: var(--vp-code-line-diff-add-color); + } + + .prose [class*='language-'] code .diff.add:before { + content: '+'; + color: var(--vp-code-line-diff-add-symbol-color); + } } @tailwind base;