UNPKG

@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.

71 lines 2.4 kB
/** * Options passed from command-line for deployment */ export interface DeployOptions { branch?: string; message?: string; remote?: string; dir?: string; noBuild?: boolean; dryRun?: boolean; force?: boolean; help?: boolean; } /** * Complete deployment configuration after merging all sources */ export interface DeploymentConfig { repositoryUrl: string; homepage: string | null; baseUrl: string; branch: string; buildDir: string; remote: string; } /** * Loads and merges deployment configuration from multiple sources: * 1. Command-line options (highest priority) * 2. Projection config file * 3. Auto-detected values from Git * 4. Default values (lowest priority) */ export declare class DeploymentConfigLoader { /** * Load complete deployment configuration * @param cwd Current working directory * @param options Command-line options * @returns Promise resolving to complete deployment configuration * @throws ProjectionError if Git repository is not properly configured */ static load(cwd: string, options?: DeployOptions): Promise<DeploymentConfig>; /** * Get repository URL from Git remote * @param cwd Current working directory * @param remote Git remote name * @returns Promise resolving to repository URL or null if not found */ private static getRepositoryUrl; /** * Extract repository name from Git remote URL * Supports both HTTPS and SSH URLs * @param repositoryUrl Git remote URL * @returns Repository name (e.g., 'my-portfolio') * @example * extractRepoName('https://github.com/user/my-portfolio.git') // 'my-portfolio' * extractRepoName('git@github.com:user/my-portfolio.git') // 'my-portfolio' */ static extractRepoName(repositoryUrl: string): string; /** * Generate GitHub Pages URL from repository URL * @param repositoryUrl Git remote URL * @returns GitHub Pages URL * @example * generateGitHubPagesUrl('https://github.com/user/my-portfolio.git') * // Returns: 'https://user.github.io/my-portfolio' * * generateGitHubPagesUrl('git@github.com:user/my-portfolio.git') * // Returns: 'https://user.github.io/my-portfolio' */ static generateGitHubPagesUrl(repositoryUrl: string): string; } //# sourceMappingURL=deployment-config.d.ts.map