mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-11-04 15:11:31 +08:00 
			
		
		
		
	feat(import/markdown): remove spaces in lists
This commit is contained in:
		
							parent
							
								
									30593eeeac
								
							
						
					
					
						commit
						1bf16bfa22
					
				@ -62,10 +62,16 @@ Title
 | 
			
		||||
code block 1
 | 
			
		||||
second line 2
 | 
			
		||||
\`\`\`
 | 
			
		||||
 | 
			
		||||
* Hello
 | 
			
		||||
* world
 | 
			
		||||
 | 
			
		||||
1. Hello
 | 
			
		||||
2. World
 | 
			
		||||
`;
 | 
			
		||||
        const expected = `\
 | 
			
		||||
<h2>Heading 1</h2><p>Title</p><pre><code class="language-text-x-trilium-auto">code block 1
 | 
			
		||||
second line 2</code></pre>`;
 | 
			
		||||
second line 2</code></pre><ul><li>Hello</li><li>world</li></ul><ol><li>Hello</li><li>World</li></ol>`;
 | 
			
		||||
        expect(markdownService.renderToHtml(input, "Troubleshooting")).toBe(expected);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,9 @@
 | 
			
		||||
 | 
			
		||||
import { parse, Renderer, type Tokens } from "marked";
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Keep renderer code up to date with https://github.com/markedjs/marked/blob/master/src/Renderer.ts.
 | 
			
		||||
 */
 | 
			
		||||
class CustomMarkdownRenderer extends Renderer {
 | 
			
		||||
 | 
			
		||||
    heading(data: Tokens.Heading): string {
 | 
			
		||||
@ -12,13 +15,23 @@ class CustomMarkdownRenderer extends Renderer {
 | 
			
		||||
        return super.paragraph(data).trimEnd();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    code({ text, lang, escaped }: Tokens.Code): string {
 | 
			
		||||
    code({ text, lang }: Tokens.Code): string {
 | 
			
		||||
        if (!text) {
 | 
			
		||||
                return "";
 | 
			
		||||
            }
 | 
			
		||||
            return "";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
            const ckEditorLanguage = getNormalizedMimeFromMarkdownLanguage(lang);
 | 
			
		||||
            return `<pre><code class="language-${ckEditorLanguage}">${text}</code></pre>`;
 | 
			
		||||
        const ckEditorLanguage = getNormalizedMimeFromMarkdownLanguage(lang);
 | 
			
		||||
        return `<pre><code class="language-${ckEditorLanguage}">${text}</code></pre>`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    list(token: Tokens.List): string {
 | 
			
		||||
        return super.list(token)
 | 
			
		||||
            .replace("\n", "")  // we replace the first one only.
 | 
			
		||||
            .trimEnd();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    listitem(item: Tokens.ListItem): string {
 | 
			
		||||
        return super.listitem(item).trimEnd();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    blockquote({ tokens }: Tokens.Blockquote): string {
 | 
			
		||||
@ -42,7 +55,6 @@ class CustomMarkdownRenderer extends Renderer {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Keep renderer code up to date with https://github.com/markedjs/marked/blob/master/src/Renderer.ts.
 | 
			
		||||
const renderer = new CustomMarkdownRenderer({ async: false });
 | 
			
		||||
 | 
			
		||||
import htmlSanitizer from "../html_sanitizer.js";
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user