//#region src/types.d.ts /** An RGB color with channel values in the 0–255 range. */ interface RGBColor { r: number; g: number; b: number; } /** Theme color set accepted in the plugin options. */ interface ColorConfig { bg: RGBColor; fg: RGBColor; accent: RGBColor; accentFg: RGBColor; } /** Credentials and PDS configuration used to authenticate the publisher. */ interface PublisherOptions { pds?: string; identifier?: string; password?: string; } /** Configuration options accepted by the Eleventy plugin. */ type StandardSitePluginOptions = Partial & { publicationName: string; publicationDescription?: string; publicationUrl: string; showInDiscover?: boolean; includeTextContent?: boolean; themeColors?: ColorConfig; publicationIconPath?: string; }; //#endregion //#region src/plugin.d.ts type EleventyAfterEvent = "eleventy.after"; interface EleventyAfterEventData { dir: { output: string; }; } interface EleventyCollectionItemData { title: string; description?: string; bskyPostRef?: string; standardSiteDocument?: boolean; coverImagePath?: string; } interface EleventyCollectionItem { url: string; date: Date; templateContent?: string; data: EleventyCollectionItemData; } interface EleventyCollectionApiLike { getAll(): EleventyCollectionItem[]; } interface EleventyConfigLike { addCollection(name: string, callback: (collection: EleventyCollectionApiLike) => EleventyCollectionItem[]): void; on(event: EleventyAfterEvent, callback: (data: EleventyAfterEventData) => Promise | void): void; } /** * Eleventy plugin that syncs the site publication and its documents to Standard.site records * on an AT Protocol PDS and injects the corresponding `` tags into the output. */ declare function pluginStandardSite(eleventyConfig: EleventyConfigLike, options: StandardSitePluginOptions): void; //#endregion export { type StandardSitePluginOptions, pluginStandardSite as default, pluginStandardSite }; //# sourceMappingURL=index.d.cts.map