@rr0/cms
Version:
RR0 Content Management System (CMS)
40 lines (39 loc) • 1.48 kB
TypeScript
import { DirectoryStep, FileWriteConfig, OutputFunc } from "ssg-api";
import { HtmlRR0Context, RR0Context } from "./RR0Context.js";
/**
* Builds a directory index.
*/
export declare class IndexDirectoryStep extends DirectoryStep {
protected outputFunc: OutputFunc;
/**
*
* @param rootDirs The directories where UFO cases info can be found.
* @param excludedDirs The directories to exclude from the UFO case directory search.
* @param templateFileName The template of the directory page to build.
* @param outputFunc
* @param config
*/
constructor(rootDirs: string[], excludedDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig);
/**
* Convert an array of Case[] to an <ul> HTML unordered list.
*
* @param context
* @param cases
*/
protected toList(context: HtmlRR0Context, cases: any[]): HTMLUListElement;
/**
* Convert a Case object to an HTML list item.
*
* @param context
* @param dirCase
*/
protected toListItem(context: HtmlRR0Context, dirCase: any): HTMLLIElement;
protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise<void>;
/**
* Read case JSON files contents and instantiate them as Case objects.
*
* @param context
* @param dirNames The directories to look for case.json files.
*/
protected scan(context: RR0Context, dirNames: string[]): Promise<any[]>;
}