@knightly/vitepress
Version:
Vite & Vue powered static site generator
52 lines (51 loc) • 1.58 kB
TypeScript
import { AliasOptions, UserConfig as ViteConfig } from 'vite';
import { Options as VuePluginOptions } from '@vitejs/plugin-vue';
import { SiteData, HeadConfig, LocaleConfig } from './shared';
import { MarkdownOptions } from './markdown/markdown';
export { resolveSiteDataByRoute } from './shared';
export interface UserConfig<ThemeConfig = any> {
lang?: string;
base?: string;
title?: string;
description?: string;
head?: HeadConfig[];
themeConfig?: ThemeConfig;
locales?: Record<string, LocaleConfig>;
markdown?: MarkdownOptions;
/**
* Opitons to pass on to @vitejs/plugin-vue
*/
vue?: VuePluginOptions;
/**
* Vite config
*/
vite?: ViteConfig;
customData?: any;
srcDir?: string;
srcExclude?: string[];
/**
* @deprecated use `srcExclude` instead
*/
exclude?: string[];
/**
* @deprecated use `vue` instead
*/
vueOptions?: VuePluginOptions;
}
export interface SiteConfig<ThemeConfig = any> {
root: string;
srcDir: string;
site: SiteData<ThemeConfig>;
configPath: string;
themeDir: string;
outDir: string;
tempDir: string;
alias: AliasOptions;
pages: string[];
markdown: MarkdownOptions | undefined;
vue: VuePluginOptions | undefined;
vite: ViteConfig | undefined;
}
export declare function resolveConfig(root?: string): Promise<SiteConfig>;
export declare function resolveUserConfig(root: string): Promise<UserConfig>;
export declare function resolveSiteData(root: string, userConfig?: UserConfig): Promise<SiteData>;