@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
49 lines (48 loc) • 1.53 kB
TypeScript
import { SSGProgressCallback } from './ssg';
import { HttpClient } from '@internal/domain/module';
import { FileChangeEvent } from '@pkg/web/watcher/types';
import { MarkdownRenderer } from "@internal/domain/markdown";
export interface IncrementalBuildConfig {
projDir: string;
modulesDir: string;
contentDirs: string[];
projContentDirs?: string[];
publicDir: string;
enableWatching: boolean;
batchDelay?: number;
progressCallback?: SSGProgressCallback;
markdown?: MarkdownRenderer;
httpClient?: HttpClient;
liveReload?: {
enabled?: boolean;
port?: number;
host?: string;
livereloadPort?: number;
};
}
export declare class IncrementalBuildCoordinator {
private config;
private fileWatcher?;
private liveReloadServer?;
private buildInProgress;
private initialized;
private domainInstances?;
constructor(config: IncrementalBuildConfig);
initialize(): Promise<void>;
private performFullBuildAndCacheDomains;
startWatching(): Promise<void>;
stopWatching(): Promise<void>;
private handleFileChanges;
needFullRebuild(events: FileChangeEvent[]): boolean;
private performIncrementalBuild;
getEventsFilePaths(events: FileChangeEvent[]): string[];
private performFullRebuild;
isInitialized(): boolean;
isBuildInProgress(): boolean;
getConfig(): IncrementalBuildConfig;
getServerUrl(): string;
getLiveReloadStatus(): {
running: boolean;
url?: string;
};
}