你好,世界 —— 博客又重生了

是的,我又把博客重做了。

8 月 1 日上线的那版——Astro 6、React 19、GSAP 动画、半透明毛玻璃——满打满算只活了三十多天。如果你八月来过,会记得那个 Apple 风格的界面:磨砂导航栏、细腻的微交互、在纯净白与深灰之间切换。

它挺好的。但这次,我把它整个推翻了。

为什么要推翻重来

上一版最大的问题不是丑,而是设计散落在代码里。毛玻璃是自己调的参数,阴影是凭感觉写的,动效是 GSAP 一帧一帧摆的。想改个圆角,得翻三个文件;想换个配色,等于重装修。

说白了:我在用写业务代码的方式写博客,每次“优化”都是体力活。

直到我看到 ricocc 的 ricoui-astro-starter——一个以设计系统为核心的 Astro 7 模板。让我心动的是它的思路:先有设计,再有页面。所有颜色、圆角、字体都是语义化令牌,十套主题色板共用同一套令牌体系,连 DESIGN.md 都是模板的一部分。这正是我上一版缺的东西。

这次换成了什么

  • Astro 7:编译器用 Rust 重写了,配 Vite 8。全站 28 个页面,构建只要两秒出头
  • 零框架:React、GSAP、Font Awesome 全部移除,页面默认零客户端 JS
  • Content Collections + MDX:19 篇文章全量迁入,frontmatter 用 Zod 做类型校验,漏字段直接构建报错
  • Tailwind CSS v4:从 v3 的配置文件迁移到 CSS 里的语义化令牌
  • 思源宋体全站:自托管、按 unicode-range 切片加载,衬线字配纸感底色,整站像一本杂志
  • 十套主题:Retro Blue、Minimal Mono、Forest Green……右上角一键切换,明暗双模式

迁移小记

迁移比想象中顺利。文章是纯 Markdown,写个脚本做了字段映射(pubDate 改 publishDate、heroImage 改 img),图片统一归到 public/assets/blog/,半小时搬完。图库和影音页也在新设计系统上重做了——书影音页现在变成三排横向的书架,想看、看过的电影和书排在一起。

有一个坑值得记下来:Astro 7 的 Markdown 管线换成了 Rust 实现的 Sätteri,老的 remark/rehype 插件生态要靠兼容层跑。好在我没用几个插件,无缝。

然后呢

从 Jekyll 到 Hexo,从 Astro 6 到 Astro 7——这已经是这个博客第 N 次重生了。每次重构完都会想“这次能撑多久”,答案通常是:撑到下一次手痒。

但折腾本身就是写博客的一部分。代码是次要的,这里记下的字才是主要的。

欢迎常来。这版,慢点旧。

© 2026 JIA'Space 版权所有