From 859bdf01f2472749e3634a07ed60d2ecc9bff401 Mon Sep 17 00:00:00 2001 From: Adam Teichert Date: Tue, 16 Dec 2025 21:20:16 -0700 Subject: [PATCH] fix bug where links didn't happen in markdown tables --- src/services/htmlMarkdownUtils.ts | 7 +++++-- src/services/markdownReferenceLinks.test.ts | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 src/services/markdownReferenceLinks.test.ts diff --git a/src/services/htmlMarkdownUtils.ts b/src/services/htmlMarkdownUtils.ts index 24209f5..876b331 100644 --- a/src/services/htmlMarkdownUtils.ts +++ b/src/services/htmlMarkdownUtils.ts @@ -52,15 +52,18 @@ marked.use({ extensions: [mermaidExtension] }); // The renderer only applies to markdown tables. marked.use({ renderer: { - tablecell({ text, header, align }) { + tablecell(token) { + const content = this.parser.parseInline(token.tokens); + const { header, align } = token; const type = header ? "th" : "td"; const alignAttr = align ? ` align="${align}"` : ""; const scopeAttr = header ? ' scope="col"' : ""; - return `<${type}${scopeAttr}${alignAttr}>${text}\n`; + return `<${type}${scopeAttr}${alignAttr}>${content}\n`; }, }, }); + export function extractImageSources(htmlString: string) { const srcUrls = []; const regex = /]+src=["']?([^"'>]+)["']?/g; diff --git a/src/services/markdownReferenceLinks.test.ts b/src/services/markdownReferenceLinks.test.ts new file mode 100644 index 0000000..35b2ade --- /dev/null +++ b/src/services/markdownReferenceLinks.test.ts @@ -0,0 +1,16 @@ +import { describe, it, expect } from 'vitest'; +import { markdownToHtmlNoImages } from './htmlMarkdownUtils'; + +describe('markdownToHtmlNoImages reference links', () => { + it('renders reference links inside a table', () => { + const markdown = ` +| Header | +| --- | +| [QuickStart][Fort1] | + +[Fort1]: https://example.com/fort1 +`; + const html = markdownToHtmlNoImages(markdown); + expect(html).toContain('QuickStart'); + }); +});