进行中
Virok Digital Space
你正在看的这个站点。Astro 7 静态站 + Git 内容源 + Provider 抽象层,目标是十年后内容还能完整带走。
- 起止
- 2026年9月1日· 进行中
- 技术栈
- Astro 7TypeScriptTailwind CSS 4MDXPagefindCloudflare
- 链接
- 仓库 ↗
设计前提
一个要维护 5~10 年的个人站,真正的资产是三样东西:Git 里的 Markdown、标准 SQL、S3 里的对象。平台只是当前的运行环境。
这个前提一旦写下来,很多选择就被自动排除了:
- 正文不能只在 CMS 里 → 内容全部进
src/content/*.mdx - 不能把 CDN 地址写进文章 → 只存 object key,URL 由
StorageProvider生成 - 业务代码不能直连 D1 → 全部走 Repository 接口
第一阶段(当前)
纯静态输出。文章、笔记、项目、时间线、关于、搜索、RSS、Sitemap 全部构建期生成。
后端全挂的最坏情况:搜索照常能用(Pagefind 索引是静态的),文章照常能看,只是评论发不出去。
搜索为什么不需要服务器
Pagefind 在 build 之后扫描产物 HTML 生成索引。索引是静态文件,浏览器端直接查。
代价是索引体积随内容增长(每篇约 10–20KB),但对个人站来说,几百篇文章也就几 MB,而且按需分片加载。
后续
- 第二阶段:评论(Turnstile 校验 + 审核队列)、点赞、阅读统计、管理后台
- 第三阶段:AI 摘要、语义搜索、知识图谱
AI 的定位是站点的一个功能,不是站点的主题。写反了就变成“AI 演示站”了。