这个网站(zyqwq.cn)是我的个人数字花园。最近整理了一下它一路走来的变化,挺有意思的,写下来记录一下。
起点:一个 Astro 博客
网站最早是用 Astro 4 搭的博客,部署在 Cloudflare Workers 上。那时候的想法很简单——有个地方写技术笔记、记录生活。
功能越来越多
写着写着,功能就多了起来。除了博客本身,陆陆续续加了:
- 论坛:分类、发帖、回复,支持匿名发言,带审核和限流
- 图床:自建图片托管,上传直接出直链,用 KV 存储
- AI 聊天:接自己的 API Key,OpenAI / Anthropic / Gemini / 自定义都能用,SSE 流式输出
- 登录注册:邮箱加用户名,用 Web Crypto 做 PBKDF2 密码哈希
- 评论系统:匿名和登录都能评,带内容审核、嵌套回复、点赞
- 后台管理:文章、评论、论坛、用户,一站式管理
再加上一堆小工具:Python 在线 IDE、3D 地球、B 站主页、工具箱……
独立博客 fblog
中间还折腾过一个独立的博客站 fblog,奶油质感的主题,前后端分离的架构。写文章在那边,主站这边同步。后来觉得维护两套太累,就合并回主站,把 fblog 删了。
重构到 Nuxt
2026 年 8 月,我把主站从 Astro 重构到了 Nuxt 3,一开始用的是 Vuetify 组件库。
轻量化
没过多久就发现 Vuetify 太重——首屏要加载 1.7MB 的资源。于是砍掉组件库,换成了纯手写 CSS,体积直接降了一大截。
回归本源:黑白极简
最后,我照抄了 2x.nz 的黑白极简风格——中性灰背景、直角设计、系统字体。功能全部恢复,风格也清爽了不少。
性能优化
速度是第一体验,这一路做了不少优化:
- 去掉 Google 字体(国内加载太慢),换成系统字体
- 去掉广告脚本(阻塞渲染)
- 公开页面加边缘缓存,TTFB 从 4 秒降到 0.7 秒
一些心得
- 功能是价值,轻量是底线。组件库好用,但别让它拖慢你的站。
- 访问速度就是用户体验。再好的功能,加载慢都白搭。
- 反复重构不可怕。每次重构都是一次梳理,网站会越来越清晰。
- AI 是很好的搭档。这个网站绝大部分代码都是大模型写的,我负责想点子和把关。
这个网站还在继续变化。下一次折腾,说不定又有新故事。