用 Astro 搭建数字花园
新
astro web 数字花园 为什么是数字花园?
互联网上不缺博客。大多数博客都遵循一个熟悉的模式:按时间倒序排列的文章、精心打磨的文字,以及一种隐含的压力——你必须发布完成品。但如果写作不必如此呢?
数字花园是一种不同的隐喻。它不是一连串已完成的文章,而是一组处于不同成长阶段的想法——有些是种子,有些已经枝繁叶茂。它强调的是公开学习,而非展示专业能力。
为什么选 Astro?
在选择框架时,我有几个核心需求:
- 静态优先 — 我希望页面加载极快,默认零 JavaScript。
- 内容驱动 — 支持 Markdown、frontmatter 以及内容集合(Content Collections)。
- 灵活 — 可以按需混用 React、Vue、Svelte 等框架,但不强制绑定任何一个。
Astro 完美满足了这些要求。它的*群岛架构(Island Architecture)*意味着只在需要交互的地方加载组件,其余部分保持纯 HTML 输出。
技术栈
这个站点使用的技术:
- Astro — 静态站点生成器
- Tailwind CSS — 通过 DaisyUI 实现的实用优先样式
- Content Collections — 带 Schema 校验的类型安全 Markdown
- Cloudflare Pages — 部署与 CDN
踩过的坑
公开构建(Building in Public)能教会你一些教程里学不到的东西:
- 完美主义是进步的敌人。 先发布粗稿,之后再打磨。
- 结构从内容中涌现。 在你有东西要表达之前,不要过度设计架构。
- 国际化比想象中难得多。 支持多语言会触及应用的每一层——路由、内容、UI 字符串,甚至 slug 的生成逻辑。
下一步计划
我打算在这座花园里种下更多关于系统编程、哲学,以及技术与人文交汇点的思考。敬请期待。
「天地者,萬物之逆旅。光陰者,百代之過客。」 — 李白