UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

50 lines (49 loc) 2.65 kB
import { Template } from '@mdfriday/text-template'; import { TemplateEngine as ITemplateEngine, TemplateFs, TemplateError } from '../type'; import { Executor } from './executor'; import { Parser } from './parser'; import { Lookup } from './lookup'; import { RegularTemplateNamespace, PartialTemplateNamespace, ShortcodeTemplateNamespace } from '../vo/namespace'; export declare class TemplateEngine implements ITemplateEngine { private executor; private lookup; private parser; private templateNamespace; private partialNamespace; private shortcodeNamespace; private fs; constructor(executor: Executor, lookup: Lookup, parser: Parser, templateNamespace: RegularTemplateNamespace, partialNamespace: PartialTemplateNamespace, shortcodeNamespace: ShortcodeTemplateNamespace, fs: TemplateFs); markReady(): Promise<void>; getTemplate(name: string): Promise<[Template | null, boolean, Error | null]>; getPartial(name: string): Promise<[Template | null, boolean, Error | null]>; getShortcode(name: string): Promise<[Template | null, boolean, Error | null]>; get(name: string): Promise<[Template | null, boolean, Error | null]>; findFirst(names: string[]): Promise<[Template | null, string | null, boolean, Error | null]>; hasShortcode(name: string): boolean; getShortcodeNames(): string[]; getShortcodeCount(): number; loadTemplates(): Promise<void>; private addTemplateFileInfo; private addTemplate; execute(templateName: string, data: any): Promise<string>; executeRaw(templateName: string, rawContent: string, data: any): Promise<string>; executeShortcode(shortcodeName: string, data: any): Promise<string>; executeSafely(templateName: string, data: any): Promise<{ result: string | null; error: TemplateError | null; }>; executeShortcodeSafely(shortcodeName: string, data: any): Promise<{ result: string | null; error: TemplateError | null; }>; hasTemplate(name: string): Promise<boolean>; getTemplateNames(): string[]; getPartialTemplateNames(): string[]; getAllTemplateNames(): string[]; getPartialNamespace(): PartialTemplateNamespace; getShortcodeNamespace(): ShortcodeTemplateNamespace; getTemplateNamespace(): RegularTemplateNamespace; clear(): void; getTemplatesByPattern(pattern: RegExp): string[]; } export declare function newTemplateEngine(executor: Executor, lookup: Lookup, parser: Parser, templateNamespace: RegularTemplateNamespace, partialNamespace: PartialTemplateNamespace, shortcodeNamespace: ShortcodeTemplateNamespace, fs: TemplateFs): TemplateEngine;