Merge pull request #9082 from streetwriters/fix/checklist-txt-export

Fix check list text export
This commit is contained in:
Abdullah Atta
2025-12-23 12:05:21 +05:00
committed by GitHub
3 changed files with 67 additions and 2 deletions

View File

@@ -1,5 +1,39 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`convert HTML to markdown with callout > html-to-md-callout.md 1`] = `
"<div data-block-id="rhV2uFhw" data-callout-type="success" class="callout"><h4 data-block-id="bFvPV3Vx">Hello world</h4><p data-block-id="5p4vIFMh" data-spacing="double">kjsbva</p><p data-block-id="ltfvam7i" data-spacing="double">vadvkjabsdv</p><p data-block-id="bGYLgeJA" data-spacing="double">dvjkasbdv</p></div>
adsvjkabsdv
advjakbsdv
"
`;
exports[`convert HTML to markdown with checklist > html-to-md-checklist.md 1`] = `
"oeee
- [ ] 123
- [x] 123
- [ ] 13123
- [ ] 123123
- [ ] dskjvdskbv
- [ ] sdvkjsdv
- [ ] dsv
- [ ] 123123
"
`;
exports[`convert HTML to markdown with codeblock2 > html-to-md-codeblock2.md 1`] = `
"\`\`\`
hello
@@ -250,6 +284,35 @@ Nene
"
`;
exports[`convert HTML to text with callout > html-to-txt-callout.txt 1`] = `
"HELLO WORLD
kjsbva
vadvkjabsdv
dvjkasbdv
adsvjkabsdv
advjakbsdv
"
`;
exports[`convert HTML to text with checklist > html-to-txt-checklist.txt 1`] = `
"oeee
☐ 123
✅ 123
☐ 13123
☐ 123123
☐ dskjvdskbv
☐ sdvkjsdv
☐ dsv
☐ 123123"
`;
exports[`convert HTML to text with codeblock2 > html-to-txt-codeblock2.txt 1`] = `
"hello
"

View File

@@ -66,7 +66,9 @@ const HTMLS = {
outlinelists: `<p >Testing outline list:</p><ul data-collapsed="false" data-type="outlineList"><li data-type="outlineListItem"><p >My outline list</p></li><li data-type="outlineListItem"><p >works</p></li><li data-type="outlineListItem"><p >but sometimes</p><ul data-collapsed="false" data-type="outlineList"><li data-type="outlineListItem"><p >It doesn't</p></li><li data-type="outlineListItem"><p >what do I do?</p></li><li data-type="outlineListItem"><p >I need to do something!</p></li></ul></li><li data-type="outlineListItem"><p >Makes no sense!</p></li><li data-type="outlineListItem"><p >Yes it doesn't!</p></li></ul>`,
codeblock2: `<pre>hello<br></pre>`,
singleSpacedParagraphs: `<p data-spacing="single">hello world</p><p data-spacing="single">hello world 2</p>`,
leadingWhitespaces: `<p data-spacing="double"> two spaces</p><p data-spacing="double"> four spaces</p><p data-spacing="single"> two spaces</p><p data-spacing="single"> four spaces</p>`
leadingWhitespaces: `<p data-spacing="double"> two spaces</p><p data-spacing="double"> four spaces</p><p data-spacing="single"> two spaces</p><p data-spacing="single"> four spaces</p>`,
checklist: `<p data-block-id="LlD6Pi_R" data-spacing="double">oeee</p><ul data-block-id="FUPM5oKG" class="simple-checklist"><li class="simple-checklist--item"><p data-block-id="yDA1g_Vv" data-spacing="double">123</p></li><li class="checked simple-checklist--item"><p data-spacing="double">123</p></li><li class="simple-checklist--item"><p data-spacing="double">13123</p></li><li class="simple-checklist--item"><p data-spacing="double">123123</p><ul class="simple-checklist"><li class="simple-checklist--item"><p data-spacing="double">dskjvdskbv</p></li><li class="simple-checklist--item"><p data-spacing="double">sdvkjsdv</p></li><li class="simple-checklist--item"><p data-spacing="double">dsv</p></li></ul></li><li class="simple-checklist--item"><p data-spacing="double">123123</p></li></ul>`,
callout: `<div data-block-id="rhV2uFhw" data-callout-type="success" class="callout"><h4 data-block-id="bFvPV3Vx">Hello world</h4><p data-block-id="5p4vIFMh" data-spacing="double">kjsbva</p><p data-block-id="ltfvam7i" data-spacing="double">vadvkjabsdv</p><p data-block-id="bGYLgeJA" data-spacing="double">dvjkasbdv</p></div><p data-block-id="bc4ZNPBt" data-spacing="double">adsvjkabsdv</p><p data-block-id="APDmF05I" data-spacing="double">advjakbsdv</p><p data-block-id="5p4vIFMh" data-spacing="double"><br></p>`
};
for (const html in HTMLS) {

View File

@@ -388,7 +388,7 @@ function convertHtmlToTxt(html: string, wrap = true) {
selectors: [
{ selector: "table", format: "dataTable" },
{ selector: "ul.checklist", format: "taskList" },
{ selector: "ul.simple-checklist", format: "checkList" },
{ selector: "ul.simple-checklist", format: "taskList" },
{ selector: "p", format: "paragraph" },
{ selector: `a[href^="nn://"]`, format: "internalLink" }
],