月明星稀

使用 Astro 构建现代化博客

本文介绍如何使用 Astro 框架构建一个快速、现代化的博客网站。

欢迎阅读这篇关于 Astro 的文章。Astro 是一个现代化的静态站点生成器,专注于内容驱动的网站。

为什么选择 Astro

Astro 有几个显著的优势:

  1. 零 JavaScript 默认 - 只发送必要的 JavaScript
  2. 内容优先 - 专为博客、文档等内容站点设计
  3. 框架无关 - 可以使用 React、Vue、Svelte 等任何框架
  4. 出色的性能 - 默认就能获得极佳的 Lighthouse 分数

内容集合

Astro 的内容集合功能让管理 Markdown 文章变得非常简单:

import { defineCollection, z } from 'astro:content';

const blog = defineCollection({
  schema: z.object({
    title: z.string(),
    description: z.string(),
    pubDate: z.coerce.date(),
    tags: z.array(z.string()),
  }),
});

View Transitions

Astro 内置了 View Transitions API 支持,可以实现页面间的平滑过渡:

---
import { ViewTransitions } from 'astro:transitions';
---

<head>
  <ViewTransitions />
</head>

总结

Astro 是构建内容站点的绝佳选择。它简单易用,性能出色,而且生态系统正在快速发展。

最好的代码是不需要写的代码,最快的网站是没有 JavaScript 的网站。