@quasarbright/projection
Version:
A static site generator that creates a beautiful, interactive gallery to showcase your coding projects. Features search, filtering, tags, responsive design, and an admin UI.
62 lines • 1.75 kB
TypeScript
import { Config } from '../types/config';
import { ProjectsData } from '../types/project';
/**
* Options for the Generator
*/
export interface GeneratorOptions {
/** Working directory (defaults to process.cwd()) */
cwd?: string;
/** Explicit config file path */
configPath?: string;
/** Output directory (overrides config) */
outputDir?: string;
/** Whether to clean output directory before build */
clean?: boolean;
/** Enable admin mode with edit/delete controls (for preview only) */
adminMode?: boolean;
/** Override baseUrl (useful for dev server) */
baseUrl?: string;
}
/**
* Main generator orchestrator that coordinates the build process
*/
export declare class Generator {
private config;
private cwd;
private outputDir;
private adminMode;
private configLoader;
private validator;
private htmlBuilder;
private assetCopier;
constructor(config: Config, cwd?: string, adminMode?: boolean);
/**
* Create a Generator instance by loading configuration
*/
static create(options?: GeneratorOptions): Promise<Generator>;
/**
* Main generation method that orchestrates the entire build process
*/
generate(): Promise<void>;
/**
* Load project data from projects.yaml or projects.json
*/
loadProjectData(): Promise<ProjectsData>;
/**
* Write generated HTML to output file
*/
writeOutput(html: string): Promise<void>;
/**
* Clean the output directory
*/
private cleanOutputDirectory;
/**
* Get the output directory path
*/
getOutputDir(): string;
/**
* Get the current configuration
*/
getConfig(): Config;
}
//# sourceMappingURL=index.d.ts.map