用 Astro 搭一个能长期写的静态博客
从信息结构、视觉语言到 GitHub Pages 发布,把技术博客做得既耐读又有作品感。
很多个人博客的问题不在技术栈,而在目标不清。它既想承载文章,又想展示项目,还想顺手承担个人主页的角色,最后就会变成一堆互相争抢注意力的模块。
我想解决的是什么
我更在意三个目标:
- 文章要足够耐读。
- 项目页不能只是链接合集。
- 发布和维护要轻,不值得引入后端。
Astro 很适合这类内容型站点,因为它默认就是静态输出,同时又允许我们把首页和项目页做得更像一个产品站。
内容系统怎么拆
我把内容拆成了两套集合:
posts用来存文章projects用来存项目案例
这样首页就能同时取“最新文章”和“精选项目”,而不需要手写额外的数据文件。
一个简单的前置排序思路
const publishedPosts = getPublishedEntries(allPosts);
const featuredProjects = getFeaturedEntries(allProjects, 3);
把这些逻辑沉到内容工具层之后,页面组件就会干净很多,后续做标签页、归档页和 RSS 也会轻松。
视觉上我不想要模板味
很多博客模板都太平了,打开之后没有记忆点。所以这次我更刻意地处理了:
- 主视觉的节奏感
- 阅读区和导航区的对比
- 字体的角色分工
- 深色模式下的氛围
技术博客不一定只能长得像文档站。
评论