feat: implement plugin infrastructure for rendering engines
Added comprehensive plugin system for independent JavaScript UI development: **Plugin Infrastructure:** - Extended existing MarkiTect plugin system with RenderingEnginePlugin base class - Added RENDERING plugin type to PluginType enum - Created RenderingConfig for asset management and deployment - Implemented RenderingEngineManager for plugin discovery and lifecycle **TestDrive JSUI Plugin:** - Extracted JavaScript UI components to independent testdrive-jsui plugin - Created standalone development environment (no Python required) - Implemented compass-positioned control panels (NW, NE, E, SE) - Added clean JSON configuration interface for Python↔JavaScript data transfer **Asset Management:** - Development mode: serve assets directly from plugin source directory - Production mode: deploy to _markitect/plugins/[plugin-name]/ structure - Configurable asset URLs and deployment strategies - Support for external dependencies (CDN resources) **Standalone Development:** - testdrive-jsui/test.html for browser-based development - Package.json with npm scripts for development server - Complete separation of JavaScript development from Python environment - Hot reload and standard web development workflow **Integration Demo:** - demo_plugin_integration.py showcasing all plugin capabilities - Standalone, plugin discovery, production deployment examples - Asset URL generation for different deployment modes This enables JavaScript-first development while maintaining clean integration with the MarkiTect Python ecosystem. Developers can now work on UI components independently using standard web development tools and workflows. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
57
testdrive-jsui/test-documents/sample.md
Normal file
57
testdrive-jsui/test-documents/sample.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# TestDrive JSUI Sample Document
|
||||
|
||||
This is a sample markdown document for testing the TestDrive JavaScript UI plugin.
|
||||
|
||||
## Features to Test
|
||||
|
||||
### Basic Editing
|
||||
- Click any section to edit it
|
||||
- Use the save button to download your changes
|
||||
- Reset button restores original content
|
||||
|
||||
### Control Panels
|
||||
- **Contents Control** (Northwest): Document outline and navigation
|
||||
- **Status Control** (East): Current document statistics
|
||||
- **Debug Control** (Southeast): Development information and logs
|
||||
- **Edit Control** (Northeast): Main editing actions
|
||||
|
||||
### Markdown Support
|
||||
Test various markdown elements:
|
||||
|
||||
**Bold text** and *italic text*
|
||||
|
||||
> This is a blockquote
|
||||
> with multiple lines
|
||||
|
||||
```javascript
|
||||
// Code blocks with syntax highlighting
|
||||
function testFunction() {
|
||||
console.log("Hello from TestDrive JSUI!");
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
### Lists
|
||||
1. Numbered list item one
|
||||
2. Numbered list item two
|
||||
3. Numbered list item three
|
||||
|
||||
- Bullet list item
|
||||
- Another bullet item
|
||||
- Nested bullet item
|
||||
- Another nested item
|
||||
|
||||
### Tables
|
||||
|
||||
| Feature | Status | Notes |
|
||||
|---------|--------|--------|
|
||||
| Section editing | ✅ Working | Click to edit |
|
||||
| Asset loading | ✅ Working | External scripts |
|
||||
| Configuration | ✅ Working | JSON interface |
|
||||
| Controls | 🚧 Testing | Compass positioning |
|
||||
|
||||
### Links and Images
|
||||
Visit the [Markitect repository](https://github.com/markitect/markitect) for more information.
|
||||
|
||||
---
|
||||
*Test document for TestDrive JSUI plugin development*
|
||||
Reference in New Issue
Block a user