next-sitemap
Version:
Sitemap generator for next.js
84 lines (83 loc) • 2.81 kB
TypeScript
import type { IConfig, IExportable, INextSitemapResult, IRuntimePaths, ISitemapField } from '../interface.js';
import { SitemapBuilder } from './sitemap-builder.js';
import { RobotsTxtBuilder } from './robots-txt-builder.js';
export declare class ExportableBuilder {
exportableList: IExportable[];
config: IConfig;
runtimePaths: IRuntimePaths;
sitemapBuilder: SitemapBuilder;
robotsTxtBuilder: RobotsTxtBuilder;
exportDir: string;
constructor(config: IConfig, runtimePaths: IRuntimePaths);
/**
* Register sitemap index files
*/
registerIndexSitemap(): Promise<void>;
/**
* Resolve filename if index sitemap is generated
* @param index
* @returns
*/
resolveFilenameWithIndexSitemap(index: number): string;
/**
* Resolve filename if index sitemaps is not generated
* @param index
* @returns
*/
resolveFilenameWithoutIndexSitemap(index: number): string;
/**
* Register sitemaps with exportable builder
* @param chunks
*/
registerSitemaps(chunks: ISitemapField[][]): Promise<void>;
/**
* Get robots.txt export config
* @returns
*/
robotsTxtExportConfig(): {
siteUrl: string;
changefreq: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never";
output: "standalone" | "export";
priority: any;
sitemapBaseFileName: string;
sourceDir: string;
outDir: string;
sitemapSize: number;
generateRobotsTxt: boolean;
robotsTxtOptions: import("../interface.js").IRobotsTxt;
autoLastmod: boolean;
exclude: string[] | (() => Promise<string[]>);
alternateRefs: import("../interface.js").IAlternateRef[];
transform: (config: IConfig, url: string) => (ISitemapField | undefined) | Promise<ISitemapField | undefined>;
additionalPaths: (config: Readonly<IConfig & {
transform: (config: IConfig, url: string) => (ISitemapField | undefined) | Promise<ISitemapField | undefined>;
}>) => (ISitemapField | undefined)[] | Promise<(ISitemapField | undefined)[]>;
trailingSlash: boolean;
generateIndexSitemap: boolean;
};
/**
* Register robots.txt export
*/
registerRobotsTxt(): Promise<void>;
/**
* Generic reducer to extract by type
* @param condition
* @returns
*/
exportableUrlReducer(condition: (curr: IExportable) => boolean): string[];
/**
* Return a lit of sitemap urls
* @returns
*/
generatedSitemaps(): string[];
/**
* Generate sitemap indices
* @returns
*/
generatedSitemapIndices(): string[];
/**
* Export all registered files
* @returns
*/
exportAll(): Promise<INextSitemapResult>;
}