长文测试:从零搭一个静态博客的完整记录
一篇足够长的文章,用于验证目录、代码高亮与阅读时长的真实表现。
这是一篇刻意写长的文章,用来在真实页面上验证目录、代码高亮、阅读时长与上下篇导航。
起点:为什么要自己搭
现成的托管平台什么都好,只有一点不好:东西不在自己手里。文章是要放十年的,十年里平台会改版、收费、关闭。
自建的全部理由可以压缩成一句话——把根留在自己这里。
技术选型的三个判断
- 静态优先。没有登录态的页面,就不该有运行时。
- 内容即文件。Markdown 进 git,历史即版本,回滚即 checkout。
- 动态功能隔离。评论是唯一的动态面,拆出去单独部署。
静态优先的反面
SSR 看似强大,但对个人博客是负资产:调用计费、冷启动、多一层故障面。全站预渲染后,站点就是一堆 HTML 文件,CDN 转发即可。
目录結构的设计
blog/
├── astro.config.mjs
├── src/
│ ├── content/ 文章与相册
│ ├── components/ 按设计规范实现的组件
│ ├── layouts/ 布局
│ ├── pages/ 路由
│ └── styles/ 设计 token
└── worker/ 评论 API
目录是物理的信息架构。页面上有什么,目录里就该有什么。
构建与部署
npm run build
wrangler deploy
两步上线,没有比这更简单的发布仪式。
收尾
一个月后回头看,这套系统最值钱的不是任何单个组件,而是「每层都简单到可以一眼看完」这件事本身。