diff --git a/src/Lexer.ts b/src/Lexer.ts index 4382aba963..c1ca2771b0 100644 --- a/src/Lexer.ts +++ b/src/Lexer.ts @@ -206,6 +206,7 @@ export class _Lexer { href: token.href, title: token.title, }; + tokens.push(token); } continue; } diff --git a/src/Parser.ts b/src/Parser.ts index 174a80a242..741fdee67e 100644 --- a/src/Parser.ts +++ b/src/Parser.ts @@ -49,7 +49,7 @@ export class _Parser { if (this.options.extensions?.renderers?.[anyToken.type]) { const genericToken = anyToken as Tokens.Generic; const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken); - if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) { + if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'def', 'paragraph', 'text'].includes(genericToken.type)) { out += ret || ''; continue; } @@ -90,6 +90,10 @@ export class _Parser { out += this.renderer.html(token); continue; } + case 'def': { + out += this.renderer.def(token); + continue; + } case 'paragraph': { out += this.renderer.paragraph(token); continue; diff --git a/src/Renderer.ts b/src/Renderer.ts index 95cdc6869d..9082ffcfea 100644 --- a/src/Renderer.ts +++ b/src/Renderer.ts @@ -49,6 +49,10 @@ export class _Renderer { return text as RendererOutput; } + def(token: Tokens.Def): RendererOutput { + return '' as RendererOutput; + } + heading({ tokens, depth }: Tokens.Heading): RendererOutput { return `${this.parser.parseInline(tokens)}\n` as RendererOutput; } diff --git a/test/unit/Lexer.test.js b/test/unit/Lexer.test.js index a8676660a5..ba9b417da7 100644 --- a/test/unit/Lexer.test.js +++ b/test/unit/Lexer.test.js @@ -1331,6 +1331,15 @@ paragraph links: { link: { href: 'https://example.com', title: undefined }, }, + tokens: [ + { + type: 'def', + raw: '[link]: https://example.com', + tag: 'link', + href: 'https://example.com', + title: undefined, + }, + ], }); }); @@ -1340,6 +1349,15 @@ paragraph links: { link: { href: 'https://example.com', title: 'title' }, }, + tokens: [ + { + type: 'def', + raw: '[link]: https://example.com "title"', + tag: 'link', + href: 'https://example.com', + title: 'title', + }, + ], }); }); });