Skip to content

Class: Renderer ​

Defined in: renderer.ts:170

Constructors ​

Constructor ​

ts
new Renderer(): Renderer;

Defined in: renderer.ts:190

Creates new Renderer instance and fill Renderer#rules with defaults.

Returns ​

Renderer

Properties ​

rules ​

ts
rules: RenderRuleRecord;

Defined in: renderer.ts:185

Contains render rules for tokens. Can be updated and extended.

Example ​
javascript
md.renderer.rules.strong_open = () => '<b>';
md.renderer.rules.strong_close = () => '</b>';

var result = md.renderInline(...);

See ​

https://github.com/serkodev/markdown-exit/tree/main/packages/markdown-exit/src/renderer.ts

Methods ​

render() ​

ts
render(
   tokens, 
   options, 
   env): string;

Defined in: renderer.ts:373

Takes token stream and generates HTML. Probably, you will never need to call this method directly.

Parameters ​

tokens ​

Token[]

list of block tokens to render

options ​

RenderOptions

params of parser instance

env ​

MarkdownExitEnv = {}

additional data from parsed input (references, for example)

Returns ​

string


renderAsync() ​

ts
renderAsync(
   tokens, 
   options, 
env?): Promise<string>;

Defined in: renderer.ts:444

Async version of Renderer.render. Runs all render rules in parallel (Promise.all) and preserves output order.

If render has been overridden or monkey-patched on this instance — a common plugin pattern in the markdown-it ecosystem (e.g. @mdit-vue) — the wrapper is honored by falling back to the sync path, so patched logic is not silently bypassed. Async rules still throw there, as with render(). If renderAsync itself is patched too, that wrapper owns the async path: this base implementation then renders asynchronously right away and does not route back through the patched sync render (#35).

Parameters ​

tokens ​

Token[]

options ​

RenderOptions

env? ​

any

Returns ​

Promise<string>


renderAttrs() ​

ts
renderAttrs(token): string;

Defined in: renderer.ts:196

Render token attributes to string.

Parameters ​

token ​

Pick<Token, "attrs">

Returns ​

string


renderInline() ​

ts
renderInline(
   tokens, 
   options, 
   env): string;

Defined in: renderer.ts:305

The same as Renderer.render, but for single token of inline type.

Parameters ​

tokens ​

Token[]

list of block tokens to render

options ​

RenderOptions

params of parser instance

env ​

MarkdownExitEnv = {}

additional data from parsed input (references, for example)

Returns ​

string


renderInlineAsText() ​

ts
renderInlineAsText(
   tokens, 
   options, 
   env): string;

Defined in: renderer.ts:335

Special kludge for image alt attributes to conform CommonMark spec. Don't try to use it! Spec requires to show alt content with stripped markup, instead of simple escaping.

Parameters ​

tokens ​

Token[]

list of block tokens to render

options ​

RenderOptions

params of parser instance

env ​

MarkdownExitEnv = {}

additional data from parsed input (references, for example)

Returns ​

string


renderInlineAsync() ​

ts
renderInlineAsync(
   tokens, 
   options, 
env?): Promise<string>;

Defined in: renderer.ts:402

Async version of Renderer.renderInline. Runs all render rules in parallel (Promise.all) and preserves output order.

Parameters ​

tokens ​

Token[]

options ​

RenderOptions

env? ​

any

Returns ​

Promise<string>


renderToken() ​

ts
renderToken(
   tokens, 
   idx, 
   options, 
   env): string;

Defined in: renderer.ts:224

Default token renderer. Can be overriden by custom function in Renderer#rules.

Parameters ​

tokens ​

Token[]

list of tokens

idx ​

number

token index to render

options ​

RenderOptions

params of parser instance

env ​

MarkdownExitEnv = {}

additional data from parsed input (references, for example)

Returns ​

string

Released under the MIT License.