[{"data":1,"prerenderedAt":177},["ShallowReactive",2],{"blog-\u002Fblog\u002Fpractice-what-you-maintain":3},{"id":4,"title":5,"body":6,"canonical":164,"date":165,"description":166,"draft":167,"duration":164,"extension":168,"lang":164,"meta":169,"navigation":170,"part":164,"path":171,"place":164,"placeLink":164,"readingTime":172,"seo":173,"seoTitle":174,"series":164,"stem":175,"updated":164,"__hash__":176},"blog\u002Fblog\u002Fpractice-what-you-maintain.md","Practice what you maintain",{"type":7,"value":8,"toc":154},"minimark",[9,14,32,38,41,46,49,64,67,71,74,88,96,100,103,122,126,135,138,147],[10,11,13],"h3",{"id":12},"why-my-portfolio-now-runs-on-the-libraries-i-help-maintain-and-what-else-changed-over-one-tired-weekend","Why my portfolio now runs on the libraries I help maintain, and what else changed over one tired weekend.",[15,16,17,18,25,26,31],"p",{},"Last week ",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fx.com\u002Fzarazhangrui",[23],"nofollow","Zara Zhang"," posted ",[19,27,30],{"href":28,"rel":29},"https:\u002F\u002Fx.com\u002Fzarazhangrui\u002Fstatus\u002F2113148949842534482",[23],"this"," and it blew up:",[33,34,35],"blockquote",{},[15,36,37],{},"Your personal website is the new resume",[15,39,40],{},"I bookmarked it and told myself I'd redesign my site. Then I remembered how long the last redesign took me.",[42,43,45],"h2",{"id":44},"it-took-me-years","It took me years",[15,47,48],{},"On January 1, 2023, I opened an issue on this repo called \"Upgrade to v2\". I closed it in June this year. Most of that time I just couldn't decide what my site should look like.",[15,50,51,52,57,58,63],{},"In the end I went with something like ",[19,53,56],{"href":54,"rel":55},"https:\u002F\u002Fantfu.me",[23],"antfu.me",". ",[19,59,62],{"href":60,"rel":61},"https:\u002F\u002Fgithub.com\u002Fantfu",[23],"Anthony Fu"," is one of the people I look up to in open source, and I love his taste in design. A lot of this site borrows from his, even the handwritten logo. What's mine is the green, what's on the pages, and what it's built with.",[15,65,66],{},"So I didn't want to redesign again. I kept the look and changed the stack.",[42,68,70],{"id":69},"practice-what-you-preach","Practice what you preach",[15,72,73],{},"The site moved to Nuxt in June, mostly because I'd started liking Nuxt. Also, the green matched my avatar. Maybe that's why I love Zag too 😅",[15,75,76,77,82,83,87],{},"The styling was ",[19,78,81],{"href":79,"rel":80},"https:\u002F\u002Funocss.dev",[23],"UnoCSS",", which is also Anthony's work, and it served the site well. But I maintain Panda CSS and Ark UI, and I'm in the middle of a whole ",[19,84,86],{"href":85},"\u002Fblog\u002Fbuild-once-at-build-time","series on Panda's internals",". It made sense for my own site to use what I maintain. So over the weekend I moved it to Panda CSS v2, with Ark UI underneath the components.",[15,89,90,91,95],{},"Using it on my own site shows me where Panda can improve, and I learn better patterns I can take back to the Panda ecosystem. For example, turning on ",[92,93,94],"code",{},"strictTokens"," flagged every value I'd hardcoded, so I swapped them for design tokens. Panda's style lint now runs in CI on every pull request, next to formatting, linting and types.",[42,97,99],{"id":98},"the-rest-of-the-weekend","The rest of the weekend",[15,101,102],{},"I was tired, but I was fired up too. Here's what else I shipped:",[104,105,106,110,113,116,119],"ul",{},[107,108,109],"li",{},"Blog, Talks and Releases tabs. My first talk is on the talks page, and the releases tab lists every PR I've merged across open source.",[107,111,112],{},"A handwritten logo and favicon.",[107,114,115],{},"An accessibility pass: contrast, heading order, alt text and menu focus.",[107,117,118],{},"Self-hosted fonts.",[107,120,121],{},"Better share cards that show each post's description and its part in a series.",[42,123,125],{"id":124},"staying-on-nuxt-for-now","Staying on Nuxt for now",[15,127,128,129,134],{},"I also read Marina Aísa's ",[19,130,133],{"href":131,"rel":132},"https:\u002F\u002Fmarinaaisa.com\u002Fblog\u002Fthe-point-of-a-personal-website\u002F",[23],"What is the point of a personal website anymore?",". She moved her site from a Nuxt single-page app to a static Astro site. Her rule: \"every piece I add has to justify why it's there.\"",[15,136,137],{},"I'm not doing that yet. I like Nuxt, so I'm sticking with it for now. Maybe later.",[15,139,140,141,146],{},"Oh, and it's official now. I'm a maintainer at ",[19,142,145],{"href":143,"rel":144},"https:\u002F\u002Fzagjs.com",[23],"Zag"," 👼",[15,148,149,150,153],{},"If you want to see how Panda works under the hood, start with ",[19,151,152],{"href":85},"part 1 of the series",".",{"title":155,"searchDepth":156,"depth":156,"links":157},"",2,[158,160,161,162,163],{"id":12,"depth":159,"text":13},3,{"id":44,"depth":156,"text":45},{"id":69,"depth":156,"text":70},{"id":98,"depth":156,"text":99},{"id":124,"depth":156,"text":125},null,"2026-10-26","Why my portfolio now runs on Panda CSS and Ark UI, the libraries I help maintain, and what else changed over one tired weekend.",false,"md",{},true,"\u002Fblog\u002Fpractice-what-you-maintain","4min",{"title":5,"description":166},"Why I moved my portfolio to Panda CSS and Ark UI","blog\u002Fpractice-what-you-maintain","yumRrlbIUGekPQp8ok6PMazSyM2cAbq-wKyJBT4BJug",1793036084271]