UNPKG

@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.16 kB
import { PathFactory, PathParserConfig, PathPool, Path as IPath, PathComponents } from '../type'; export declare class PathFactoryImpl implements PathFactory { private processor; private pool?; constructor(config?: PathParserConfig, pool?: PathPool); create(component: string, path: string, config?: PathParserConfig): IPath; createFromComponents(components: PathComponents): IPath; createMany(component: string, paths: string[], config?: PathParserConfig): IPath[]; createWithConfig(component: string, path: string, normalizeConfig?: { toLowerCase?: boolean; replaceSpaces?: boolean; customNormalizer?: (path: string) => string; }): IPath; } export declare class DefaultPathFactory extends PathFactoryImpl { constructor(); } export declare class SimplePathPool implements PathPool { private pool; private maxSize; constructor(maxSize?: number); get(): IPath; put(path: IPath): void; clear(): void; size(): number; } export declare class PathBuilder { private component; private path; private config; private factory; constructor(factory?: PathFactory); withComponent(component: string): PathBuilder; withPath(path: string): PathBuilder; withNormalization(normalize: boolean): PathBuilder; withSpaceReplacement(replaceSpaces: boolean): PathBuilder; withNormalizer(normalizer: (path: string) => string): PathBuilder; build(): IPath; reset(): PathBuilder; } export declare class PathFactoryUtils { private static defaultFactory; static createContentPath(path: string): IPath; static createStaticPath(path: string): IPath; static createLayoutPath(path: string): IPath; static createArchetypePath(path: string): IPath; static createDataPath(path: string): IPath; static createThemePath(path: string): IPath; static createFromConfig(config: { component: string; paths: string[]; normalize?: boolean; replaceSpaces?: boolean; }): IPath[]; static builder(): PathBuilder; static createWithPool(component: string, path: string, pool: PathPool): IPath; }