从 Hexo 迁到 Astro,这次我把博客彻底重做了一遍

发布于 2026-05-03

目录

这篇我重写一下,之前那版太 AI 味了,连我自己回看都觉得不像我。

这次迁博客,表面看是 Hexo -> Astro,实际是把我整套写作和维护习惯一起重做了一遍。

为什么我要迁

我原来的 h-blog 其实不丑,我也用了一段时间。但后面越写越难受,主要是这几个点:

一句话:旧博客不是不能用,是“继续维护下去会越来越痛苦”。

为什么是 Astro

我想要的很简单:轻一点、稳一点、后续别老返工。

最后选 Astro,核心就三条:

  1. content collections 对内容组织很友好
  2. 路由和渲染可控,但不会重到要我维护一堆工程细节
  3. 上 Vercel 没额外成本,部署链路顺手

这次到底改了啥

不是单纯“搬文章”,我是连信息架构一起重做了。

1) 内容线重做

最后我只保留两条线:

然后 / 默认跳 /tech,因为我主要更新技术内容。

2) 图片管理重做

以前全局图片目录,前期还行,后面就是灾难。 现在固定每篇都是:

这个改动看起来小,但写作体验提升特别明显,基本把“找图/改路径”的烦躁感砍掉了。

3) 元信息简化

我把 category/tag 这种区分直接砍了,统一成 topics

对个人博客来说,这更自然,不会每次写完像填报表。

4) 阅读体验补齐

这些都不算大功能,但拼起来就会让读和写都顺很多。

迁移里踩过的坑

坑 1:路由和 slug 没对齐

一开始详情页直接报 undefined entry,本质是 slug 规则和目录结构有偏差。 后面把 index.md 的 slug 处理逻辑统一后才稳定。

坑 2:图片“明明在那但构建报错”

这个我也遇到了好几次,图在目录里,但构建还是提示找不到。 多数是缓存和路径改动叠在一起,清 .astrodist 再重建能解决一批。

坑 3:UI 不是一把就能调对

这次最深的体感是: 简约不是“默认样式 + 少写点 CSS”。

很多细节都是来回拉扯后才顺眼:

最后落地结果

当前结构:

另外我还补了两份文档,防止几个月后我自己回来都看懵:

这次重做最大的收获

我以前老觉得博客重构就是“换框架”。 这次做完才发现,真正关键的是这三件事:

  1. 内容结构要贴合你真实写作习惯
  2. 维护成本要低到你愿意长期写
  3. 下次改版要能接着改,而不是推倒重来

如果你也在犹豫要不要迁旧博客,我的建议是先别一把梭:

先并行开一个新目录,迁 2-3 篇,先跑通你自己的写作节奏,再决定要不要全量迁。

这样最稳,也最不容易半路烂尾。至少我这次就是这么活下来的,哈哈。