技术札记7 分钟阅读
用 Astro 把博客做得轻一点
选择静态架构、组织文章内容,以及让页面把注意力还给文字。
网站不一定需要一台始终在线的服务器。对于以文章为主的个人博客,构建时生成 HTML,往往就足够了。
静态网站的边界
文章、分类、标签、归档、站内搜索、RSS 都可以在构建时完成。浏览器访问时拿到的是现成的文件,加载路径短,维护成本也低。
需要数据库的功能则应另行设计。例如真正的评论系统需要存储、审核、反垃圾和隐私规则;本站只预留接口,不展示一个没有后端的“假评论框”。
内容和布局分开
文章放在 src/content/posts/,页面模板放在 src/pages/。写一篇新文章,不需要复制整张网页。
type Article = {
title: string;
date: Date;
category: string;
tags: string[];
};
const newestFirst = (posts: Article[]) =>
posts.sort((a, b) => b.date.getTime() - a.date.getTime());
让图片只传需要的大小
上面的插画来自项目里的原图,构建时由 Astro 输出 WebP 和不同宽度。浏览器按照视口选择合适的一张,文章不必为了好看而加载过大的图片。
留给以后的自己
好的个人网站可以慢慢生长。先把结构做好,把文章写下去,再决定要不要增加更复杂的功能。