自研 Valaxy 主题的一些笔记

2026/05/30

从零写一个 Valaxy 主题,比想象中简单——它不搞 defineTheme,全靠目录约定。

约定式加载

主题包里这些文件会被 Valaxy 自动接管:

  • App.vue:全局壳
  • layouts/*.vue:靠 frontmatter 里的 layout 匹配
  • components/*.vue:全局组件
  • styles/index.ts:汇总 SCSS

数据从哪来

正文只需要几个 composable:

  • useSiteStore().postList:已过滤排序的文章列表
  • useTags():标签聚合成 Map
  • useCategories():分类聚合成嵌套结构
  • useAppStore().toggleDarkWithTransition(e):暗色圆形扩散切换

小结

内核把数据都算好了,主题只管把它画成 warmpaper 的样子。剩下的就是一格一格地填样式。