@rr0/cms
Version:
RR0 Content Management System (CMS)
30 lines (29 loc) • 1.43 kB
TypeScript
import { DirectoryStep, FileWriteConfig, HtmlLinks, HtmlMeta, OutputFunc } from "ssg-api";
import { HtmlRR0Context } from "RR0Context.js";
import { Book } from "./Book.js";
/**
* Scan directories for book information, then populates a template with collected data.
*/
export declare class BookDirectoryStep extends DirectoryStep {
protected outputFunc: OutputFunc;
protected bookMeta: Map<string, HtmlMeta>;
protected bookLinks: Map<string, HtmlLinks>;
constructor(rootDirs: string[], templateFileName: string, outputFunc: OutputFunc, config: FileWriteConfig, name: string, bookMeta: Map<string, HtmlMeta>, bookLinks: Map<string, HtmlLinks>);
static create(outputFunc: OutputFunc, config: FileWriteConfig, bookMeta: Map<string, HtmlMeta>, bookLinks: Map<string, HtmlLinks>): Promise<BookDirectoryStep>;
protected processDirs(context: HtmlRR0Context, dirNames: string[]): Promise<void>;
protected scan(context: HtmlRR0Context, dirNames: string[]): Book[];
/**
* Convert an array of Case[] to an <ul> HTML unordered list.
*
* @param books
*/
protected toList(books: Book[]): string;
/**
* Convert a Case object to an HTML list item.
*
* @param dirBook
*/
protected toListItem(dirBook: Book): string;
protected tocAll(context: HtmlRR0Context, books: Book[]): Promise<void>;
protected toc(context: HtmlRR0Context, book: Book): Promise<void>;
}