From 602470adfd10eb8d31fe67a25196428c3666da10 Mon Sep 17 00:00:00 2001 From: norioriroiron <97643161+norioriroiron@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:13:37 -0400 Subject: [PATCH 1/8] update pnpm-workspace --- pnpm-workspace.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4d2f6ce..2ef8682 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,4 +2,4 @@ minimumReleaseAge: 10080 # 7 days allowBuilds: esbuild: true - sharp: false + sharp: true From be4ad2f8151a0c4ab1b54f7193fabf0b4c28c501 Mon Sep 17 00:00:00 2001 From: norioriroiron <97643161+norioriroiron@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:40:13 -0400 Subject: [PATCH 2/8] make cover optional --- src/components/CardCover.astro | 27 ++++++++++++++++++--------- src/content.config.ts | 2 +- src/pages/projects/[slug].astro | 18 +++++++++++------- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/src/components/CardCover.astro b/src/components/CardCover.astro index 5f30c2f..65e182f 100644 --- a/src/components/CardCover.astro +++ b/src/components/CardCover.astro @@ -6,9 +6,10 @@ * that ticket; keep the 16:9 tile shape (matches a typical desktop screenshot). */ import type { ImageMetadata } from 'astro'; +import { Image } from 'astro:assets'; interface Props { - cover: ImageMetadata; + cover: ImageMetadata | undefined; title: string; } @@ -16,12 +17,20 @@ const { cover, title } = Astro.props; ---
+ {title} +
+- {title} -
-+ {title} +
+>aU+`^xK;P{-;k_QAD)`;MGF1W4<+p7ZVI)#HOn z<^wmvnZ9uRPplHtq#p%-V=EE(?eTFr$i3g#bW}QeFQsGM zaCgI6Qx{)R(KW-M>S|n&09x6JD#LLOQXtz1e00oLi3@!~!g8t|c~Q%ToZ~ZfyF7Qq zddJQ*`sEByewStqsOuF)QOc7+_@5fNz=~Mq_2o7$!)LsLa@JZPPu)#KK%mb_M{~g` zq7}54AV_7vzM~Ze9B)GY3J0G1E+NM9eGcEoGGxNuF-hbaHA~9?u|rnkYDa&5FDZC$ zAjHbnR#Hj>OqVnvzfy{HQC~m)2*kq&GSczt=Ig+rr)|M4GixbD`cO!}*dR<`sELbx z#dcm;lr~-ea4#=1 &+3{Q#^q%6b^)zN z3K+f98x{nt4yzr_gAeJVF9?}|Y&G0R7K`G34g4gHSqSLzvi-tU108ojkELZF+*uR- zVdIghh;M|wt?ddu!pLZ;C$~^FTJ1nDxc1rQ#gA7k-(L(l2iDM|!MsWa(4!u=i;BWh zfi<^}SC3gxg#AQ)sK^x@ `->|e-T0-rk_NSj6&4Whuxwda`G(;?#r=r3E`;_z&%YJ^2C}e p-&n>g6XehH_Zg$L(5rI+)2A9c{1&I{YflaV^mJ!C>Ip zyykm+y3K8!%NRBii#y>0gpjAVzKG{o560@x VkIOUx}& zU6 _d^UCH@2z^zgME52;s1JvE?+fCcMi4;>S)?11MeiTTY4Dm^;?wObKn=k zm+$w)_aou^iTM42@cnrRj>GTe09b_Y)zJ51@Ov%%y%qT034Lz_zc+&a!;Ro~u;KqT tJd>ovJp!tnkb=7ZcGmx2m3&;j!v%~=-I2OwaD@V9##YyBuHAX`zX0p1 JE(G?2-5H r9@?S5or8vp=%#J8UUK*n210FVc+ zU%7NE^z9OXi8^kD)}CO}>(qseB>zf?`b+-lqZH^RgPptMo_#Q~I49B-mlI`VvE$&M zT}01MPp_Pi{PpUk{l^s^_pfkRu;KCxT?fyr2Q(Bnl!P pPBQM(`+Zs&&>JBY5o^-n#%u$HvbH?|1X<%$8#A?Z<{cdNbL(8 z6}YxB!Byq-%ejQ&%Tyz#D&{(cfOBtswrSv c9rC~)9hH%yb$PqYe2Pbdk3h$7QC- g&X z@2Dqk9>WXjg|_2!nG2RK%LMwD2^H=3h>-FX*6-q6pY`YZ;nl$nUbgFIY?C$DSliX* z=tL|oj4m{9a}*G`Ee{AhloR;6 C5q2`;r3kfiPCWKu|s)xX^! zv!PO7x3bz&Drp}Ov_{e+vVojm1a^HA6xe0J-evH>yhJFu5Z>-n>%RV6PfHlfxvH9r zU1)I85%q1t-0r^FK=7`-E=p$^P7e!I-F-B m9onKI0Qb&3;{K0fhJ( t=|YE0@)vm z?%U^{S=}&Z!>2fTa>Cy@wlvb?h*E_TFj_+%zkH!mYmV5M$(NP76f*3PiByle2m0&3 zY_I&qAp6Mc@L8q!vZRc1yNqG>dQnYH3Ga!7Mx>re;iNMBdA%~q-a=QJvt^!`hB_Us zbQV!g&)_=thGq$Lp_2dIuy!DCQ=bT9zQNM7+bC%d_F_2sV`BpoA|zkXGBbj nzVK3w FzDk<;X%kWxGQy zc;D@{nHf89RVe~rZ^7j9^(WgX|Mz=M2BR!@6NL6XI{EdC^m@)(6WNLnWA>plu!joz zmY-vj28JH!0HYy@HmrJTF>_8E3^8C$`NY3P;x|3uv~aQh=HoU>`rJBpd8@ 62`p*IA4-S>7Ap9-W@R$+#l5-m~2(Dof~DZBKK=M zpa9q1V0aD!$Ga2gu+7W4VSIKDGgUkXx_Pga`M`}$ZP&e96A>ng#Fno#6#P!8pI@pl z+-mM=5%c67esc$Hj?l4yW)1@PH CZiKPb5b!;fc>Iu*iBpw9}9EcLdaLd|| z0`l5|$)lE |zQD4^eqtc3e_ZQImUr#xL7$i;{l3tx zbVtImeG*Y;nkN*}5_#MJj$bc-NoqQvXS5f)nUmwy0w<1!$_R9s@Ba5>^At>m4~HFP zrP 2-6wa$1$5UsPA6cU*_`R?(KHUM zBQ61g9}NJ(@A{y*{T;yl=H+MYIsA&GLw2_Ze~k(Z#+Qw_VHR`>F9jqS@|SQ2?TX54 zvYKX2w0h*Vb#@FG3yh6dx(X(rn3o9|e+Xm6NZ%P0Ip?MD?-phXB`fSb%f1 z20HC3{0@8S-#!+nu|xjbvK!=C{a&pPN21oBUnp475qWT#&r#WBkeWkE>^Yg4FqDQ} zNbF9Nj=G)jZ@J-iM=&`LKIf(+BA=C_6z`p!Q63@>C%iH{06Kqp2%E?wtfiZ4JNf{u z_wCB?JDX8@^sYw(xQ!D3?VSz4@x7^F+@*Akk3Pt3 zqsV-<<7blgN1eIp#v~Y0T9_lbD{7#PO8?EB!t&7wUY$icIaN7+(j`gDk!gVG5Ux>| zhzcY-`{X8GV-qjTy_xIWYfzf_V{v~M$Djy@qv??f;cjmoMJIy9bWZ8;xuo7v*R(-= zu2;p?z~G3;6@H@%UOT*9RvK*yIT($wKh$C<>(Rt Gt#X%CyY-;=vn}aT>ZSb%P3?6y^Mqm^+tCY*6 zg|tp|I>k+rd^1BY1ne@1!%P-Jp7SL1<2Jg;p z1K@!sP*2Zx-j9)7K5{dJ&yBzI1oXLSb=P+FC*(d)=y8NTx1R&~fCV%xCWLg5yGP}e z@M{0Yi4 3Tc+&WHQX-?t5n5ioOvX@@$yi%*dT{pb9aT@j^T;Yh*kxD%XGc;gW z{hp;%)Ow>aoiencJ7qIGH0&!EI 9b3348IlD7shUmUg^kqkkO;; z