@helldoc/core
Version:
helldoc core
60 lines (59 loc) • 1.25 kB
TypeScript
export interface PageData {
path: string;
component: string;
title?: string;
headers?: TocHeader[];
frontmatter?: {
[key: string]: string;
};
}
export interface ThemeConfig {
navbar: Navbar;
}
interface Navbar {
text: string;
link?: string;
items?: Navbar[];
}
export interface SiteData {
title: string;
description: string;
base: string;
pages: PageData[];
themeConfig?: ThemeConfig;
}
export interface SiteConfig {
theme?: string;
title?: string;
description?: string;
dest?: string;
base?: string;
head?: Tag[];
ignores?: string[];
themeConfig?: ThemeConfig;
}
export interface AppContext {
base: string;
sourceDir: string;
outDir: string;
siteConfig: SiteConfig;
tempPath: string;
themePath: string;
writeTemp: (path: string, content: string) => Promise<string>;
genTempRuntime: () => Promise<string>;
pageFiles: string[];
siteData?: SiteData;
}
export interface CLIOptions {
output?: string;
}
export declare type Tag = [string, {
[key: string]: string | number;
}, string];
export interface TocHeader {
id: string;
level: number;
parent?: string | null;
text: string;
}
export {};