@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
58 lines • 2.15 kB
TypeScript
import { ContentResult, DocumentContext, Highlighter, Markdown, MarkdownRenderer, ParseAndRenderOptions, ParsedContentResult, RenderableDocument, RenderContext, Result } from '../type';
/**
* MarkdownImpl implements the main Markdown interface
* This is the TypeScript equivalent of the Go entity.Markdown
*/
export declare class MarkdownImpl implements Markdown {
private renderer;
private highlighter;
constructor(renderer: MarkdownRenderer, highlighter: Highlighter);
render(rctx: RenderContext, dctx: DocumentContext): Promise<Result>;
highlight(code: string, lang: string, opts?: any): Promise<string>;
highlightCodeBlock(ctx: import('../type').CodeblockContext, opts?: any): Promise<import('../type').HighlightResult>;
renderCodeblock(cctx: any, w: import('../type').FlexiWriter, ctx: import('../type').CodeblockContext): Promise<void>;
isDefaultCodeBlockRenderer(): boolean;
prepareRender(source: Uint8Array): Promise<RenderableDocument>;
/**
* Parse and render content in one step - simplified interface for external use
* This method hides implementation details and provides a clean interface
*/
parseAndRenderContent(source: Uint8Array, options?: ParseAndRenderOptions): Promise<ContentResult>;
/**
* Parse markdown source with front matter and shortcodes
*/
parseContent(source: Uint8Array): Promise<ParsedContentResult>;
/**
* Parse front matter from item
*/
private parseFrontMatter;
/**
* Simple YAML parser (basic implementation)
*/
private parseYAML;
/**
* Simple TOML parser using smol-toml library
*/
private parseTOML;
/**
* Simple JSON parser
*/
private parseJSON;
/**
* Simple Org mode parser (basic implementation)
*/
private parseOrg;
/**
* Parse value (string, number, boolean, array)
*/
private parseValue;
/**
* Parse markdown source into tokens and create parsing result
*/
private parse;
/**
* Render the parsed result to bytes
*/
private renderToBytes;
}
//# sourceMappingURL=markdown.d.ts.map