将博客迁移到Astro这件事
将博客迁移到Astro这件事
虽然我现在很少写博客了,但是我在最近(也不近了,已经是一个月之前的事情了)搞了一个大动作,将我的博客网站从hexo框架迁移到了Astro框架。这篇博客将讲一下我的这次迁移过程。
抛弃Hexo
为什么要抛弃Hexo呢?当然是因为它不够好。
我在使用hexo的时候就一直饱受其混乱的依赖库折磨,我之前写了好几篇博文来用hack方式绕过其目录生成问题。(直到现在我也没搞懂到底是哪一步出了问题)恰好最近我换了新的设备,虽然我在换机的时候备份了依赖库,但是用U盘来copy一份node_modules的方法实在有点太2B了。我不想再经历一次,而我又没有办法解决hexo框架的问题,所幸一不做二不休换用最新的Astro框架。
况且hexo还有很多其他的问题:
- 其文档之老旧,社区之混乱让人难以接受。虽然现在GitHub上有不胜其数的hexo主题和插件,但是想要将其接入到你的博客系统中往往不是一件容易的事情。
- hexo框架太heavy了。如果你想要修改一个文档的布局,或者是自定义文档的生成规则,那么浏览hexo繁杂的代码是一件非常痛苦的事情。并且它还在使用古怪的ejs模板(如果我没有记错的话),这让想要修改它的人非常痛苦。
- hexo太慢了。不管是预览还是生成,你都要在运行命令之后等待几十秒。考虑到博文数量的增长,这个时间还会持续增加,这就更令人痛苦了!
为什么选择Astro
如果你去网上搜索一下Astro,会发现很多介绍其优点的博文。其优点很多:现代的设计思路、兼容各种语法、良好的社区生态、快速的生成速度……
总而言之,它能够覆盖我上面所说的hexo的缺点。但与此同时,它也有一个硬伤:hexo是开箱即用的博客框架,而Astro只是一个轻量化的静态网站生成框架。
现在流行的静态博客生成的解决方案有很多,诸如:gitbook、jekyll、Docusaurus等。这些都是开箱即用的方案,非常现代,甚至支持云托管,为什么要用Astro呢?
其实答案是这样:时代变化了。
**Astro的简洁、客制化在之前是一个缺点,但是在Vibe Code的时代,这反而成了一个优点。**由于AI 辅助的存在,之前需要一天实现的功能,现在可能仅仅需要几分钟写一个提示词,然后花十几分钟生成代码、测试、codeReview就能够上线了。考虑到这一点,我毫不犹豫的抛弃了hexo框架,投入了Astro的怀抱。
迁移之路
其实迁移还是花了一些精力的。使用Vibe Code很好,但是你必须要明确你想要的到底是什么。理清需求、告诉AI、实现功能、反复修改、手动微调、调试和上线,每一步都花了很多精力。但是我向你保证,这一定比你从头开始手动写一份要高效得多。
如果你也想使用Astro,那我还是建议你去看一遍Astro的文档,理解其基本语法与设计理念,因为AI在这一块会经常的犯错。你必须理解Astro的设计哲学,并有自己的一套编码规范,才能最大限度的发挥出AI的潜力。
现在你看到的博客就是迁移后使用Astro生成的了。目前的效果还不如hexo,但是已经达到了能用的标准,并且我对其未来充满信心。后续我会继续调整样式和功能,来让这个博客网站比之前更好。
如果你也厌倦了Hexo,不如来试试Astro,或许它能够给你带来更多的惊喜。