建站手记:这个博客是怎么搭起来的
这个博客上线了,把搭建过程记录下来,给未来的自己(也许还有你)参考。
选型:为什么是 Astro
对比了一圈静态站方案:
| 方案 | 优点 | 顾虑 |
|---|---|---|
| Astro | 默认零 JS、内容集合好用 | 生态比 Next 小 |
| Hugo | 构建极快 | 模板语法劝退 |
| Next.js | 生态最大 | 对纯博客太重了 |
最终选 Astro:写 Markdown 文章、glob loader 一行配置就能加载,构建产物是纯 HTML,速度快得不像话。
目录结构
src/
├── content/blog/ # Markdown 文章
├── components/ # 组件(甚至美西螈也是组件)
├── layouts/ # 页面骨架
└── pages/ # 路由
最得意的决定:吉祥物美西螈是一个参数化的 SVG 组件,用字符矩阵定义像素画,组件里合并同色横段再渲染成 <rect>。想改配色只动一个对象。
三套主题
用 CSS 变量 + data-theme 属性做了三套主题:奶油粉、像素紫、洞窟深。切换按钮写在布局里,localStorage 记住选择,首帧前有段内联脚本恢复主题防止闪烁。
一点感受
静态站的快乐在于:构建完的东西就是全部,没有运行时惊喜。