技术札记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 和不同宽度。浏览器按照视口选择合适的一张,文章不必为了好看而加载过大的图片。

留给以后的自己

好的个人网站可以慢慢生长。先把结构做好,把文章写下去,再决定要不要增加更复杂的功能。

← 上一篇从这里开始:给新的个人空间留一盏灯
下一篇 →读完一本书以后,留下什么