diff --git a/web/src/labs/marked/marked.test.ts b/web/src/labs/marked/marked.test.ts index 7db8477c..cf7f9afb 100644 --- a/web/src/labs/marked/marked.test.ts +++ b/web/src/labs/marked/marked.test.ts @@ -6,11 +6,15 @@ describe("test marked parser", () => { test("test markdown table", () => { const tests = [ { - markdown: `| a | b | c | + markdown: `text above the table +| a | b | c | |---|---|---| | 1 | 2 | 3 | -| 4 | 5 | 6 |`, - want: `
a | b | c | @@ -19,7 +23,9 @@ describe("test marked parser", () => {
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
text below the table
+`, }, { markdown: `| a | b | c | diff --git a/web/src/labs/marked/parser/Table.ts b/web/src/labs/marked/parser/Table.ts index 050c8446..e267a3cd 100644 --- a/web/src/labs/marked/parser/Table.ts +++ b/web/src/labs/marked/parser/Table.ts @@ -6,7 +6,7 @@ * | 1 | 2 | 3 | * | 4 | 5 | 6 | */ -export const TABLE_REG = /^(\|.*\|)(?:(?:\n(?:\|-*)+\|))((?:\n\|.*\|)+)/; +export const TABLE_REG = /^(\|.*\|)(?:(?:\n(?:\|-*)+\|))((?:\n\|.*\|)+)(\n?)/; const renderer = (rawStr: string): string => { const matchResult = rawStr.match(TABLE_REG); @@ -35,7 +35,7 @@ const renderer = (rawStr: string): string => { ${tableBody.map((row) => `