feat(import/markdown): preserve trailing semicolon in figure style

This commit is contained in:
Elian Doran 2025-04-05 12:37:06 +03:00
parent 8cb10764b6
commit cdb5ebb080
No known key found for this signature in database
2 changed files with 3 additions and 3 deletions

View File

@ -164,8 +164,8 @@ second line 2</code></pre><ul><li>Hello</li><li>world</li></ul><ol><li>Hello</li
}); });
it("preserves figures", () => { it("preserves figures", () => {
const input = `<figure class="image"><img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991" height="403"></figure>`; const input = `<figure class="image image-style-align-center image_resized" style="width:50%;"><img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991" height="403"></figure>`;
const expected = /*html*/`<figure class="image"><img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991" height="403"></figure>`; const expected = /*html*/`<figure class="image image-style-align-center image_resized" style="width:50%;"><img style="aspect-ratio:991/403;" src="Jump to Note_image.png" width="991" height="403"></figure>`;
expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected);
}); });

View File

@ -100,7 +100,7 @@ function renderToHtml(content: string, title: string) {
html = htmlSanitizer.sanitize(html); html = htmlSanitizer.sanitize(html);
// Add a trailing semicolon to CSS styles. // Add a trailing semicolon to CSS styles.
html = html.replaceAll(/(<img style=".*?)"/g, "$1;\""); html = html.replaceAll(/(<(img|figure).*?style=".*?)"/g, "$1;\"");
// Remove slash for self-closing tags to match CKEditor's approach. // Remove slash for self-closing tags to match CKEditor's approach.
html = html.replace(/<(\w+)([^>]*)\s+\/>/g, "<$1$2>"); html = html.replace(/<(\w+)([^>]*)\s+\/>/g, "<$1$2>");