@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
TypeScript
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;
}