markpage
Version:
Build and manage markdown-based content with distributed navigation - framework agnostic content management system
39 lines (38 loc) • 1.02 kB
TypeScript
declare function validateDocItem(item: any): item is DocItem;
declare function validateIndexFile(data: any): data is IndexFile;
export { validateDocItem, validateIndexFile };
export type DocItemType = "section" | "page";
export interface DocItem {
name: string;
type: DocItemType;
label: string;
collapsed?: boolean;
url?: string;
}
export interface IndexFile {
items: DocItem[];
}
export interface NavigationItem extends DocItem {
path?: string;
items?: NavigationItem[];
parent?: NavigationItem | undefined;
}
export interface BuildOptions {
appOutput?: string;
websiteOutput?: string;
staticOutput?: string;
includeContent?: boolean;
autoDiscover?: boolean;
}
export interface BuildResult {
navigation: NavigationItem[];
content?: Record<string, string> | undefined;
pages?: Array<{
path: string;
content: string;
html: string;
}> | undefined;
}
export interface ContentProcessor {
process(content: string): string;
}