**Asset Deployment Infrastructure:** - Enhanced RenderingEngineManager with complete asset deployment - Automatic plugin source directory discovery and asset copying - File system operations with proper directory structure preservation - Comprehensive error handling for missing assets **CLI Integration:** - Automatic asset deployment when using plugin engines - Verbose output showing deployment progress and statistics - Asset verification and accessibility validation - Production-ready deployment to _markitect/plugins/ structure **TestDrive JSUI Assets:** - Complete CSS asset suite (editor, controls, GitHub theme) - Placeholder image assets for testing deployment - Proper asset organization following plugin conventions - All 18 assets now deployed correctly **Testing Infrastructure:** - Comprehensive asset deployment testing - CLI integration verification with asset shipping - File existence and accessibility validation - Complete directory structure verification **Key Features:** - Assets deployed to `_markitect/plugins/testdrive-jsui/` when using --edit - HTML references match deployed asset locations - 18 total assets: 12 JS, 3 CSS, 3 images - Automatic deployment without --ship-assets flag needed - Clean separation of development vs production asset handling **Example Output:** ``` 🎯 Using rendering engine: testdrive-jsui (supports: edit, view) 📦 Deploying assets for engine 'testdrive-jsui'... 📄 Deployed 18 asset files js: 12 files css: 3 files images: 3 files ✅ Rendered with INTERACTIVE editing mode ``` This fixes the "HTML assets not found" issue when using explicit output directories with plugin engines. All plugin assets are now properly deployed and accessible. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
101 lines
2.3 KiB
CSS
101 lines
2.3 KiB
CSS
/**
|
|
* TestDrive JSUI Editor Styles
|
|
*
|
|
* Base styles for the markdown editor interface
|
|
*/
|
|
|
|
.markitect-edit-mode {
|
|
position: relative;
|
|
}
|
|
|
|
/* Section editing styles */
|
|
.markitect-section {
|
|
position: relative;
|
|
padding: 0.5rem;
|
|
margin: 0.5rem 0;
|
|
border: 1px solid transparent;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.markitect-section:hover {
|
|
background-color: #f8f9fa;
|
|
border-color: #e9ecef;
|
|
}
|
|
|
|
.markitect-section.editing {
|
|
background-color: #fff;
|
|
border-color: #007bff;
|
|
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
|
|
}
|
|
|
|
/* Editor styles */
|
|
.markitect-editor {
|
|
width: 100%;
|
|
min-height: 100px;
|
|
padding: 0.75rem;
|
|
border: none;
|
|
background: transparent;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
resize: vertical;
|
|
}
|
|
|
|
.markitect-editor:focus {
|
|
outline: none;
|
|
}
|
|
|
|
/* Control panel positioning */
|
|
.markitect-control-panel {
|
|
position: fixed;
|
|
z-index: 1000;
|
|
background: #fff;
|
|
border: 1px solid #dee2e6;
|
|
border-radius: 6px;
|
|
padding: 0.75rem;
|
|
min-width: 200px;
|
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* Compass positioning */
|
|
.markitect-control-nw { top: 20px; left: 20px; }
|
|
.markitect-control-ne { top: 20px; right: 20px; }
|
|
.markitect-control-e { top: 50%; right: 20px; transform: translateY(-50%); }
|
|
.markitect-control-se { bottom: 20px; right: 20px; }
|
|
.markitect-control-s { bottom: 20px; left: 50%; transform: translateX(-50%); }
|
|
.markitect-control-sw { bottom: 20px; left: 20px; }
|
|
.markitect-control-w { top: 50%; left: 20px; transform: translateY(-50%); }
|
|
|
|
/* Control panel states */
|
|
.markitect-control-collapsed {
|
|
width: 40px;
|
|
height: 40px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.markitect-control-expanded {
|
|
max-width: 300px;
|
|
max-height: 400px;
|
|
}
|
|
|
|
/* Debug styles */
|
|
.markitect-debug-panel {
|
|
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
|
|
font-size: 12px;
|
|
background: #2d3748;
|
|
color: #e2e8f0;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.markitect-debug-message {
|
|
padding: 0.25rem 0.5rem;
|
|
border-bottom: 1px solid #4a5568;
|
|
}
|
|
|
|
.markitect-debug-error { color: #fed7d7; }
|
|
.markitect-debug-warning { color: #faf089; }
|
|
.markitect-debug-success { color: #9ae6b4; }
|
|
.markitect-debug-info { color: #bee3f8; } |