我为什么选择原生的 Astro 搭建个人博客?
折腾博客,似乎是每一个程序员的宿命。
在这条路上,我也不例外。为了追求那个“完美”的个人网站,我曾像很多人一样,在各种静态网站生成器(SSG)中反复横跳。我用过 Hexo,试过 Hugo,最近的一次,我甚至花了不少时间去配置 Astrowind——一个在 Astro 社区非常流行、开箱即用的强大主题。
但结果是,我把它们全都删了。
最终,我新建了一个空白的文件夹,敲下 npm create astro@latest,选择最基础的空模板,开始从零搭建。
你可能会问,放着现成的精美模板不用,为什么要自己重新造轮子?
模板建站的“隐形债务”
我们选择模板,初衷是为了省事。但随着时间推移,这种“省事”往往会演变成一种“折磨”。
不论是 Hexo、Hugo 的主题,还是 Astrowind,它们本质上都在试图提供一个“大而全”的解决方案。为了满足不同用户的需求,模板作者会在代码里塞入大量的配置项、复杂的抽象层和各种可能你永远用不到的组件。
这就导致了几个致命的问题:
- 定制化极其痛苦:当你只想修改一个文章页面的排版,或者调整一个导航栏的动效时,你需要先去翻阅长长的官方文档。如果文档没写(这很常见),你就得深入源码,去跟作者那套复杂的逻辑“搏斗”。有时候改错一个 CSS 类,整个页面的布局就崩了。
- 代码质量与文档脱节:很多模板为了追求视觉效果和功能覆盖,堆砌了大量的冗余代码。代码质量参差不齐不说,很多时候文档的更新速度根本跟不上代码的迭代,让人在魔改时无从下手。
- 维护成本高昂:当框架本身升级时,如果主题作者不再维护,你的网站就会陷入两难:要么被困在老版本,要么自己硬着头皮去修那些晦涩的报错。
我渐渐意识到,去修改别人写好的一套复杂模板,往往比自己从头写还要累。
为什么是基础的 Astro?
在放弃了那些大而全的模板后,我把目光投向了原生的 Astro。
Astro 的核心理念深得我心:默认无 JavaScript(Zero JS by default)、以内容为中心、以及极其优雅的组件群岛(Islands)架构。它只负责最基础的页面路由和渲染,把最大的自由度交还给了开发者。
没有了臃肿的预设样式,没有了层层嵌套的配置文件,一切都变得清爽透明。每一行代码、每一个组件,都在我的绝对掌控之中。这种踏实感,是任何模板都给不了的。
AI 时代的新范式:从“改模板”到“说想法”
如果是在几年前,我可能还是会捏着鼻子用模板,因为从零手写一整个现代化的博客系统,时间和精力成本确实太高了。
但现在是 AI 时代。
过去,我们之所以依赖模板,是因为我们缺乏快速实现各种功能和样式的时间。而现在,有了强大的 AI 编程助手,编写基础代码已经不再是我们的瓶颈。
我发现了一个全新的工作流:与其把 AI 当作“解读并修改复杂第三方模板的查错工具”,不如让 AI“直接根据我的想法,从零开始写代码”。
- 我不需要再去查阅 Astrowind 深层的配置文件,我只需要告诉 AI:“用原生的 Astro 和 CSS,帮我写一个带有毛玻璃效果、向下滚动时自动隐藏的导航栏。”
- 我不需要去妥协于某些主题糟糕的移动端适配,我直接让 AI 基于我的设计要求,输出完美的响应式布局代码。
在这个过程中,我不再是一个苦哈哈的“配置工程师”或者在别人的代码里缝缝补补的“裁缝”,而变成了一个真正的产品经理和架构师。我负责构思产品的功能、把握设计的美感、定义数据的结构;而 AI 就像一个不知疲倦的高级研发,把我脑海中的想法精准地转化为高质量的代码。
毫不夸张地说,你现在看到的这个博客,从底层的路由架构、Content Collections 的数据校验,到前端的每一个 UI 组件、交互动效,100% 都是由 AI 开发出来的。
结语
使用模板,就像是租了一间精装修的公寓。虽然拎包入住很方便,但如果想把沙发换个位置,或者砸掉一面墙,房东制定的种种规则就会让你寸步难行。
而使用原生的 Astro 配合 AI,就像是拿到了一块平整的土地和全套现代化的建筑机器人。你可以随心所欲地设计每一扇窗户的朝向,挑选每一块地砖的纹理。
在 AI 时代,创造的门槛已经被前所未有地降低。与其在别人的框架里委曲求全,不如从一个最简单的基础开始,让 AI 帮你完全定制一个真正属于自己的数字花园。