2026-08-12 · 1 分钟阅读

Nuxt 3 静态博客:Markdown 与 Frontmatter

文章源文件放在仓库的 content/blog 里。构建时读取 Markdown frontmatter,就能拿到标题、日期、标签和摘要。

为什么用静态生成

个人博客没有实时评论流、没有编辑后台。文件就是数据源。部署一次,全站 HTML 预渲染完成。

下面是一个普通代码块,用 Shiki 做成 VS Code 同款高亮:

const { data: posts } = await useAsyncData("blog-posts", () =>
  queryCollection("blog").order("date", "DESC").all(),
)

Frontmatter 约定

每篇文章顶部只保留这几项:

  • title 标题
  • date 发布日期
  • tags 标签数组
  • summary 列表页摘要

阅读时长

按正文词数除以 200,至少 1 分钟。没有第三方统计。

目录从哪来

构建时扫描二级、三级标题,生成右侧 TOC。点击锚点即可跳转。

相关文章