这个博客本身很小,技术选型也尽量克制,没用什么复杂的东西。
为什么是 Astro
选 Astro 最直接的理由是它默认输出静态 HTML,没有运行时负担。博客是内容型站点,绝大多数页面不需要交互,与其为极少数需要 JS 的地方引入一整个前端框架,不如用 Astro 这种「按需注入脚本」的模型——只有需要的地方才加载 JS。
另外,内容集合(Content Collections)和 Markdown/MDX 的一等支持,让「写文章」回到最朴素的形式:一个 md 文件就是一篇。文章内容仍由 Git 管理,动态数据则交给独立服务处理。
用的框架
- Astro:负责路由、内容集合和静态生成。
- Tailwind CSS 4:样式方案,通过
@tailwindcss/vite接入。 - MDX:文章既能写 Markdown,也能混入组件。
- Sitemap:
@astrojs/sitemap自动生成站点地图。 - Pagefind:文章全文搜索和关键词高亮。
持久化
博客使用 Cloudflare D1 保存需要长期保留的动态数据。它和静态文章内容分开,负责为网站提供轻量、可靠的持久化能力,同时保持整体架构简单。
配图
站里的图片几乎都由 GPT Image 2.0 生成,比如下面这两张就是:
参考
AI 观察页那个旋转滚轮,实现参考这个 CodePen:mark_sottek 的旋转滚轮。
