@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
51 lines • 1.99 kB
TypeScript
import { Config } from '../domain/config';
import { Modules } from "../domain/module";
import { FsEntity as Fs } from "../domain/fs";
import { Content } from "../domain/content";
import { Site } from "../domain/site/entity/site";
import { Resources } from "../domain/resources/entity/resources";
import { MarkdownRenderer } from "../domain/markdown";
/**
* Domain 实例集合,用于增量构建时复用
*/
export interface DomainInstances {
site: Site;
content: Content;
fs: Fs;
config: Config;
modules: Modules;
resources: Resources;
}
/**
* Generate static site
*/
export declare function generateStaticSite(projDir: string, modulesDir: string, markdown: MarkdownRenderer): Promise<void>;
export declare function processSSG(projDir: string, modulesDir: string, markdown: MarkdownRenderer): Promise<void>;
/**
* Progress callback interface for SSG processing
*/
export interface SSGProgressCallback {
(progress: {
stage: 'config' | 'modules' | 'filesystem' | 'content' | 'site' | 'template' | 'pages' | 'build' | 'completion';
message: string;
percentage: number;
moduleDownload?: {
modulePath: string;
downloadPercentage: number;
};
pageRender?: {
currentPage: number;
totalPages: number;
};
}): void;
}
/**
* Generate static site with progress callbacks
*/
export declare function generateStaticSiteWithProgress(projDir: string, modulesDir: string, markdown: MarkdownRenderer, onProgress?: SSGProgressCallback): Promise<DomainInstances>;
/**
* Process SSG with progress callbacks
*/
export declare function processSSGWithProgress(projDir: string, modulesDir: string, markdown: MarkdownRenderer, onProgress?: SSGProgressCallback): Promise<void>;
export declare function serveSSG(projDir: string, modulesDir: string, markdown: MarkdownRenderer, onProgress?: SSGProgressCallback): Promise<DomainInstances>;
//# sourceMappingURL=ssg.d.ts.map