diff --git a/src/sql/workbench/contrib/notebook/browser/htmlMarkdownConverter.ts b/src/sql/workbench/contrib/notebook/browser/htmlMarkdownConverter.ts
index 84817196b2..35530f0ae1 100644
--- a/src/sql/workbench/contrib/notebook/browser/htmlMarkdownConverter.ts
+++ b/src/sql/workbench/contrib/notebook/browser/htmlMarkdownConverter.ts
@@ -176,6 +176,10 @@ export class HTMLMarkdownConverter {
replacement: function (content, node, options) {
// For elements that aren't lists, convert
into its markdown equivalent
if (node.parentElement?.nodeName !== 'LI') {
+ // Keeps
in table cell/head in order to keep new linehow
+ if (node.parentElement?.nodeName === 'TD' || node.parentElement?.nodeName === 'TH') {
+ return '
';
+ }
return options.br + '\n';
}
// One (and only one) line break is ignored when it's inside of a list item
diff --git a/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts b/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts
index 076a790c95..537b99a718 100644
--- a/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts
+++ b/src/sql/workbench/contrib/notebook/test/browser/htmlMarkdownConverter.test.ts
@@ -260,6 +260,13 @@ suite('HTML Markdown Converter', function (): void {
assert.equal(htmlMarkdownConverter.convert(htmlString), `| Test | Test | Test |\n| :-: | --- | --- |\n| test | test | test |\n| test | test | test |\n| test | test | test |\n| test | test | test |`, 'Table with center align column header failed');
});
+ test('Should transform table to keep
for new line in table head and cell', () => {
+ htmlString = '
| \n | \n | \n |
|---|---|---|
| test | \ntest test | \n\n |
| TEST TEST | \nTEST | \nTEST | \n
|---|---|---|
| test | \ntest | \ntest | \n