An advanced markdown engine
Completely redesigned image editing experience with professional workflow: ## 🎨 New Drop Zone Interface - **Drag & Drop Support**: Users can drag image files directly onto preview area - **Visual Feedback**: Border changes to green on dragover, overlay shows drop instruction - **Click to Select**: Alternative file selection by clicking the preview area - **File Type Validation**: Supports JPG, PNG, GIF, WebP with proper validation ## 📝 Staging System (Non-Destructive Editing) - **No Immediate Changes**: Image replacement and alt text edits are staged, not applied immediately - **Change Tracking**: Visual indicator shows when user has unsaved changes - **Preview Updates**: Users see staged changes in real-time preview without affecting document - **Staging State**: Maintains separate staged vs. current state for both image source and alt text ## 🎯 Enhanced Button Workflow - **Accept**: Applies all staged changes (image + alt text) to document content - **Cancel**: Discards all staged changes and closes editor - **Reset**: Clears staged changes and returns preview to original state (keeps editor open) ## 🚀 User Experience Improvements - **Professional Interface**: Clean, modern design with clear visual hierarchy - **Immediate Feedback**: Real-time preview of changes without document modification - **Non-Destructive**: No accidental overwrites - changes must be explicitly accepted - **Intuitive Controls**: Standard edit/cancel/reset pattern familiar to users ## 🔧 Technical Enhancements - **Memory Efficient**: Removed redundant replaceImage method, integrated into main editor - **Event-Driven**: Proper drag/drop event handling with prevent default - **State Management**: Comprehensive staging state tracking with change detection - **Error Prevention**: File type validation and graceful error handling Added comprehensive test suite with 7 tests covering all new functionality. All image editing workflows now provide professional, non-destructive editing experience. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .github/workflows | ||
| .issues | ||
| .venv_old | ||
| agents | ||
| application | ||
| assets | ||
| capabilities | ||
| cli | ||
| config | ||
| cost_notes | ||
| docs | ||
| domain | ||
| examples | ||
| gitea | ||
| guides | ||
| history | ||
| infrastructure | ||
| markitect | ||
| node_modules | ||
| reports | ||
| services | ||
| src | ||
| test_document_extracted | ||
| testdata | ||
| tests | ||
| todo | ||
| tools | ||
| wiki@8818df03d3 | ||
| .clinerules | ||
| .gitignore | ||
| .gitmodules | ||
| aliases.sh | ||
| asset_registry.json | ||
| CHANGELOG.md | ||
| demo_clean_editor.html | ||
| install | ||
| install.py | ||
| install.sh | ||
| LOST_FUNCTIONALITY_ANALYSIS.md | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| pyproject.toml | ||
| pytest-timeout.ini | ||
| pytest.ini | ||
| release.py | ||
| test_comprehensive_section_styling.js | ||
| test_content_rendering_validation.js | ||
| test_dom_integration.html | ||
| TEST_ENVIRONMENT.md | ||
| test_filename_generation.js | ||
| test_get_all_sections.js | ||
| test_image_functionality_fix.js | ||
| test_image_section_buttons.js | ||
| test_image_ui_closure.js | ||
| test_improved_image_workflow.js | ||
| test_keyboard_shortcuts.js | ||
| test_message_system.js | ||
| test_runner.js | ||
| test_section_splitting.js | ||
| test_state_management.js | ||
| test_status_tracking.js | ||
| TODO.md | ||
| UserInterfaceFramework.md | ||
MarkiTect Documentation
Welcome to the MarkiTect documentation. This directory contains comprehensive documentation for developers, users, and contributors.
Documentation Structure
📐 Architecture Documentation (architecture/)
Deep technical documentation about system design, performance, and implementation details.
- Caching System - Why and how MarkiTect's AST caching delivers 60-85% performance improvements
- Coming soon: Database Schema, CLI Architecture, Plugin System
👥 User Guides (user-guides/)
End-user documentation for working with MarkiTect CLI and features.
- Coming soon: Getting Started, Command Reference, Best Practices
🔧 Development Documentation (development/)
Documentation for contributors and developers extending MarkiTect.
- Coming soon: Contributing Guide, Testing Strategy, Release Process
Quick Links
For Users
- Installation & Setup
- Command Reference (coming soon)
- Performance Guide (coming soon)
For Developers
- Architecture Overview - System design and component relationships
- Development Setup - Local development environment
- API Documentation (coming soon)
Project Management
- Project Status - Current development status
- Roadmap - Strategic development plan
- Current Tasks - Task management using Keep a Todofile format
Key Concepts
Core Architecture Principles
- Parse Once, Use Many Times - AST caching for 60-85% performance improvement
- Convention Over Configuration - Sensible defaults with minimal setup
- Schema-Driven Processing - Structured markdown with validation
- Relational Metadata - Database-powered document relationships
Performance Philosophy
MarkiTect treats markdown documents as structured, queryable data rather than plain text. This approach enables:
- Lightning-fast document processing through intelligent caching
- Complex querying and relationship management
- Schema validation and consistency enforcement
- Scalable performance that grows with your content
Contributing to Documentation
Documentation follows the same quality standards as code:
- Clear Structure - Logical organization and navigation
- Practical Examples - Real-world usage patterns
- Performance Context - Why architectural decisions matter
- User-Focused - Written for the intended audience
Documentation Standards
- Use clear, concise language
- Include practical examples
- Explain the "why" behind design decisions
- Keep technical accuracy as the highest priority
- Update docs when changing functionality
This documentation is maintained alongside the codebase. For the most current information, always refer to the latest version in the repository.