@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
61 lines (60 loc) • 1.84 kB
TypeScript
import { TocFragments, Header, Link, Paragraph } from '../type';
export interface Fragment {
id: string;
text: string;
level: number;
children?: Fragment[];
}
export declare class TableOfContentsImpl implements TocFragments {
private fragments;
constructor(fragments?: Fragment[]);
toHTML(startLevel: number, stopLevel: number, ordered: boolean): string;
private filterByLevel;
private renderFragments;
private escapeHTML;
addFragment(fragment: Fragment): void;
getFragments(): Fragment[];
}
export declare class HeaderImpl implements Header {
private _name;
private _level;
private _links;
private _paragraphs;
private _listParagraphs;
constructor(_name: string, _level: number, _links?: Link[], _paragraphs?: Paragraph[], _listParagraphs?: Paragraph[]);
name(): string;
level(): number;
links(): Link[];
paragraphs(): Paragraph[];
listParagraphs(): Paragraph[];
addLink(link: Link): void;
addParagraph(paragraph: Paragraph): void;
addListParagraph(paragraph: Paragraph): void;
}
export declare class LinkImpl implements Link {
private _text;
private _url;
constructor(_text: string, _url: string);
text(): string;
url(): string;
}
export declare class ParagraphImpl implements Paragraph {
private _text;
constructor(_text: string);
text(): string;
}
export declare class TOCBuilder {
private fragments;
private stack;
addHeading(text: string, level: number, id: string): void;
build(): TableOfContentsImpl;
reset(): void;
}
export declare class AutoIDGenerator {
private usedIds;
generateID(text: string, type?: 'github' | 'github-ascii' | 'blackfriday'): string;
private githubStyle;
private githubAsciiStyle;
private blackfridayStyle;
reset(): void;
}