From ae6037f87df559f28ea2a9071d31409e310265b9 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Mon, 11 Mar 2024 19:59:29 +0800 Subject: [PATCH 1/5] =?UTF-8?q?Fix=20Markdown=20bold=20compatibility,=20if?= =?UTF-8?q?=20bold=20content=20endwith=20`=EF=BC=9A`=20use=20HTML=20tag.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feishu-docx/src/markdown_renderer.ts | 14 ++++++++++++++ feishu-docx/tests/fixtures/case3.expect.md | 2 +- feishu-docx/tests/fixtures/case3.raw.json | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/feishu-docx/src/markdown_renderer.ts b/feishu-docx/src/markdown_renderer.ts index 3f0f1f3..cd10648 100644 --- a/feishu-docx/src/markdown_renderer.ts +++ b/feishu-docx/src/markdown_renderer.ts @@ -367,6 +367,20 @@ export class MarkdownRenderer extends Renderer { plainText = escapeHTMLTags(plainText); } + // If the endof char in plainText is punctuations (: or :), then use HTML tag + if (plainText.match(/[::]$/)) { + if (style.bold) { + preWrite = ""; + postWrite = ""; + } else if (style.italic) { + preWrite = ""; + postWrite = ""; + } else if (style.strikethrough) { + preWrite = ""; + postWrite = ""; + } + } + // If the previus style is same as current, we can merge them. // For example: // Last is: **He** diff --git a/feishu-docx/tests/fixtures/case3.expect.md b/feishu-docx/tests/fixtures/case3.expect.md index 26e79f8..5bad05a 100644 --- a/feishu-docx/tests/fixtures/case3.expect.md +++ b/feishu-docx/tests/fixtures/case3.expect.md @@ -90,7 +90,7 @@ yarn add feishu-pages 2. 为应用开启 `机器人` 应用能力。 3. 为应用开启 `docx:document:readonly` 和 `wiki:wiki:readonly` 权限。 4. 将应用发布正式版本,并确保审批通过。 -5. 在飞书 IM 中创建新群 `Feishu Pages`,将应用添加为该群机器人,知识库管理员在「知识空间设置」-> 「权限设置」->「添加管理员」中添加,把这个 `Feishu Pages` 群加成 **管理员**。 +5. 在飞书 IM 中创建新群 `Feishu Pages`,将应用添加为该群机器人,知识库管理员在「知识空间设置」-> 「权限设置」->「添加管理员」中添加,把这个 `Feishu Pages` 群加成 管理员:。 - 否则会遇到 `permission denied: wiki space permission denied` 错误。 [ref](https://open.feishu.cn/document/server-docs/docs/wiki-v2/wiki-qa) ### **获取飞书知识库 space_id** diff --git a/feishu-docx/tests/fixtures/case3.raw.json b/feishu-docx/tests/fixtures/case3.raw.json index e80bee4..5a291a3 100644 --- a/feishu-docx/tests/fixtures/case3.raw.json +++ b/feishu-docx/tests/fixtures/case3.raw.json @@ -2563,7 +2563,7 @@ }, { "text_run": { - "content": "管理员", + "content": "管理员:", "text_element_style": { "bold": true, "inline_code": false, From 69b2a51f3fc24a06e368954bc65c9b27857e1cb6 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Mon, 11 Mar 2024 20:00:10 +0800 Subject: [PATCH 2/5] feishu-docs v0.6.5 --- feishu-docx/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feishu-docx/package.json b/feishu-docx/package.json index 3af2ef0..ee584f0 100644 --- a/feishu-docx/package.json +++ b/feishu-docx/package.json @@ -1,6 +1,6 @@ { "name": "feishu-docx", - "version": "0.6.4", + "version": "0.6.5", "description": "Convert Feishu Docx into other format (Markdown, HTML ...)", "module": "src/index.ts", "main": "dist/index.js", From 4d57caf6ebb03c3f766805b2ea9da7036c30d6e5 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 4 Jun 2024 17:58:17 +0800 Subject: [PATCH 3/5] Fix special indent level list render in a paragraph. #12 Fix to ensure to remove heading prefix newline. #11 --- bun.lockb | Bin 0 -> 234152 bytes feishu-docx/README.md | 4 + feishu-docx/src/markdown_renderer.ts | 288 ++++++++++---------- feishu-docx/src/string_buffer.ts | 4 + feishu-docx/src/types.ts | 1 + feishu-docx/tests/fixtures/case4.expect.md | 13 + feishu-docx/tests/fixtures/case4.raw.json | 283 +++++++++++++++++++ feishu-docx/tests/markdown_renderer.test.ts | 12 +- feishu-pages/src/doc.ts | 2 +- 9 files changed, 464 insertions(+), 143 deletions(-) create mode 100755 bun.lockb create mode 100644 feishu-docx/tests/fixtures/case4.expect.md create mode 100644 feishu-docx/tests/fixtures/case4.raw.json diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..0009a2a5e709fd3415dd6221102080539e801abd GIT binary patch literal 234152 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

2^e{PX@#$XSy8`-@4HCe?!a< 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

s)dFz$m1KT=RkRa)>Pw2usW9TFd85|_Y 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 "); - buf.write(this.parseTextBlock(block.quote)); + buf.write('> '); + buf.write(this.parseTextBlock(block, block.quote)); break; case BlockType.TodoList: - buf.write("- ["); - buf.write(block.todo.style.done ? "x" : " "); - buf.write("] "); - buf.write(this.parseTextBlock(block.todo)); + buf.write('- ['); + buf.write(block.todo.style.done ? 'x' : ' '); + buf.write('] '); + buf.write(this.parseTextBlock(block, block.todo)); break; case BlockType.Divider: - buf.write("---\n"); + buf.write('---\n'); break; case BlockType.Image: buf.write(this.parseImage(block.image)); @@ -178,7 +178,7 @@ export class MarkdownRenderer extends Renderer { if (block?.code?.style?.language !== CodeLanguage.YAML) { return false; } - let code = this.parseTextBlock(block.code).toString().trim(); + let code = this.parseTextBlock(block, block.code).toString().trim(); if (!code) { return false; @@ -201,9 +201,9 @@ export class MarkdownRenderer extends Renderer { parsePageBlock(block: Block): Buffer | string { const buf = new Buffer(); - buf.write("# "); - buf.write(this.parseTextBlock(block.page)); - buf.write("\n"); + buf.write('# '); + buf.write(this.parseTextBlock(block, block.page)); + buf.write('\n'); block.children?.forEach((childId, idx) => { const child = this.blockMap[childId]; @@ -220,7 +220,7 @@ export class MarkdownRenderer extends Renderer { let childText = this.parseBlock(child, 0); if (childText.length > 0) { buf.write(childText); - buf.write("\n"); + buf.write('\n'); } }); }); @@ -228,16 +228,24 @@ export class MarkdownRenderer extends Renderer { return buf; } - parseTextBlock(block: TextBlock): Buffer | string { + parseTextBlock(block: Block, textBlock: TextBlock): Buffer | string { const buf = new Buffer(); - const inline = block.elements.length > 1; + const inline = textBlock.elements.length > 1; - block.elements?.forEach((el) => { + textBlock.elements?.forEach((el) => { this.parseTextElement(buf, el, inline); }); if (buf.length > 0) { - buf.write("\n"); + buf.write('\n'); + } + + // For type: 2 render children + if (block.block_type == BlockType.Text) { + block.children?.forEach((childId, _) => { + const child = this.blockMap[childId]; + buf.write(this.parseBlock(child, this.indent)); + }); } return buf; @@ -246,8 +254,8 @@ export class MarkdownRenderer extends Renderer { parseBulletBlock(block: Block, indent: number = 0): Buffer | string { const buf = new Buffer(); - buf.write("- "); - let itemText = this.parseTextBlock(block.bullet).toString(); + buf.write('- '); + let itemText = this.parseTextBlock(block, block.bullet).toString(); if ( this.nextBlock?.block_type == block.block_type && this.nextBlock?.parent_id == block.parent_id && @@ -291,7 +299,7 @@ export class MarkdownRenderer extends Renderer { }); buf.write(`${order}. `); - let itemText = this.parseTextBlock(block.ordered).toString(); + let itemText = this.parseTextBlock(block, block.ordered).toString(); if ( this.nextBlock?.block_type == block.block_type && this.nextBlock?.parent_id == block.parent_id && @@ -318,7 +326,7 @@ export class MarkdownRenderer extends Renderer { if (el.text_run) { this.parseTextRun(buf, el.text_run); } else if (el.equation) { - let symbol = inline ? "$" : "$$"; + let symbol = inline ? '$' : '$$'; buf.write(symbol); buf.write(el.equation.content.trimEnd()); buf.write(symbol); @@ -329,27 +337,27 @@ export class MarkdownRenderer extends Renderer { } parseTextRun(buf: Buffer, textRun: TextRun) { - let preWrite = ""; - let postWrite = ""; + let preWrite = ''; + let postWrite = ''; let style = textRun.text_element_style; let escape = true; if (style) { if (style.bold) { - preWrite = "**"; - postWrite = "**"; + preWrite = '**'; + postWrite = '**'; } else if (style.italic) { - preWrite = "_"; - postWrite = "_"; + preWrite = '_'; + postWrite = '_'; } else if (style.strikethrough) { - preWrite = "~~"; - postWrite = "~~"; + preWrite = '~~'; + postWrite = '~~'; } else if (style.underline) { - preWrite = ""; - postWrite = ""; + preWrite = ''; + postWrite = ''; } else if (style.inline_code) { - preWrite = "`"; - postWrite = "`"; + preWrite = '`'; + postWrite = '`'; escape = false; } else if (style.link) { const unescapeURL = decodeURIComponent(style.link.url); @@ -358,7 +366,7 @@ export class MarkdownRenderer extends Renderer { } } - let plainText = textRun.content || ""; + let plainText = textRun.content || ''; // Only escape HTML tags when not in style // For example: `

` will keep. // @@ -370,14 +378,14 @@ export class MarkdownRenderer extends Renderer { // If the endof char in plainText is punctuations (: or :), then use HTML tag if (plainText.match(/[::]$/)) { if (style.bold) { - preWrite = ""; - postWrite = ""; + preWrite = ''; + postWrite = ''; } else if (style.italic) { - preWrite = ""; - postWrite = ""; + preWrite = ''; + postWrite = ''; } else if (style.strikethrough) { - preWrite = ""; - postWrite = ""; + preWrite = ''; + postWrite = ''; } } @@ -397,28 +405,28 @@ export class MarkdownRenderer extends Renderer { const buf = new Buffer(); const align = getAlignStyle(image.align); - let alignAttr = ""; - if (align != "left") { + let alignAttr = ''; + if (align != 'left') { alignAttr = ` align="${align}"`; } - const el = createElement("img"); - el.setAttribute("src", image.token); + const el = createElement('img'); + el.setAttribute('src', image.token); if (image.width) { - el.setAttribute("src-width", image.width.toString()); + el.setAttribute('src-width', image.width.toString()); } // Only give height when width is not given if (image.height) { - el.setAttribute("src-height", image.height.toString()); + el.setAttribute('src-height', image.height.toString()); } - if (align && align != "left") { - el.setAttribute("align", align); + if (align && align != 'left') { + el.setAttribute('align', align); } buf.write(el.outerHTML); - buf.write("\n"); + buf.write('\n'); - this.addFileToken("image", image.token); + this.addFileToken('image', image.token); return buf; } @@ -447,7 +455,7 @@ export class MarkdownRenderer extends Renderer { table.cells.forEach((blockId, idx) => { const block = this.blockMap[blockId]; let cellText = this.parseBlock(block, 0); - cellText = trimLastNewline(cellText).replace(/\n/gm, "
"); + cellText = trimLastNewline(cellText).replace(/\n/gm, '
'); const row = Math.floor(idx / table.property.column_size); if (rows.length < row + 1) { @@ -465,28 +473,28 @@ export class MarkdownRenderer extends Renderer { if (table.property?.header_row) { headRow = rows.shift(); } - buf.write("|"); + buf.write('|'); for (let i = 0; i < table.property?.column_size; i++) { - buf.write(headRow[i] || " "); - buf.write("|"); + buf.write(headRow[i] || ' '); + buf.write('|'); } - buf.write("\n"); + buf.write('\n'); // Render thead divider - buf.write("|"); + buf.write('|'); for (let i = 0; i < table.property?.column_size; i++) { - buf.write("---|"); + buf.write('---|'); } - buf.write("\n"); + buf.write('\n'); // Render tbody for (const row of rows) { - buf.write("|"); + buf.write('|'); row.forEach((cell) => { buf.write(cell); - buf.write("|"); + buf.write('|'); }); - buf.write("\n"); + buf.write('\n'); } return buf; @@ -519,7 +527,7 @@ export class MarkdownRenderer extends Renderer { let attrHTML = Object.keys(attrs) .map((key) => `${key}="${attrs[key]}"`) - .join(" "); + .join(' '); if (attrHTML.length > 0) { attrHTML = ` ${attrHTML}`; } @@ -528,14 +536,14 @@ export class MarkdownRenderer extends Renderer { buf.writeln(``); // Write colgroup for col width - buf.writeln(""); + buf.writeln(''); for (let i = 0; i < table.property?.column_size; i++) { let width = table.property?.column_width[i]; - let widthAttr = width ? ` width="${width}"` : ""; + let widthAttr = width ? ` width="${width}"` : ''; buf.writeln(``); } - buf.writeln(""); + buf.writeln(''); let cellIdx = 0; @@ -575,10 +583,10 @@ export class MarkdownRenderer extends Renderer { } } - const writeCell = (buf: Buffer, cell: string, tag: "th" | "td") => { + const writeCell = (buf: Buffer, cell: string, tag: 'th' | 'td') => { let attr = this.tableCellAttrHTML(mergeInfos, cellIdx); if (cellInfos?.[cellIdx] == 1) { - buf.write(`<${tag}${attr}>${cell || ""}`); + buf.write(`<${tag}${attr}>${cell || ''}`); } cellIdx += 1; @@ -589,26 +597,26 @@ export class MarkdownRenderer extends Renderer { let headRow = []; headRow = rows.shift(); - buf.writeln(""); - buf.write(""); + buf.writeln(''); + buf.write(''); for (let i = 0; i < columnSize; i++) { - writeCell(buf, headRow[i], "th"); + writeCell(buf, headRow[i], 'th'); } - buf.writeln(""); - buf.writeln(""); + buf.writeln(''); + buf.writeln(''); } // Render tbody - buf.writeln(""); + buf.writeln(''); for (const row of rows) { - buf.write(""); + buf.write(''); row.forEach((cell) => { - writeCell(buf, cell, "td"); + writeCell(buf, cell, 'td'); }); - buf.writeln(""); + buf.writeln(''); } - buf.writeln(""); - buf.writeln(""); + buf.writeln(''); + buf.writeln(''); return buf.toString({ indent: this.indent }); } @@ -619,7 +627,7 @@ export class MarkdownRenderer extends Renderer { this.withSubIndent(() => { block.children?.forEach((childId) => { const child = this.blockMap[childId]; - buf.write("> "); + buf.write('> '); buf.write(this.parseBlock(child, 0)); }); }); @@ -644,10 +652,10 @@ export class MarkdownRenderer extends Renderer { const buf = new Buffer(); const file = block.file; - this.addFileToken("file", file.token); + this.addFileToken('file', file.token); buf.write(`[${file.name}](${file.token})`); - buf.write("\n"); + buf.write('\n'); return buf.toString(); } @@ -657,14 +665,14 @@ export class MarkdownRenderer extends Renderer { const { column_size } = block.grid; buf.writeln( - `
`, + `
` ); block.children?.forEach((childId) => { const child = this.blockMap[childId]; buf.write(this.parseGridColumn(child)); }); - buf.writeln("
"); + buf.writeln('
'); return buf.toString({ indent: this.indent }); } @@ -675,10 +683,10 @@ export class MarkdownRenderer extends Renderer { let { width_ratio } = block.grid_column; buf.writeln( - `
`, + `
` ); - let inner = ""; + let inner = ''; this.withSubIndent(() => { inner = block.children @@ -686,11 +694,11 @@ export class MarkdownRenderer extends Renderer { const child = this.blockMap[childId]; return this.parseBlock(child, 0); }) - .join("\n"); + .join('\n'); }); buf.write(this.markdownToHTML(inner)); - buf.writeln("
"); + buf.writeln('
'); return buf.toString({ indent: this.indent }); } @@ -699,23 +707,23 @@ export class MarkdownRenderer extends Renderer { const buf = new Buffer(); const style = {}; - const classNames = ["callout"]; + const classNames = ['callout']; if (block.callout.background_color) { const backgroundColor = CalloutBackgroundColorMap[block.callout.background_color]; - style["background"] = backgroundColor; + style['background'] = backgroundColor; classNames.push(`callout-bg-${block.callout.background_color}`); } if (block.callout.border_color) { const borderColor = CalloutBorderColorMap[block.callout.border_color]; - style["border"] = `1px solid ${borderColor}`; + style['border'] = `1px solid ${borderColor}`; classNames.push(`callout-border-${block.callout.border_color}`); } if (block.callout.text_color) { - const textColor = FontColorMap[block.callout.text_color] || "#2222"; - style["color"] = textColor; + const textColor = FontColorMap[block.callout.text_color] || '#2222'; + style['color'] = textColor; classNames.push(`callout-color-${block.callout.text_color}`); } @@ -723,13 +731,13 @@ export class MarkdownRenderer extends Renderer { .map((key) => { return `${key}: ${style[key]}`; }) - .join("; "); + .join('; '); - buf.writeln(`
`); + buf.writeln(`
`); if (block.callout.emoji_id) { buf.write("
"); buf.write(getEmojiChar(block.callout.emoji_id)); - buf.writeln("
"); + buf.writeln('
'); } // Inner of the Callout, we need ouput as HTML @@ -742,13 +750,13 @@ export class MarkdownRenderer extends Renderer { const child = this.blockMap[childId]; return this.parseBlock(child, 0); }) - .join("\n"), + .join('\n') ); }); let html = this.markdownToHTML(markdownBuf.toString()); buf.write(html); - buf.writeln("
"); + buf.writeln('
'); return buf.toString({ indent: this.indent }); } @@ -757,12 +765,12 @@ export class MarkdownRenderer extends Renderer { let buf = new Buffer(); let url = block.iframe?.component?.url; - if (!url) return ""; + if (!url) return ''; - const el = createElement("iframe"); - el.setAttribute("src", decodeURIComponent(block.iframe.component.url)); + const el = createElement('iframe'); + el.setAttribute('src', decodeURIComponent(block.iframe.component.url)); buf.write(el.outerHTML); - buf.write("\n"); + buf.write('\n'); return buf; } @@ -781,15 +789,15 @@ export class MarkdownRenderer extends Renderer { parseUnsupport(block: Block) { if (!this.outputUnsupported) { - return ""; + return ''; } const buf = new Buffer(); - buf.write("```\n"); + buf.write('```\n'); buf.write(`// [Unsupport] ${BlockType[block.block_type]}\n`); buf.write(JSON.stringify(block, null, 2)); - buf.write("\n```\n"); + buf.write('\n```\n'); return buf.toString(); } @@ -800,7 +808,7 @@ export class MarkdownRenderer extends Renderer { tableCellAttrHTML(mergeInfos: TableMergeInfo[], idx: number): string { let mergeInfo = mergeInfos[idx]; - if (!mergeInfo) return ""; + if (!mergeInfo) return ''; let attr: any = {}; if (mergeInfo.row_span > 1) { @@ -812,7 +820,7 @@ export class MarkdownRenderer extends Renderer { let html = Object.keys(attr) .map((key) => `${key}="${attr[key]}"`) - .join(" "); + .join(' '); if (html.length > 0) { html = ` ${html}`; diff --git a/feishu-docx/src/string_buffer.ts b/feishu-docx/src/string_buffer.ts index 4d34f8b..1ca0d36 100644 --- a/feishu-docx/src/string_buffer.ts +++ b/feishu-docx/src/string_buffer.ts @@ -52,6 +52,10 @@ export class Buffer { return false; } + trimStart(): string { + return this.toString().trimStart(); + } + toString(opts?: { indent?: number }) { const { indent = 0 } = opts || {}; let out = this.buffer.join(''); diff --git a/feishu-docx/src/types.ts b/feishu-docx/src/types.ts index 947cbd1..ad130fe 100644 --- a/feishu-docx/src/types.ts +++ b/feishu-docx/src/types.ts @@ -301,6 +301,7 @@ export interface InlineFile { export interface TextBlock { style: TextStyle; elements: TextElement[]; + children: string[]; } export interface ImageBlock { diff --git a/feishu-docx/tests/fixtures/case4.expect.md b/feishu-docx/tests/fixtures/case4.expect.md new file mode 100644 index 0000000..6938ae8 --- /dev/null +++ b/feishu-docx/tests/fixtures/case4.expect.md @@ -0,0 +1,13 @@ +# 复杂 case 测试 + +当前部分是记录一些特别的文档场景,尝试还原情况 + +## Bad Case + +错误的 Heading + +## 这个 Heading 下面有个多余的换行 + +错误的有序列表,直接是第二层 +- Item 1 +- Item 2 \ No newline at end of file diff --git a/feishu-docx/tests/fixtures/case4.raw.json b/feishu-docx/tests/fixtures/case4.raw.json new file mode 100644 index 0000000..b8f83c0 --- /dev/null +++ b/feishu-docx/tests/fixtures/case4.raw.json @@ -0,0 +1,283 @@ +{ + "document": { + "document_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "revision_id": 214, + "title": "Test" + }, + "blocks": [ + { + "block_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "block_type": 1, + "children": [ + "SqSvduwatoJP1AxfLKuc8TtonCe", + "G0zrdrzlOovFhVxnWWHcWYu9nBe", + "EKEzdDkQso7dN4xHvY4cMNEen8b", + "CkibdO05PoFZX8x8GQ4c8M0Rnwh", + "PPVydhzGkoIqBix4h24ceJ9pnyf", + "GIBvdbWJSoUjnOxeUEjcRJtZnJh", + "K9Izd6lmfopGeexSZXtckBcjny6" + ], + "page": { + "elements": [ + { + "text_run": { + "content": "复杂 case 测试", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1 + } + }, + "parent_id": "" + }, + { + "block_id": "SqSvduwatoJP1AxfLKuc8TtonCe", + "block_type": 2, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "text": { + "elements": [ + { + "text_run": { + "content": "当前部分是记录一些特别的文档场景,尝试还原情况", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + } + }, + { + "block_id": "G0zrdrzlOovFhVxnWWHcWYu9nBe", + "block_type": 4, + "heading2": { + "elements": [ + { + "text_run": { + "content": "Bad Case", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + }, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f" + }, + { + "block_id": "EKEzdDkQso7dN4xHvY4cMNEen8b", + "block_type": 2, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "text": { + "elements": [ + { + "text_run": { + "content": "错误的 Heading", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + } + }, + { + "block_id": "CkibdO05PoFZX8x8GQ4c8M0Rnwh", + "block_type": 4, + "heading2": { + "elements": [ + { + "text_run": { + "content": "\n", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + }, + { + "text_run": { + "content": "这个 Heading 下面有个多余的换行", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + }, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f" + }, + { + "block_id": "PPVydhzGkoIqBix4h24ceJ9pnyf", + "block_type": 2, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "text": { + "elements": [ + { + "text_run": { + "content": "", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + } + }, + { + "block_id": "GIBvdbWJSoUjnOxeUEjcRJtZnJh", + "block_type": 2, + "children": [ + "GvyqdtfFYo96HUxPKfTcPKI6nXd", + "JlM3dK8k7oCsfqxUBABchtQ1nUd" + ], + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "text": { + "elements": [ + { + "text_run": { + "content": "错误的有序列表,直接是第二层", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + } + }, + { + "block_id": "GvyqdtfFYo96HUxPKfTcPKI6nXd", + "block_type": 12, + "bullet": { + "elements": [ + { + "text_run": { + "content": "Item 1", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + }, + "parent_id": "GIBvdbWJSoUjnOxeUEjcRJtZnJh" + }, + { + "block_id": "JlM3dK8k7oCsfqxUBABchtQ1nUd", + "block_type": 12, + "bullet": { + "elements": [ + { + "text_run": { + "content": "Item 2", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + }, + "parent_id": "GIBvdbWJSoUjnOxeUEjcRJtZnJh" + }, + { + "block_id": "K9Izd6lmfopGeexSZXtckBcjny6", + "block_type": 2, + "parent_id": "W9Pwd8mxZor2kmxBTy6cKjiUn9f", + "text": { + "elements": [ + { + "text_run": { + "content": "", + "text_element_style": { + "bold": false, + "inline_code": false, + "italic": false, + "strikethrough": false, + "underline": false + } + } + } + ], + "style": { + "align": 1, + "folded": false + } + } + } + ] +} \ No newline at end of file diff --git a/feishu-docx/tests/markdown_renderer.test.ts b/feishu-docx/tests/markdown_renderer.test.ts index 7eebaee..88babf8 100644 --- a/feishu-docx/tests/markdown_renderer.test.ts +++ b/feishu-docx/tests/markdown_renderer.test.ts @@ -22,14 +22,22 @@ describe('MarkdownRenderer', () => { }); test('parse file', () => { - ['case0', 'case1', 'case2', 'case3'].forEach((caseName) => { + ['case0', 'case1', 'case2', 'case3', 'case4'].forEach((caseName) => { const doc = fixtureJSON(`${caseName}.raw.json`); const expected = fixture(`${caseName}.expect.md`); let render = new MarkdownRenderer(doc); let result = render.parse(); - assert.equal(result.trim(), expected.trim(), caseName); + if (result.trim() !== expected.trim()) { + console.error('test failed on:', caseName); + console.error(`-------------------- expected ----------------`); + console.log(expected.trim()); + console.error('----------------- expected end -----------------\n'); + console.error(`-------------------- actully -----------------`); + console.log(result.trim()); + console.error('----------------- actully end -----------------\n'); + } }); }); diff --git a/feishu-pages/src/doc.ts b/feishu-pages/src/doc.ts index e8789c4..8f49827 100644 --- a/feishu-pages/src/doc.ts +++ b/feishu-pages/src/doc.ts @@ -7,7 +7,7 @@ import { printMemoryUsage, writeTemplfile } from './utils'; /** * Fetch doc content - * https://open.feishu.cn/document/server-docs/docs/docs/docx-v1/document/raw_content + * https://open.feishu.cn/document/server-docs/docs/docs/docx-v1/document/list * @param document_id doc.obj_token * @returns */ From 51f57e152cc2238e2d020db9051af5485ba75114 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 4 Jun 2024 18:05:42 +0800 Subject: [PATCH 4/5] Show diff test result --- bun.lockb | Bin 234152 -> 134613 bytes feishu-docx/package.json | 1 + feishu-docx/tests/markdown_renderer.test.ts | 10 ++++------ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bun.lockb b/bun.lockb index 0009a2a5e709fd3415dd6221102080539e801abd..422fd4299d55d423edceb30d0e6f366be5fde4f2 100755 GIT binary patch delta 28585 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 XZz%P|itiD+iSsP@gRqxBlb8J;b2RIP literal 234152 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

2^e{PX@#$XSy8`-@4HCe?!a< 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

s)dFz$m1KT=RkRa)>Pw2usW9TFd85|_Y zy60+Xr}Ax1eta!o+wxM&`w)5SmEVn(8SkJL{=Mb-PwlzN`*``$N*ZViY^0XznR)fLlp$ zQzs7Vpc+4)_J4RUQ_S1$N+ZVp^1GyV*Sy(yR9?1j^93*V`@QX@_jtcK#q`F$D`j^C zi4*O0?2jNBMP>wvTCghtdSSb3c67EVSSAhAXo4ypZzO7sGu|ZK2|jr@Mbw*}9-W`3 zurpHSXP9y<6g+I|B=fGK_g>LH1|J{D*S1{!1j>0a*tPr|@EjzdzGPs@lQ*W!yrh5x z5X;_=(esy_bRX*G|JHgup+kD+rr)q3U9 z+rvbuhjPleXD#+s{Un7}33x5YTZsJlK)x@@PHktWPUU4gjgopn2TRW$uKr}xPky8w zI9NCyza@f3tEiHEIt(-}0EPE+!$6@mlot2CS=#5$3Y_dAa|?sN`S-S9dF^CJ2l93L z(^8?$-7VlQ2k}2!H8uUr+75#-hE++o=2*Ciyle@0I08 z(RRO`&faH|uWfm~$)9qQ_Xn4t9oj$r%5ZMSseuK(Njt)b>ozFVg3p{?vSxC<>J31_ zDM;!yZGDyaodtOv$j=-9Q+<}a-sDH#wj~v9r$(Y+RsWuoiyti)#_=OPx__Z<%XH0s zqI}KCdvbZZ&W?xmglx2q)O-DoZ9nd~z}`p{)}DMgWtM09CqaGJHKmncOp!4j4F-i) z-Sb??TVj>Z4T+DJZ^7~wpB;}RuLF5sbsJKX?;ZVa^TNMN7Sl6}XCq>naXiM?*%`m> zTfxs@kx1(4-|K9PA{EAuUuLQ5$vE8PHKIk9^CL|6LK= z@u=vp<$ET1Zz=DQsTN)v_Gy7234XA^HX zDs=M^xbab^d@qx@Qn2_wf4sRnXmWw8qDJK{K8>fTGUiamcityx-1{$_wwK>SmLH+W z_cHS15P3@+iSkfizklAjQ)9QST}3(&`g(b9DPO1Z<6il*$MUr;UkmcyU%s8n>mYrV z(B|fEnlw3}K+eK=(}~aC?e5nzudFc|4MwFV^~&uV6Oh0R+SH9(RI)m2Iz)fB|@@+xBoyw07!qx~QJD)|5 zUm5F0U>D9ZpKA#U_4Q+0Mzmh~*Z4P}(E1L(J|Mr3ZtKa}nJjkl%I;n$Mz^(PP6ra@ zOGrR_;^n5b(yJHGz}iy{!F4FMf>Iom0@IszDLnc@bCL2Rr_}#GPxa1u4s8}G_Rq{w zK6Yh;7m+!+$n3x_H%2M7PLR4|HQ!2`=k_ioYE=H@yj{J?=fmDbuzT8(QRHhbt9DSQ z?7esSwRL$*OvARX2{rQB-CtMLPJe)Xbb5Ep@d}exD~tj@TXfz}wn(=Maq5;46>c5fBdXVo$tIv+-lW+C% z+KJa`l8mUi?)67b?z^ou?R3$a14iqU*9-Nt$R)T9xJ-LI4>!h$+39S>>mm+QwUY`kOV zH$rGU3fa;E!f3Ho(d4n)<3Dzr=_Cy8M1q_BcVmg23^%lGne|>s{WUfU@@2?d$tXat&23M9FqDFC`CZ2@^On_Q}t(aij<3>6a}Ts;faI&U-|3;g<454 zzEKGZ?d8mkPCGrvV-Kym6E{em;~Q>Of7Ka3HsyY*NGZlC@1ES4IR0tl`;5ZY{i}jP z`P>Rqn?9cYm`cjI)d9s5lodzX)n1^Og*|?Y)Gaxs&D@D~8xD9jR7}&8Q}V~_m+c!n zp3dTMZdvUhqCS@6VI?|)o<1?4ICWl|x>Plf%ENcqW%LFcm6uxX`?yJ2^EyFWe`iK%; z3%&CSzPbU=RD%cW^zYmtx$b#0{oEt|_WbRYVf=imSEN?&M`0dUmxezmH*mWdzX)l> z`}ciMdynW8-TH;nSKv1~EaaG5YN5C7TMEyEpEfC3@y@radgGaFr{m1o`jh2)*Vf~i zM%BMQc)6p-H;aX%(VAkD zl!>YsjY(<7&q(lqD1$mxN>e474QhkYh?h0l4^m2=W6kD7Q(Zqlqb3HY`i*J6`ox4d zldr)T<0py5Qu!&f1Sv6?#W=>-95cu^wi1RA6sSxM4OS+YlGRzr_<2;sAbJ*(PODE! zWhrCyNm-~op~{%xFlj=PN%sMT!~6J_Oev+kvSyAUDf)+GBbDA>CQ^Dfvk>Kk`t0SA zDMB_g5v$K$4k9(1>@ypWy(}`vkYv-4eh9(jM?bu(jMm_{8_9z3jnrsus>TR!4SQ9> z#|8P*H(e2KGSSDUqVTh#O08LmUwe#=Q>6xp$t_L|pN_(>*!W?bgpVRSsB%es$SrwN z($8N6QCp$kwPe3Utkde$27RWB5jCZ+W^#)^tN~ay90m&R|iLFgYG#Jg6Cq2H@p^0h;w{B4T4aARa z#Vd8jBnwq%P(>*PQ7l0wjSl=V8)iPu=%Bqj!{JyOz$%5h5injjL<1udVqDhK7XHG8DBHUTADrgoB{rSgSVgyfk6 zV9=N>^;w?QoNv}3*4SFRiC(41I zGQ|U*OwT9>HCo3ah<1SF;=}vt4?jnXRP=+`5S^T!WbId?ai z`zdhB9PnOlSkmo*f#m7EQcLDoL~zR-fPRJd38;2`QbMH0(HP1a2Yjse5X$+uL>xLIsrUegK;IH^+`z59 zE|OaBnK?Rh4b~wnQd;j(74$X}@@z=sXBsX?n|!gBV3t19yF3mIL-=uduoZ4l4tkfx zaXBOn83`p%s08OO)mAtvlF66EWJ+XRrZf(|!K}xbSqEicKU~i>GZ0L$ZtkoI{1@$! zh~FU@y;$P7;C93kq~|iSx(p#E#w0y;of!XX9LdXORE9K&&Gr?zZFa~kt{IkRb z-z;IQSk4@PN}tADJQ!GRQ7oL~C8dHT27GEGdLw>eD@c-H_UxeaJQ=uK7(mnHQNg`o zoKYJUqe;=|bbk005KWX4u`r1~CjkvpW5kFR>tVRXC|8%1fW=G`zRZU;%xD#+RTx35 z@h+i*yzNDYAohZl#l5n9`;LO2Eq(@50 z6Y_UH6wOp%q|fvWbvhqFWw8oy$r8rg5p%jxSPu2W4~$du@Wqm-1AS0`17@t-p>J>q zs))u6E5>L@A~TG|FFeMn)bXZ7jVeAttH&#|w7^3%7?V25XiRg!T@nkKNS+`o``!{P z11mYg+)&tA@E$V6o1I??WOr;7;UEVRC=sRv_Lf^V9CA8(u;fabwA?G90p|k`s}6Xc zOdm>mZHXzLjqEU>PE;|E=0J9vm|$lUg66}AVfa{;3a^t#(HfuHk*CibkyvI*3B5aC z-?7#ceQ3zeDfnBTDW(H0SmQx{>%BNwCQ+2^Gyjg5h;o68_#iIjFg9!|;6M~H61a#D z;^5ywTFTU-Yc7N35gv_OiYCDjrxj)-7yv{k>9E6wxO<%>BNXBAI<6t;F=+XD!l^=~<^t8f;UjOj?zm zS)2piNlXBuNS@%)o%aQqvmpkV@`YP-zOp25RPDv1Tgk|#E7aaPNc?2uaW#QYuWOiWl4#;OMz3>yHmt*ew+tvc41 z1~0-+7<+b5g^Z32*p)RMXT3j0p{W|AU{{vHSy61{BxPilT;yUQICH<5;z<~?bnoTN z*nlct!`4M_5*8BGwh{{Y~z(+Effz=1$4GS77NM<`GjajKO8dYhT z0@-#E?G{m=pq7%%Mw;>P`H_Rd$fki%nRqa<0<*|v*k+ ztj}>ar^G-JvGG3}YB(#MxSfqe;sY8SpIfHHs>~@d$|R$sDWn()T*L<^0c-pz*qn;e z@t)h+T13{!#5D^C){32ZaI-Nu6shR~6Q#D}cob}J%OC0O1+!rZ(=X-?bT)tu!W@{n zG#cY6rb1bGf0z)9b%+Eub~h%(k;cqez)>b>^huZ`YSghxBev$08hs2FGaO`=H8Qfy z8i+#RC^RW01v~$k1H~8&QA*6O%(3`E9sDYn(qwd$jTi~+#RupblXqv8lO;>=$Pxyl zcfJZ>b+q7My=Q|AXMK;2j*;Fb1Vy1!2~NyLQftIQ@(2w(A862e0>(F{1i=uPcVpfJ z=P?|qKaS`~$*$tSl6(p~%o5;_c7sU*KLMcC)53!QWo6&4h@Jlj(ScDp3O~ zf&rNmbb=iRVna|HrHoRURZbj9=7`8RbHIBwdHOMJq-4LTjq|Bch2y%D$cbc=r9g-h`|nzI zrpHk=iXsYpxV+3|IkRP?l@wM;FA0D&&f8;VK?NQX$6ifz}kA)v3e`k-6lF zS&*~TY|Qpg+El?a1@$;7O4Vr^0ZS3e!aAGaXnKjwKu&USdLZVt(; z_h^&Ooeeq|*pPwJ33m|E>MzL5EWyG_FV==bl+uP_Hfl6VRg@|bYv&F$VP*&8Xn`C% zey|%7&T(6Gk{3jF5<_%K4&)Meh|Jz+Vk{{>5=x$sqw^tLW{pZTFQ^z5!2J{*pAf?STho~K^$amjRPLmdsMFTh4x5;K^KXgA0)Kg3YJGk zLA{;z;HBe(l-6iqWW5I`%MvP1Ih!;pBN`O6(@=bhGc`2DYU8z7Ql(Q))(1>v^d`*f zv9E06heRdgy@r$pt-|V(FyvAuCutf2eo>laI#`YEq(m(XFyY4sagGwSBovWl!0%~` zDaNRxV?fA8orELVSnQ;gZb3{3%BGx9NNlRo8BzQO7Bt0jLyJ$;q6bpKOJ)u*MXOl= zc4+C_b=C;N33rSIXeSKIXLJ}=jRjgWY2I=G-hn7$0!So2pp(Q`*_||NCXkH);9?UZ zTSk+~k(aS4zR3vAR`npMgsp?(W#$5{O1V&XCRYJe)9=lfB1;+5vy?M_pH`z2d>jUC z%*_g4ICYkTV11-hW`+`;4pL^y0ckTmqe(m8&9Dq@D6wUfL*~GGSYefk6-hXpXLQ`I z8%j$Lj?7IPv7ANURDT}}lbAe`OP(a^$kaC8r|v9lc-2WCv#`~uaM%z2!qK*!Ab>R{ z32J?iFmzCD@M_flkdogane$;uW&?+pp!60mf=5Z-391-;s8U!8b|8l|8kk8RX#|5Q zATtAtXLnrrlrhrV=dp68xErxWjF-0a}o7n*q9s?}+9jXr+Vl~jv zLR4u}m5GV!&|on{A7wOPUWYes?1kBhiI;k;F{LlG*ak}DMPsZPX=1rZQd>f$F)_Er z>p@a!tRa$=LYP(+6ll#=2+|qwK37h^z$QRSh=c!v}H^j1BezCf56G@nEKD z<-(q_#fKZdl@ou?7BAMYten_Ww)j}ut(BD}AY0tHZ?H1s&)MR|TZT||*=QL;LQBh# zJY`E7@UfN(_aDeZ;)cOR@{~^k)gsx3c9KD2WLzcEFyejK}O0NXlkR|ylHL6Ih4cW?D z3C={1jh2l;-0emY!OHqzXWL{bsMC^8G@s1j5^Hi`g0ifk0DGJfoGr$gl_YY`9G)%KV#SDT#jtF#6f|kI z1d*=|;a^~GV~Vy}*pUB)j3jNsHWLXcTN&6iNs+w`AzRD^Rl{Gg)*-kAF$a6pe=!@F zwtOyDVzx4|^^amXY$@4dZ&e0&B_exU%D>Fsj$07Alz+`Jh~1JXyI@2jC0nvf^vfm> zybsM3oGr%EURab_8v34W*&+;Ih6E$N9!c9P&Q_S&!akC)E89+Sw$)@^{BbwF=X(vOvdjTHOM>^7ve{7Y{5?xq-R?*LJ(|f>LZ2B9p6+FdZ#MQS|SJP%^VRdGY2q^PIv0b&f>MS6Us~ux0rp9dL665);N&fHi)V> zMA&zr{kJH5qg;tk#jw?E$unBBm267U;sugSF@zu|OW&Lwgs`$=>(fl1;+JUxtV{R? z6V8_4qXO7_6h8K*^k*;hu;VTcRGzt!B0s)cBx%R*kvfyZlz0Had(%;&NPM0GyQAh< zONI#=GmZ$62+p&2tMN4;h!AAN>ds4#gLFSk+ zKS%PRc11RV)mpid;PYX4Jq-ICIE9%xL!tiOJ5M3Hv@qNN ztT{ViWsHuZJtMlHZ8(3gPa-suNuHG0dV$$EX`;3|01w-s_i_>Rb2vy#7i@7k&o>tR z4eu{4x7gsJAJ%kcGq&dhNMh@u0q}4>iphHVfFzfEg^F!jG0pL)7}UnoE1p`jC2f@B zqq@>)#GInDtzKs?GfRd@E#}UO=ahxz_=WVu1=vU*QK!y_V3`hefB}BH)cW4GgvK^j z9auEJW`hk|q!(_;&EQKoPD>%4D6ynxSBVHJU5r7eRq@Z_;YS`d*wrMriSG^Bp|G#& z-~his;}_v<2;RI62&LnHc=a}bUW2skf3hrvd~rHKh^)l-8R;i>9lqVhPR3YcqVP6p zX&m9a1I;8Pm}Gj!_y#{##u|*Z!0Zb}%1EOj1*blg_|_PPb|wrB@rgp4I2c(Z81y!Q zIC+zR_lJyWVz^F=BL_;AS`8Oz&Jv9GZ_>rem8(P?0rM zXNZYGA#7M#L-i(uPAn7#pC}Mc-B^Q0haQgaU4jg^lmk{~OX*#>D4mD7RJ)(v4asW z03CMd2a97Jpxa?AX8*x#`HU?SQwkGVT3vdkIDGiZJ9q1#;e+#+;gdz(!f4qxJ5frS zT9bgNHTKn32ZBhW@q8?)Xq<=b#X2;g=j{*&)JTG=7T?>!QXkgiu%$^~|4GDpfW|Tc zV)|D`Ir>JP{R9xlK7o}FLub@6YmxMxrGp~UDHm|~9 z+VRBEo~lR;`pT}222rSB-`Zi!avc`TWM!Po<&!Yd1G63Mpb@nK3$Dond! z90sNAV>K$Bsi6+DPE!($-+)CXp;)GJqVFvX7nmd19*={0$zX(C`pnxs~#p`G|FNB2T6(ov8gG2!m5^c11 z?{4nq?cH7NpWNIo5?=tQDDxpGXy7a4D^Sw$36S{BA0Lm;IcuN$(vTaywS7F}@z@^Q zOKa;;N)BC6WdI+oNWGM1F0;z~t1ZZ~&d=+swf z%bW>RIl{CiCt)UcW!zxJjQ23;J1uDG&KkUeH)aEKj6z{sB#*{|)O0vLX7$!M!ax$E zz`OgG{-g>uoaoZ@))Wca$P1}nI>ZwVrP!0VXgKHt3;YYkqU@?qoIw^+Scowk#QApvdhw;+ z&OOO5C!*~Egv{e0^C%)L1!r+3h;KkcOovLVmcz@6;xV*!M7?`B$*j$CL<35t^{z_C zY|TQTYh}@n){=rsLY)3UJW5l2vSQLHvy*#+71}u{xro~f{bg*riz}Ft+SVYRVJ|RW#BZc*afx`0LhOsu656hMVLAz111GC zdt`gcQG~ocP+!t|CXjeYr<0Z>z^97}1EJT0N^@(#g~xvY4Kdw;w&diktW4DbjRrdQ zRP76&xJ1?61e2zPI^MGO3G?QJ`d<|2>K^)Y^zIx4$cdZZIAgL9*iP1j+x;!in7kC# zKd+eFFJ9yML|)?5CkXvg;m058TCKa`j9Jb}Uim#jJ#SGe`tv2*;^;B4-ZfMrwbdxF z(PXkYqP>JNdzV}07ego|`CARD?Xw5+^h92dY&3-Y@zEe64Kl3wjZfXN-+hlL8xA&k_)GCi>d1{BN6sI<7&99VE1JkI;rJ~(1sZWoL$X}Oy{TAZtI zynQmv3r2^MmHdZh>s3Rby@Qu{@LLP432fc;zo$zkXIvEIGqJhY?~(d7ado8DVv;^; z3#9(4kWga!H)z!9ONEXyBZ$fbvydb^P2Y6{L0EqShy3W)YT&qKJESg!B^ z+pSMJL)nX68sx${E}ztijrqZ`94@F+7I77!;Ro@7ygH`B^qfyWoOX-D>2814h+B5b z`&_t0>cp~fVPB{c;uimXhQYcur|VXbzMmlzyL~;&YzifptpVR-1Ipmnsb2xiaP$_# zyX`8WunCQ~!NilrZi$bjN`rZ^V;FdN^;=+U8@0R$A~nhgQ%V?mEi{R_2}z0vN|f4L z6pFsQ(eb5;pW%s6V(c0&yyGBt35j9a_UPhU=^D+T64MBG-erQva?GYU)|l;oUOmpX=`Qhi&8T?d6Dtt@%hIZ3A3 zBKK@KO=h~;;N0ar`3aH95hMCr&Qrys*JLJNeTl{5gN+VkYAbmsSAX3*ognY8N zKhRS003yp+q>#M-;ADyB6|-;j>7H=6+QMNSE}N~|{d8xhtJOI%+%wo~XyUZT+ys@M zQ|ye_MzAF0%Lc7|pY*w3h(wWJ zUEj5)M+S))R0HE7(;V8?s-@`|*HqhQSbbfJwHCDALbirTE6vc%)(5Qscy@RLZHIA`RS?ud=$B;R)wDZ!-FVWlzGJ`n9mZ zyLf;vxsTpp!wIGevoAK-tTPD})b+32$thR)>2A+Lp3@)>v``JCL6%zlz_GkM1A$Up z?vQX;spGfOkn#uz=bDi1p-%4Iv{!2-Ri`Tj2hLu}5tvk=vMg=DgIvhq!<*nPSf4Q$ z$xp(YQI15}#Ui_NL*bt0EDUR-02OxKdsL?GMO? zB~y=X{3+m{L}E+p;S4}38e^=#*)q;1>lC3fNkwuXXEt76Av&cQahd)mm}M_FSe$0` z6CXnv&P?46GD~tSQnEKMKx{Q%scrv=6J_^dBv0Gq;gQoUCUW3B#7J*L)d|fE7*-+F zzEYbpW55{LG!x6zRs%%+wu3>}*1u*I+H&pFH6evzR@>>qq>c9P}(cACuvvVT48aMS}8GR`xeFC$o5mzT4@VCE^?IR z&5IlD>qn)Ha!{C>z|NWvN}g7<4in{G)lj^7b!&Q(5e2o(-+~EInKLRgeth$4+El`g zg!5ulLiqMADlt@Rjfxp&kg`~$wR8xR63x_WqarN%&ABvG?Trc;X3(NqC*G4a$jZ)9 zA^8*N=kL(VfrXNFgqXB>7*!2iD00CyP7K=QiYzU3`a)CG@y|mMR`wtWG1d(2Ew|lj z+{h9%1v{L9we2JeZFu59(vCkt8!uY+1TNuFX^o!b0-s#Vu5hu;2(~g|9yMc?J&2+P zKTuYo#d<@QkTh z8Q^7SyIo;F#ZPuRp7LTeaU-{z&PNVOc;rQvZrJp1FSj*AgqTe@9H3^| zlisKIegW>ox<6`d)dx@63Rm<&H$;O7TP&)C8`e9iJBKuKB3o(5oC#bx!cl+QqCUQI z%=~9-_4Vl`vYYpR-0TL+(Zvm?u$Oa%-iJG-Z5<5s>)f{rpaFMq;4`K>q z0WG7|2AdtnTYGgl zn(e?aN>f&9f7;w%j{J|ly!Iq`c(qk{lHYyR$zI=Usq~gm2GAjC~?0ezDU$4|}fh9eueL7Bv-8$C)WGfWkP@z}Hm@q3}emkrHUdN`YaW1lT&3R9I8?wpBE>X2=omu3(;TNH(o+JQe=oJ zxh*kx!}UPGe_X|E{^+dwc*oY#-s-WLqX z@>c|*3em^?5<>-cs+Zb?6>@DVr6HkyTd)t znC_TV&v&G34s1f?!R+1Y0hdxWawl>__C)He0leoC274{iLt2Gat8?oTJF2y~r%6E_ zPpzpd)*9Ftoi&5^>;t$DYdu?n?k=_h&_#R}?YTt(&k^0{v`Qb@dV(TYeuj?D`K;V} z@4k4&maSTditTviD(^V#mYg<7U>FHsIda6*Bs8sGf9F%=ETA-g~~I zjttMV*iFA~JkDw7a=&^f@S)F;&BBYMY+qK>N?iki;A@|9*UUv!q+8Ae&KyCSv|rIJ zNXXmqA#wSOcE47`7Fe5R_N~sWcaZFcN(w56T7!SopwucfFZ}VHbA`8kO{^BW^-Q}j zPm=A1z2|IK{8aB%dp$2^gQOT$(bD2>*^RAIpgSi+NpeW+XU8RCK^Jw-m6&~eG zAj*+hB7l27a#AfnI{UTiu9J4!vjJGd!?>@JoA#JOZ3@$^+b73jEvp{VnB0s`R}WrIo~lhvmO)kh?Xyuu84_JYea=G6dRYIJn_OKd1MWQc&8e zz5UbL`|EwF_USRdEaNrT{eJn{mJ~O`Dk}cWTyIseYh{9N1L>HJ%3>El`BmJS4+jAbc2f3`9=5R}Om@c*3Mf zzx2CxTn*S_KwCX>>hlOODgP|VU{s7vWb?Rirs?I8Hg7eXu+=V`WHc2}ZAFYG$=IkX5@O^mJTEcjv z_qtLY?3Pzxl;*)#-VN7CUuy)vTdy&emSM@AlKtg~uK-R3I#--%o;VI=08X1bQmXJwXhZCQ_9-tp$ImWzQU~b09|Z;7j`Mz}5YZQ&$|T zb=h)vjbE^G$)y_LEWl`TH|fP0 z?fqhT+}G9=OI3sJ5q;u?r>;THy-zAC2PxVW^|VQ0wGY|{T^MuCN<1yAqOnFq6;4Twn3O4NP7dEBcZLm z-I&c#;7LZ;`fK{9pUP#s3U%YmsT>0pTPF8`UuNw`N|~IlkqlD(*3oQ2(lw<_OiD3= zS_iL#;{BRmz~(7nd!N608 zmscQiIYV61oqW++L3_LM=>$Z5ST~WaUaVB(IvT(f3_Wc@>pp0`5kRt6uE6I^l%6BVhxVfpueYmD1XOc~EQc3{t?-ZUuVeMf#-va{AadQc?Ax&IEwvh|UQunN<2k0=`UOAhp-E zy&opP`>;+Vt$AryJ{Y=IrIh-rv z`~5b?@z?sQ(yrV6PIeRWqpP!)P#U5JR!X4N+H2Sddw@(~GCxm;rOE=!kHWSTz_DEC zAmAQ)a_MVn6yWt2Xj#+Mg=Q>2IeIo9&rjuA-{&a54?md)vHyW6MxV?L@7|#Ckc#2v z`YH?%8!{lUz^vL7LmSW{K5K^(AWC?k+tv~etvl@uu2C($)gv4}39yVJrRV~owaaoW z2*iv)CPk@1i-PhwM*1+mo~0W<^Zy=xd;HDmcZ*+r^{4M>%3uBW`7bXYy#MiwS1(R@ z`rEI6N{IJ(KHKfr&!7GK?Z3Uad;OnZ|KqJM|GWL>k00KA{m-9#^U?W-|8m&FpAFaZ zU!IQ3mvTPHD(0p8)%XJ{cuZnHe)0Y!?nKx32z)n1X8cP2=QHw2mbYf+OWD5m`ux4G z*LB_q%r*Wz`-}1AZU3F*&+qkAI&%Kq%z2~eNBn&M*|V>H% { let result = render.parse(); if (result.trim() !== expected.trim()) { + const diffResult = diff(expected.trim(), result.trim()); console.error('test failed on:', caseName); - console.error(`-------------------- expected ----------------`); - console.log(expected.trim()); - console.error('----------------- expected end -----------------\n'); - console.error(`-------------------- actully -----------------`); - console.log(result.trim()); - console.error('----------------- actully end -----------------\n'); + console.log(diffResult); + // console.log(result); } }); }); From 52d21df93fef6a3181ac148d912e08da5ddeeac2 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 4 Jun 2024 18:16:29 +0800 Subject: [PATCH 5/5] Use HTML tag for text mark style. Fix #10 --- feishu-docx/src/markdown_renderer.ts | 12 ++++---- feishu-docx/tests/fixtures/case0.expect.md | 9 +++--- feishu-docx/tests/fixtures/case1.expect.md | 20 +++++++------- feishu-docx/tests/fixtures/case3.expect.md | 32 +++++++++++----------- 4 files changed, 36 insertions(+), 37 deletions(-) diff --git a/feishu-docx/src/markdown_renderer.ts b/feishu-docx/src/markdown_renderer.ts index 8838e40..f1bc4e6 100644 --- a/feishu-docx/src/markdown_renderer.ts +++ b/feishu-docx/src/markdown_renderer.ts @@ -344,14 +344,14 @@ export class MarkdownRenderer extends Renderer { let escape = true; if (style) { if (style.bold) { - preWrite = '**'; - postWrite = '**'; + preWrite = ''; + postWrite = ''; } else if (style.italic) { - preWrite = '_'; - postWrite = '_'; + preWrite = ''; + postWrite = ''; } else if (style.strikethrough) { - preWrite = '~~'; - postWrite = '~~'; + preWrite = ''; + postWrite = ''; } else if (style.underline) { preWrite = ''; postWrite = ''; diff --git a/feishu-docx/tests/fixtures/case0.expect.md b/feishu-docx/tests/fixtures/case0.expect.md index 6dd3943..56ef896 100644 --- a/feishu-docx/tests/fixtures/case0.expect.md +++ b/feishu-docx/tests/fixtures/case0.expect.md @@ -35,9 +35,9 @@ Feishu2Md 已开源并发布在 Github 中:https://github.com/Wsine/feishu2md -**下载 feishu2md **-** **得益于 golang 本身的多平台编译特性,我已经为 Windows/Linux/Mac 都预编译了该工具的可执行文件,可以直接从 [Github Release](https://github.com/Wsine/feishu2md/releases) 中下载,从压缩包中提取自己平台的 feishu2md 二进制可执行文件即可,建议放置在 PATH 路径中。 +下载 feishu2md - 得益于 golang 本身的多平台编译特性,我已经为 Windows/Linux/Mac 都预编译了该工具的可执行文件,可以直接从 [Github Release](https://github.com/Wsine/feishu2md/releases) 中下载,从压缩包中提取自己平台的 feishu2md 二进制可执行文件即可,建议放置在 PATH 路径中。 -**生成配置文件** - feishu2md 需要使用飞书的 Open API 提取飞书文档,因此需要配置相应的 App ID 和 App Secret 进行 API 的调用。首先,进入飞书的 [开发者后台](https://open.feishu.cn/app) 然后创建一个企业自建应用,信息可以任意填,发布但不必等待审核通过。然后在创建的应用页面中,找到「凭证与基础信息」,即可找到 App ID 和 App Secret 信息。 +生成配置文件 - feishu2md 需要使用飞书的 Open API 提取飞书文档,因此需要配置相应的 App ID 和 App Secret 进行 API 的调用。首先,进入飞书的 [开发者后台](https://open.feishu.cn/app) 然后创建一个企业自建应用,信息可以任意填,发布但不必等待审核通过。然后在创建的应用页面中,找到「凭证与基础信息」,即可找到 App ID 和 App Secret 信息。 @@ -51,7 +51,7 @@ Feishu2Md 已开源并发布在 Github 中:https://github.com/Wsine/feishu2md 将 App ID 和 App Secret 填入配置文件 config.json 中的相应位置。另外,image_dir 配置项为存放文档中图片的文件夹名称。 -**下载飞书文档** - 通过 `feishu2md 你的飞书文档链接` 直接下载,文档链接可以通过 分享 > 开启链接分享 > 复制链接 获得。 +下载飞书文档 - 通过 `feishu2md 你的飞书文档链接` 直接下载,文档链接可以通过 分享 > 开启链接分享 > 复制链接 获得。 @@ -69,5 +69,4 @@ feishu2md [一日一技:飞书文档转换为 Markdown](doccnrOvzeQ8BSnfsXj8jw 由于 lark_docs_md 是使用 golang 实现的,因此这也是我首次使用 golang 进行开发。对于开发小工具,整体的开发体验非常良好,而且还能编译得到二进制以及享受多平台编译的好处。工具可能还有一些不是很完善的地方,如有问题可以提 issue,我有时间会进行修复的。 -最后,欢迎试用,欢迎 PR ~ - +最后,欢迎试用,欢迎 PR ~ \ No newline at end of file diff --git a/feishu-docx/tests/fixtures/case1.expect.md b/feishu-docx/tests/fixtures/case1.expect.md index fe5f1de..d36cbe3 100644 --- a/feishu-docx/tests/fixtures/case1.expect.md +++ b/feishu-docx/tests/fixtures/case1.expect.md @@ -4,7 +4,7 @@ ## Overview -**Markdown** is created by [Daring Fireball](http://daringfireball.net/); the original guideline is [here](http://daringfireball.net/projects/markdown/syntax). Its syntax, however, varies between different parsers or editors. **Typora** is using [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/). +Markdown is created by [Daring Fireball](http://daringfireball.net/); the original guideline is [here](http://daringfireball.net/projects/markdown/syntax). Its syntax, however, varies between different parsers or editors. Typora is using [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/). [toc] @@ -103,13 +103,13 @@ puts markdown.to_html ### Math Blocks -You can render _LaTeX_ mathematical expressions using **MathJax**. +You can render LaTeX mathematical expressions using MathJax. -To add a mathematical expression, input `$$` and press the 'Return' key. This will trigger an input field which accepts _Tex/LaTex_ source. For example: +To add a mathematical expression, input `$$` and press the 'Return' key. This will trigger an input field which accepts Tex/LaTex source. For example: $$\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}\mathbf{i} & \mathbf{j} & \mathbf{k} \\\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\\end{vmatrix}$$ -In the markdown source file, the math block is a _LaTeX_ expression wrapped by a pair of ‘$$’ marks: +In the markdown source file, the math block is a LaTeX expression wrapped by a pair of ‘$$’ marks: ```md $$ @@ -208,7 +208,7 @@ This is [an example](http://example.com/) inline link. (`

This is @@ -60,7 +60,7 @@ yarn add feishu-pages -

名称

Description

Required

Default

+

Description

Required

Default

FEISHU_APP_ID

飞书应用 ID

YES

@@ -72,9 +72,9 @@ yarn add feishu-pages -## **Usage** +## Usage -### **创建飞书应用并开通权限** +### 创建飞书应用并开通权限 1. 请访问 [https://open.feishu.cn/app](https://open.feishu.cn/app) 创建一个新应用,并获得: - `App ID` @@ -93,13 +93,13 @@ yarn add feishu-pages 5. 在飞书 IM 中创建新群 `Feishu Pages`,将应用添加为该群机器人,知识库管理员在「知识空间设置」-> 「权限设置」->「添加管理员」中添加,把这个 `Feishu Pages` 群加成 管理员:。 - 否则会遇到 `permission denied: wiki space permission denied` 错误。 [ref](https://open.feishu.cn/document/server-docs/docs/wiki-v2/wiki-qa) -### **获取飞书知识库 space_id** +### 获取飞书知识库 space_id 我们需要配置 `FEISHU_SPACE_ID` 的环境变量,这个为飞书知识库的 `space_id`,你可以访问知识库设置界面,从 URL 中获取。 例如:`https://your-company.feishu.cn/wiki/settings/6992046856314306562` 这里面 `6992046856314306562` 为 `space_id`。 -### **环境变量配置** +### 环境变量配置 Feishu Pages 支持 `.env` 文件,如果执行的根目录有个 `.env` 文件,将会自动读取。 @@ -107,7 +107,7 @@ Feishu Pages 支持 `.env` 文件,如果执行的根目录有个 `.env` 文件 如需在 GitHub Actions 的 CI 流程里面使用,建议添加到 Secrets 中,再通过环境变量的方式获取。 -## **从知识库导出 Markdown 文档** +## 从知识库导出 Markdown 文档 ```bash cd your-project/ @@ -116,9 +116,9 @@ yarn feishu-pages 按上面默认的配置,最终会在 `./dist` 目录下生成 Markdown 文件以及导出的图片文件,如果你期望调整目录,可以自己设置 `OUTPUT_DIR` 环境变量。 -## **常见问题** +## 常见问题 -### **Rate Limit 相关错误** +### Rate Limit 相关错误 > Error: request trigger frequency limit @@ -167,6 +167,6 @@ yarn feishu-pages -## **License** +## License -MIT +MIT \ No newline at end of file