@rr0/cms
Version:
RR0 Content Management System (CMS)
44 lines (43 loc) • 2.13 kB
TypeScript
import { FileWriteConfig, OutputFunc } from "ssg-api";
import { PeopleDirectoryStep } from "./PeopleDirectoryStep.js";
import { PeopleHtmlRenderer } from "./PeopleHtmlRenderer.js";
import { PeopleService } from "@rr0/data";
export type PeopleDirectoryStepOptions = {
root: string;
scientists?: string;
ufologists?: string;
ufoWitnesses?: string;
astronomers?: string;
contactees?: string;
pilots?: string;
military?: string;
softwareEngineers?: string;
politicians?: string;
rulers?: string;
};
/**
* Create directory steps for different types of people.
*/
export declare class PeopleDirectoryStepFactory {
protected outputFunc: OutputFunc;
protected config: FileWriteConfig;
protected service: PeopleService;
protected renderer: PeopleHtmlRenderer;
protected excludedDirs: string[];
constructor(outputFunc: OutputFunc, config: FileWriteConfig, service: PeopleService, renderer: PeopleHtmlRenderer, excludedDirs: string[]);
create(options: PeopleDirectoryStepOptions): Promise<PeopleDirectoryStep[]>;
/**
* Create steps to generate directory pages for people with name starting with every first letter.
*/
createLetters(): Promise<PeopleDirectoryStep[]>;
createAll(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createMilitary(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createPoliticians(dirs: string[], templateFileName: string, rulersTemplateFileName?: string): PeopleDirectoryStep[];
createSoftwareEngineers(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createPilots(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createContactees(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createAstronomers(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createUfoWitnesses(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createUfologists(dirs: string[], templateFileName: string): PeopleDirectoryStep;
createScientists(dirs: string[], templateFileName: string): PeopleDirectoryStep;
}