Metadata2026年2月2日
标签
引擎Loader
Skip to content
VitePress-Velonor 构建期 Loader

@velonor/engine 是一个面向 VitePress 的博客微引擎,提供可复用的逻辑与数据能力,帮助你快速开发一个属于你自己的博客主题。


构建期 loader 只能在 *.data.ts/js 中使用,它依赖 VitePress 的 createContentLoader

引擎已提供统一工厂,使用方式如下。

1. Posts

ts
import { createPostsLoader } from '@velonor/engine/loader';
export default createPostsLoader('posts/**/*.md');

输出:文章数组(已过滤草稿/隐藏、已排序)。


ts
import { createPageLinksLoader } from '@velonor/engine/loader';
export default createPageLinksLoader(['**/*.md']);

输出:

ts
{
  blog?: string;
  tags?: string;
  categories?: string;
  archive?: string;
}

3. Tags

ts
import { createTagsLoader } from '@velonor/engine/loader';
export default createTagsLoader('posts/**/*.md');

输出:

ts
{
  tagsMap: Record<string, number>;
  tagArray: [string, number][];
  uniqueTagCount: number;
  totalPosts: number;
}

4. Categories

ts
import { createCategoriesLoader } from '@velonor/engine/loader';
export default createCategoriesLoader('posts/**/*.md');

输出:

ts
{
  categoriesMap: Record<string, number>;
  categoryArray: [string, number][];
  uniqueCategoryCount: number;
  totalPosts: number;
}

5. Archive

ts
import { createArchiveLoader } from '@velonor/engine/loader';
export default createArchiveLoader('posts/**/*.md');

输出:

ts
{
  yearGroups: { year, months, total }[];
  totalPosts: number;
}