diff --git a/markitect/static/js/components/dom-renderer.js b/markitect/static/js/components/dom-renderer.js index f4300cbe..d0e8bdcd 100644 --- a/markitect/static/js/components/dom-renderer.js +++ b/markitect/static/js/components/dom-renderer.js @@ -186,13 +186,9 @@ class DOMRenderer { element.setAttribute('data-section-id', section.id); // Add section content - if (section.isImage()) { - element.innerHTML = section.currentMarkdown; - } else { - // Simple markdown rendering (can be enhanced later) - const content = this.simpleMarkdownRender(section.currentMarkdown); - element.innerHTML = content; - } + // Render all sections using markdown rendering (images need HTML conversion too) + const content = this.simpleMarkdownRender(section.currentMarkdown); + element.innerHTML = content; // Add styling element.style.cssText = ` @@ -228,8 +224,10 @@ class DOMRenderer { .replace(/^# (.*$)/gim, '

$1

') .replace(/^## (.*$)/gim, '

$1

') .replace(/^### (.*$)/gim, '

$1

') - .replace(/\*\*(.*)\*\*/gim, '$1') - .replace(/\*(.*)\*/gim, '$1') + .replace(/!\[(.*?)\]\((.*?)\)/gim, '$1') + .replace(/\[([^\]]+)\]\(([^)]+)\)/gim, '$1') + .replace(/\*\*(.*?)\*\*/gim, '$1') + .replace(/\*(.*?)\*/gim, '$1') .replace(/\n/gim, '
'); } @@ -384,11 +382,13 @@ class DOMRenderer { this.sectionManager.updateContent(sectionId, textarea.value); this.sectionManager.acceptChanges(sectionId); floatingMenu.hide(); + this.currentFloatingMenu = null; // Clear reference }); cancelButton.addEventListener('click', () => { this.sectionManager.cancelChanges(sectionId); floatingMenu.hide(); + this.currentFloatingMenu = null; // Clear reference }); // Auto-focus textarea @@ -429,11 +429,13 @@ class DOMRenderer { this.sectionManager.updateContent(sectionId, textarea.value); this.sectionManager.acceptChanges(sectionId); floatingMenu.hide(); + this.currentFloatingMenu = null; // Clear reference }); cancelBtn.addEventListener('click', () => { this.sectionManager.cancelChanges(sectionId); floatingMenu.hide(); + this.currentFloatingMenu = null; // Clear reference }); }