@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
58 lines (57 loc) • 2.15 kB
TypeScript
import { Page, PageIdentity, PageSource } from '../type';
import { NodeShiftTree, TreeShiftTree, WalkableTrees, MutableTrees } from '@pkg/doctree';
declare class OrdinalWeightPage {
private ordinal;
private weight;
page: Page;
constructor(ordinal: number, weight: number, page: Page);
Weight(): number;
Ordinal(): number;
kind(): string;
name(): string;
title(): string;
}
export declare class WeightedTermTreeNode {
private pageTreesNodeInstance;
term: OrdinalWeightPage;
constructor(pageTreesNode: PageTreesNode, term: OrdinalWeightPage);
getPage(): [Page, boolean];
getPages(): Page[];
getResource(): [PageSource, boolean];
isEmpty(): boolean;
shift(languageIndex: number, exact: boolean): [PageTreesNode | null, boolean];
}
export interface IPageTreesNode {
getPage(): [Page, boolean];
}
export declare class PageTreesNode implements IPageTreesNode {
private nodes;
constructor();
setNode(key: PageIdentity, value: PageSource): void;
merge(newNode: PageTreesNode): PageTreesNode;
mergeWithLang(newNode: PageTreesNode, languageIndex: number): PageTreesNode;
remove(k: PageIdentity): boolean;
delete(languageIndex: number): boolean;
isEmpty(): boolean;
shift(languageIndex: number, exact: boolean): [PageTreesNode | null, boolean];
getPage(): [Page, boolean];
getPages(): Page[];
getResource(): [PageSource, boolean];
private markStale;
}
export declare class PageTrees {
treePages: NodeShiftTree<PageTreesNode>;
treeResources: NodeShiftTree<PageTreesNode>;
treePagesResources: WalkableTrees<PageTreesNode>;
treeTaxonomyEntries: TreeShiftTree<WeightedTermTreeNode>;
resourceTrees: MutableTrees;
constructor();
createMutableTrees(): void;
get TreePages(): NodeShiftTree<PageTreesNode>;
get TreeResources(): NodeShiftTree<PageTreesNode>;
get TreePagesResources(): WalkableTrees<PageTreesNode>;
get TreeTaxonomyEntries(): TreeShiftTree<WeightedTermTreeNode>;
get ResourceTrees(): MutableTrees;
}
export declare function newPageTreesNode(ps: PageSource): PageTreesNode;
export {};