fix: blank line after table (#298)

This commit is contained in:
Hyoban 2022-10-15 17:51:17 +08:00 committed by GitHub
parent 95c8d8fc9c
commit 26aae0e637
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 6 deletions

View File

@ -6,11 +6,15 @@ describe("test marked parser", () => {
test("test markdown table", () => { test("test markdown table", () => {
const tests = [ const tests = [
{ {
markdown: `| a | b | c | markdown: `text above the table
| a | b | c |
|---|---|---| |---|---|---|
| 1 | 2 | 3 | | 1 | 2 | 3 |
| 4 | 5 | 6 |`, | 4 | 5 | 6 |
want: `<table> text below the table
`,
want: `<p>text above the table</p>
<table>
<thead> <thead>
<tr> <tr>
<th>a</th><th>b</th><th>c</th> <th>a</th><th>b</th><th>c</th>
@ -19,7 +23,9 @@ describe("test marked parser", () => {
<tbody> <tbody>
<tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr> <tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr>
</tbody> </tbody>
</table>`, </table>
<p>text below the table</p>
`,
}, },
{ {
markdown: `| a | b | c | markdown: `| a | b | c |

View File

@ -6,7 +6,7 @@
* | 1 | 2 | 3 | * | 1 | 2 | 3 |
* | 4 | 5 | 6 | * | 4 | 5 | 6 |
*/ */
export const TABLE_REG = /^(\|.*\|)(?:(?:\n(?:\|-*)+\|))((?:\n\|.*\|)+)/; export const TABLE_REG = /^(\|.*\|)(?:(?:\n(?:\|-*)+\|))((?:\n\|.*\|)+)(\n?)/;
const renderer = (rawStr: string): string => { const renderer = (rawStr: string): string => {
const matchResult = rawStr.match(TABLE_REG); const matchResult = rawStr.match(TABLE_REG);
@ -35,7 +35,7 @@ const renderer = (rawStr: string): string => {
<tbody> <tbody>
${tableBody.map((row) => `<tr>${row.map((str) => `<td>${str}</td>`).join("")}</tr>`).join("")} ${tableBody.map((row) => `<tr>${row.map((str) => `<td>${str}</td>`).join("")}</tr>`).join("")}
</tbody> </tbody>
</table>`; </table>${matchResult[3]}`;
}; };
export default { export default {