pixel-forge
Version:
A comprehensive generator for social media previews, favicons, and visual assets across all platforms
96 lines (95 loc) • 2.41 kB
TypeScript
import type { PixelForgeConfig } from '../../core/config-validator';
export interface FaviconOptions {
includeICO?: boolean;
includePNG?: boolean;
includeSVG?: boolean;
includeApple?: boolean;
includeAndroid?: boolean;
includeWindows?: boolean;
includeSafari?: boolean;
}
export declare class FaviconGenerator {
private config;
private sourceImage;
constructor(sourceImage: string, config: PixelForgeConfig);
/**
* Generate all favicon formats and sizes
*/
generate(options?: FaviconOptions): Promise<void>;
/**
* Generate standard PNG favicons in multiple sizes
*/
private generatePNGFavicons;
/**
* Generate multi-size ICO file using ImageMagick's native ICO support
*/
private generateICOFavicon;
/**
* Generate SVG favicon for modern browsers
*/
private generateSVGFavicon;
/**
* Generate Apple touch icons
*/
private generateAppleIcons;
/**
* Generate Android/PWA icons
*/
private generateAndroidIcons;
/**
* Generate Windows tiles (Microsoft)
*/
private generateWindowsTiles;
/**
* Generate browserconfig.xml for Microsoft Edge and IE
*/
private generateBrowserConfig;
/**
* Generate Safari pinned tab icon
*/
private generateSafariIcon;
/**
* Generate manifest.json for PWA support
*/
private generateManifest;
/**
* Get HTML meta tags for favicons
*/
getMetaTags(): string[];
/**
* Get Next.js metadata configuration for favicons
*/
getNextMetadata(): {
icons: {
icon: ({
url: string;
sizes: string;
type: string;
} | {
url: string;
type: string;
sizes?: undefined;
})[];
apple: {
url: string;
sizes: string;
type: string;
}[];
other: {
url: string;
sizes: string;
type: string;
}[];
};
manifest: string;
themeColor: string;
other: {
'msapplication-config': string;
'msapplication-TileColor': string;
};
};
/**
* Get list of generated files
*/
getGeneratedFiles(): string[];
}