@readme/markdown
Version:
ReadMe's React-based Markdown parser
45 lines (44 loc) • 1.58 kB
TypeScript
export declare function base64Decode(str: string): string;
export declare const JSON_VALUE_MARKER = "__MDXISH_JSON__";
export declare const HTML_BLOCK_CONTENT_START = "<!--RDMX_HTMLBLOCK:";
export declare const HTML_BLOCK_CONTENT_END = ":RDMX_HTMLBLOCK-->";
/**
* Pre-processes JSX-like expressions before markdown parsing.
* Converts href={'value'} to href="value", evaluates {expressions}, etc.
*/
export type JSXContext = Record<string, unknown>;
/**
* Evaluates a JavaScript expression using context variables.
*
* @param expression
* @param context
* @returns The evaluated result
* @example
* ```typescript
* const context = { baseUrl: 'https://example.com', path: '/api' };
* evaluateExpression('baseUrl + path', context)
* // Returns: 'https://example.com/api'
* ```
*/
export declare function evaluateExpression(expression: string, context: JSXContext): any;
/**
* Removes JSX-style comments (e.g., { /* comment *\/ }) from content.
*
* @param content
* @returns Content with JSX comments removed
* @example
* ```typescript
* removeJSXComments('Text { /* comment *\/ } more text')
* // Returns: 'Text more text'
* ```
*/
export declare function removeJSXComments(content: string): string;
/**
* Preprocesses JSX-like expressions in markdown before parsing.
* Inline expressions are handled separately; attribute expressions are processed here.
*
* @param content
* @param context
* @returns Preprocessed content ready for markdown parsing
*/
export declare function preprocessJSXExpressions(content: string, context?: JSXContext): string;