From 4a1045b41ef31d702c6414bc5f5a36d4ab57ed77 Mon Sep 17 00:00:00 2001 From: Yuri Karamian Date: Mon, 3 Aug 2026 03:26:06 +0200 Subject: [PATCH] Preserve collapsible code blocks (#138) --- src/lib/components/Editor.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/components/Editor.svelte b/src/lib/components/Editor.svelte index 89cd122..bd9cdbf 100644 --- a/src/lib/components/Editor.svelte +++ b/src/lib/components/Editor.svelte @@ -3562,11 +3562,12 @@ return `$$\n${tex}\n$$\n`; } case 'details': { - // Preserve details as raw HTML + // Markdown HTML blocks end at a blank line, including one inside
.
+				// Keep the details element on one source line; HTML parsing restores each encoded newline.
 				const detDiv = document.createElement('div');
 				const detFrag = DOMSerializer.fromSchema(editor!.schema).serializeNode(node);
 				detDiv.appendChild(detFrag);
-				return detDiv.innerHTML + '\n';
+				return detDiv.innerHTML.replace(/\n/g, '
') + '\n';
 			}
 			case 'image': {
 				const src = stripAssetSrc(node.attrs.src || '');