43 lines
		
	
	
		
			831 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			831 B
		
	
	
	
		
			TypeScript
		
	
	
// types shared between server and client
 | 
						|
 | 
						|
export interface LocaleConfig {
 | 
						|
  lang: string;
 | 
						|
  title?: string;
 | 
						|
  description?: string;
 | 
						|
  head?: HeadConfig[];
 | 
						|
  label?: string;
 | 
						|
  selectText?: string;
 | 
						|
}
 | 
						|
 | 
						|
export interface SiteData<ThemeConfig = any> {
 | 
						|
  base: string;
 | 
						|
  lang: string;
 | 
						|
  title: string;
 | 
						|
  description: string;
 | 
						|
  head: HeadConfig[];
 | 
						|
  themeConfig: ThemeConfig;
 | 
						|
  locales: Record<string, LocaleConfig>;
 | 
						|
}
 | 
						|
 | 
						|
export type HeadConfig =
 | 
						|
  | [string, Record<string, string>]
 | 
						|
  | [string, Record<string, string>, string];
 | 
						|
 | 
						|
export interface PageData {
 | 
						|
  relativePath: string;
 | 
						|
  title: string;
 | 
						|
  description: string;
 | 
						|
  headers: Header[];
 | 
						|
  frontmatter: Record<string, any>;
 | 
						|
  lastUpdated: number;
 | 
						|
  content?: string;
 | 
						|
  html?: string;
 | 
						|
}
 | 
						|
 | 
						|
export interface Header {
 | 
						|
  level: number;
 | 
						|
  title: string;
 | 
						|
  slug: string;
 | 
						|
  content: string;
 | 
						|
}
 |