feat: implement comprehensive asset shipping for md-render command
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Add automatic asset copying when rendering markdown to different output directories with intelligent defaults and full user control. Key Features: - Environment variable support: MARKITECT_OUTPUT_DIR sets default output directory - Smart defaults: auto-ship assets for directory output, disabled for file output - CLI control flags: --ship-assets and --no-ship-assets for explicit control - Timestamp-based copying: only copies when source newer than destination - Path preservation: maintains relative directory structure in output - Graceful error handling: missing assets logged as warnings, not failures Technical Implementation: - Enhanced asset discovery in markitect/assets/discovery.py with discover_assets_from_markdown() - Added environment variable priority: CLI --output > MARKITECT_OUTPUT_DIR > input directory - Comprehensive asset shipping logic with _ship_assets() function - Directory vs file output detection for intelligent default behavior Examples and Testing: - Added image-assets example directory with 6 sample images and comprehensive README - Created comprehensive TDD test suite with 10 tests covering all functionality - Tests validate environment variables, CLI flags, asset discovery, shipping logic, timestamp handling, missing assets, path preservation, and default behaviors Usage: markitect md-render file.md -o /output/dir/ # Auto-ships assets markitect md-render file.md --no-ship-assets # Suppresses shipping MARKITECT_OUTPUT_DIR=/docs markitect md-render file.md # Uses env var 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
19
TODO.md
19
TODO.md
@@ -29,6 +29,25 @@ This section is for tasks currently being discussed with or worked on by the cod
|
||||
|
||||
## Completed Tasks
|
||||
|
||||
**Asset Shipping for md-render - COMPLETED ✅**:
|
||||
- ✅ Implemented automatic asset copying when rendering markdown to different output directories
|
||||
- ✅ Added asset discovery functionality parsing markdown for image/link references
|
||||
- ✅ Implemented timestamp-based asset copying (only copy if source newer than destination)
|
||||
- ✅ Added `--ship-assets` and `--no-ship-assets` CLI flags for explicit control
|
||||
- ✅ Added `MARKITECT_OUTPUT_DIR` environment variable support for default output directory
|
||||
- ✅ Smart defaults: assets ship automatically when output is directory, disabled for specific files
|
||||
- ✅ Preserved relative path structure in output directory maintaining markdown link compatibility
|
||||
- ✅ Graceful handling of missing assets with warning messages
|
||||
- ✅ Full backward compatibility with existing md-render workflows
|
||||
- ✅ Comprehensive TDD test suite covering all functionality and edge cases
|
||||
|
||||
**Feature Capabilities**:
|
||||
- Environment variable priority: CLI `--output` > `MARKITECT_OUTPUT_DIR` > input file directory
|
||||
- Automatic asset discovery from standard markdown syntax: `` and `[text](path)`
|
||||
- Timestamp-based incremental copying prevents unnecessary file operations
|
||||
- Directory structure preservation maintains working relative links in output HTML
|
||||
- Support for images, documents, and other asset types referenced in markdown
|
||||
|
||||
**CHANGELOG.md Enhancement - COMPLETED ✅**:
|
||||
- ✅ Added missing version entries for 0.1.0, 0.2.0, and 0.3.0
|
||||
- ✅ Added standard Keep a Changelog header with proper format
|
||||
|
||||
Reference in New Issue
Block a user