feat: Complete HTML-first architecture implementation with API integration
- Replace value field with html_content for direct HTML storage - Add original_template field for style detection preservation - Remove all markdown processing from injector (delete markdown.go) - Fix critical content extraction/injection bugs in engine - Add missing UpdateContent PUT handler for content persistence - Fix API client field names and add updateContent() method - Resolve content type validation (only allow text/link types) - Add UUID-based ID generation to prevent collisions - Complete first-pass processing workflow for unprocessed elements - Verify end-to-end: Enhancement → Database → API → Editor → Persistence All 37 files updated for HTML-first content management system. Phase 3a implementation complete and production ready.
This commit is contained in:
@@ -134,24 +134,13 @@ export class InsertrCore {
|
||||
detectContentType(element) {
|
||||
const tag = element.tagName.toLowerCase();
|
||||
|
||||
if (element.classList.contains('insertr-group')) {
|
||||
return 'group';
|
||||
// Only return database-valid types: 'text' or 'link'
|
||||
if (tag === 'a' || tag === 'button') {
|
||||
return 'link';
|
||||
}
|
||||
|
||||
switch (tag) {
|
||||
case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6':
|
||||
return 'text';
|
||||
case 'p':
|
||||
return 'textarea';
|
||||
case 'a': case 'button':
|
||||
return 'link';
|
||||
case 'div': case 'section':
|
||||
return 'text';
|
||||
case 'span':
|
||||
return 'text';
|
||||
default:
|
||||
return 'text';
|
||||
}
|
||||
// All other elements are text content
|
||||
return 'text';
|
||||
}
|
||||
|
||||
// Get all elements with their metadata, including group elements
|
||||
|
||||
Reference in New Issue
Block a user