@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
46 lines • 1.97 kB
TypeScript
import { Highlighter, HighlightResult, CodeblockContext, FlexiWriter } from '../type';
import { HighlightConfig } from './config';
/**
* HighlightResultImpl implements HighlightResult
*/
export declare class HighlightResultImpl implements HighlightResult {
private wrappedContent;
private innerContent;
constructor(wrappedContent: string, innerContent: string);
wrapped(): string;
inner(): string;
}
/**
* Default highlighter using highlight.js or prism.js
*/
export declare class DefaultHighlighter implements Highlighter {
private config;
constructor(config: HighlightConfig);
highlight(code: string, lang: string, opts?: any): Promise<string>;
highlightCodeBlock(ctx: CodeblockContext, opts?: any): Promise<HighlightResult>;
renderCodeblock(cctx: any, w: FlexiWriter, ctx: CodeblockContext): Promise<void>;
isDefaultCodeBlockRenderer(): boolean;
private escapeHTML;
private addLineNumbers;
}
/**
* External highlighter adapter - allows using external highlight libraries
*/
export declare class ExternalHighlighter implements Highlighter {
private highlightFn;
private config;
constructor(highlightFn: (code: string, lang: string) => Promise<string>, config?: HighlightConfig);
highlight(code: string, lang: string, opts?: any): Promise<string>;
highlightCodeBlock(ctx: CodeblockContext, opts?: any): Promise<HighlightResult>;
renderCodeblock(cctx: any, w: FlexiWriter, ctx: CodeblockContext): Promise<void>;
isDefaultCodeBlockRenderer(): boolean;
}
/**
* Factory function to create default highlighter
*/
export declare function createDefaultHighlighter(config?: Partial<HighlightConfig>): DefaultHighlighter;
/**
* Factory function to create external highlighter
*/
export declare function createExternalHighlighter(highlightFn: (code: string, lang: string) => Promise<string>, config?: Partial<HighlightConfig>): ExternalHighlighter;
//# sourceMappingURL=highlight.d.ts.map