<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>航行日志 VOYAGE LOG</title><description>把折腾过的技术写成档案，把走过的城市存成坐标。</description><link>https://voyage-log-58i.pages.dev/</link><language>zh-CN</language><item><title>用 CSS 变量搭一套设计系统</title><link>https://voyage-log-58i.pages.dev/posts/css-design-system/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/css-design-system/</guid><description>不依赖任何 CSS 框架，只靠一两个文件里的自定义属性，把整站的颜色、字阶、间距和动效全部收进 token 管理。这是一份可复制的最小实践。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>设计</category><category>CSS</category><category>前端</category></item><item><title>把官网拆了学排版</title><link>https://voyage-log-58i.pages.dev/posts/ak-ui-teardown/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/ak-ui-teardown/</guid><description>把一个游戏官网的 238KB HTML 和 24KB 生产 CSS 抓下来做正则统计，数出它用了几种字号、几种颜色、几条缓动曲线。结论：所谓酷炫，本质是一套极严格的排版系统。</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>设计</category><category>随笔</category></item><item><title>性能预算：给博客上枷锁</title><link>https://voyage-log-58i.pages.dev/posts/perf-budget/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/perf-budget/</guid><description>性能不靠感觉靠预算：把首屏 JS、CSS、LCP、CLS 写成数字，塞进 CI，不达标就不许上线。个人博客更该如此，因为没人替你盯性能。</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate><category>性能</category><category>前端</category></item><item><title>静态站搜索方案：Pagefind 实践</title><link>https://voyage-log-58i.pages.dev/posts/pagefind-search/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/pagefind-search/</guid><description>无后端的站内搜索怎么做？对比了 Algolia 和自建索引后选了 Pagefind：构建期生成索引分片，浏览器按需加载，几百篇文章的搜索体积只有几十 KB。</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>工具</category><category>前端</category></item><item><title>Astro 内容集合与 zod 校验</title><link>https://voyage-log-58i.pages.dev/posts/astro-content-collections/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/astro-content-collections/</guid><description>Markdown 的 frontmatter 没有 schema 时，错误会潜伏到上线之后。用 Astro 内容集合 + zod，把字段校验提前到构建期：缺 summary 就直接构建失败。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>Astro</category><category>教程</category><category>前端</category></item><item><title>为什么我又开始写博客</title><link>https://voyage-log-58i.pages.dev/posts/why-blog-again/</link><guid isPermaLink="true">https://voyage-log-58i.pages.dev/posts/why-blog-again/</guid><description>收藏夹里的东西不会变成自己的。重启博客的理由很简单：写作是最便宜的调试器，而公开是最强的诚实约束。</description><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><category>随笔</category><category>生活</category></item></channel></rss>