作品索引

Moonstream 南月之星河

Nuxt 4Vue 3Nuxt ContentTailwind CSS 4Three.js
Moonstream 南月之星河

一个完全由 Markdown 驱动的个人博客,也是本站本身。

为什么自己造

现成的博客主题总有不合心意的地方:要么太重,要么定制到一半发现改不动。自己写一套,从字体到动效每个细节都能说了算,顺便把感兴趣的技术都试了一遍。

技术要点

  • 全静态生成nuxt generate 产出纯静态文件,部署在任何静态托管上,没有服务器要维护。
  • 内容即文件:文章是 content/ 下的 Markdown,构建期进 SQLite,查询走 Nuxt Content 的类型安全 API。
  • 命令面板搜索:构建期预渲染 search.json,前端 Ctrl K 唤起,纯客户端过滤,没有任何搜索服务。
  • Three.js 首页模型:首页右侧的土星是实时渲染的,只在客户端加载,不影响首屏。
  • View Transitions:支持的浏览器里,文章标题在列表页与详情页之间做共享元素过渡。

遇到的坑

Windows 下 better-sqlite3 需要编译链,换成 Node 内置的 node:sqlite 后开箱即用——这个决定写进了 nuxt.config.ts 的注释里。