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 kB
import { OpenReadSeekCloser, ReadSeekCloser, Resource as IResource, ResourceCopier, ResourceTransformation } from '../type'; import { MediaType } from '@pkg/media/type'; import { ResourcePaths } from '@internal/domain/resources'; import { ResourceMetadata } from '@internal/domain/resources'; import { Publisher } from './publisher'; export declare class ResourceHash { value: string; size: number; private resource; setup(resource: ResourceImpl): Promise<void>; } export declare class PublishOnce { private hasPublished; private publishPromise; do(publishFn: () => Promise<void>): Promise<void>; } export declare class ResourceImpl implements IResource, ResourceCopier { private h; private openReadSeekCloser; private _mediaType; private paths; private _data; private publisher; private publishOnce; constructor(openReadSeekCloser: OpenReadSeekCloser, mediaType: MediaType, paths: ResourcePaths, data?: Record<string, any>, publisher?: Publisher); name(): string; nameNormalized(): string; mediaType(): MediaType; resourceType(): string; relPermalink(): string; permalink(): string; private publish; private copyStreamToFile; targetPath(): string; data(): any; readSeekCloser(): Promise<ReadSeekCloser>; content(ctx?: any): Promise<any>; hash(): Promise<string>; size(): Promise<number>; cloneTo(targetPath: string): IResource; private clone; key(): string; get RelPermalink(): string; get Permalink(): string; get Name(): string; get MediaType(): MediaType; get ResourceType(): string; get TargetPath(): string; get Data(): any; get Content(): Promise<any>; get Hash(): () => Promise<string>; get Size(): () => Promise<number>; meta(): ResourceMetadata; mergeData(incoming: Record<string, any>): void; transform(...transformations: ResourceTransformation[]): Promise<IResource>; private createTransformedResource; }