前端Astro

Astro 内容集合入门

1 分钟阅读

用 zod schema 把 Markdown 的 frontmatter 管起来,构建期就发现问题。


内容集合是 Astro 最顺手的部分:一个 schema 文件管住所有 frontmatter。

Schema 即契约

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

写错字段名?构建直接失败,比线上排查看图识字快得多。

查询与渲染

getCollection 拿列表,render 出正文,剩下的都是普通组件工作。

  1. 列表页排序
  2. 详情页取上一篇下一篇
  3. 标签归组