@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
69 lines • 1.7 kB
TypeScript
import { File } from '../type';
/**
* FileOpener function type for opening files
* TypeScript version of Go's FileOpener func
*/
export type FileOpener = () => Promise<File>;
/**
* MetaProvider interface for objects that can provide FileMeta
*/
export interface MetaProvider {
meta(): FileMeta;
}
/**
* FileMeta represents file metadata
* Simplified TypeScript version of Go's FileMeta struct
*/
export declare class FileMeta {
private filename;
private componentRoot;
private componentDir;
private openFunc;
constructor(filename?: string, openFunc?: FileOpener | null);
/**
* FileName returns the filename
*/
fileName(): string;
/**
* RelativeFilename returns the relative filename from root
*/
relativeFilename(): string;
/**
* Component returns the component directory
*/
component(): string;
/**
* Root returns the component root
*/
root(): string;
/**
* Open opens the file using the OpenFunc
*/
open(): Promise<File>;
/**
* Set the filename
*/
setFileName(filename: string): void;
/**
* Set the component root
*/
setComponentRoot(root: string): void;
/**
* Set the component directory
*/
setComponentDir(dir: string): void;
/**
* Set the open function
*/
setOpenFunc(openFunc: FileOpener): void;
/**
* Merge merges another FileMeta into this one
* Only copies non-empty values
*/
merge(from: FileMeta): void;
}
/**
* Creates a new FileMeta instance
*/
export declare function newFileMeta(filename?: string, openFunc?: FileOpener): FileMeta;
//# sourceMappingURL=filemeta.d.ts.map