这个网站(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 秒

一些心得

  1. 功能是价值,轻量是底线。组件库好用,但别让它拖慢你的站。
  2. 访问速度就是用户体验。再好的功能,加载慢都白搭。
  3. 反复重构不可怕。每次重构都是一次梳理,网站会越来越清晰。
  4. AI 是很好的搭档。这个网站绝大部分代码都是大模型写的,我负责想点子和把关。

这个网站还在继续变化。下一次折腾,说不定又有新故事。