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, '
')
+ .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
});
}