Date: October 11, 2025
Branch: chore-cleanup-resume-generation-code
The hybrid_resume_converter.py had a broken DOCX conversion method that:
- Used
.get_text(strip=True)which strips ALL formatting - Produced plain text DOCX files with no styling
- Was being used by the
--all-formatsflag
- ✅ Moved
hybrid_resume_converter.pytodeprecated/folder - ✅ Updated
generate_hybrid_resume.pyto useDOCXResumeExporterinstead - ✅ Removed PDF support (was using the broken converter)
- ✅ Removed
--pdfand--all-formatsflags - ✅ Kept
--docxflag which now uses the correct exporter
# Correct method (uses DOCXResumeExporter)
python scripts/generate_hybrid_resume.py --output resume.html --docx
# Or via npm
npm run resume:docxActive:
- ✅
src/generation/docx_resume_exporter.py- CORRECT DOCX exporter (preserves formatting) - ✅
src/generation/hybrid_resume_processor.py- HTML generator - ✅
src/generation/hybrid_css_generator.py- CSS generator - ✅
src/generation/hybrid_html_assembler.py- HTML assembler
Deprecated:
- ❌
src/generation/deprecated/hybrid_resume_converter.py- BROKEN converter (moved here) - ❌
src/generation/deprecated/resume_data_processor.py- Old SVG approach - ❌
src/generation/deprecated/svg_resume_generator.py- Old SVG approach - ❌
src/generation/deprecated/html_resume_wrapper.py- Old SVG approach
# Generate HTML only
npm run resume
python scripts/generate_hybrid_resume.py --output resume.html
# Generate HTML + DOCX (correct formatting)
npm run resume:docx
python scripts/generate_hybrid_resume.py --output resume.html --docx
# Generate all themes (HTML only)
npm run resume:all
python scripts/generate_hybrid_resume.py --all-themes --output-dir ./output
# Generate all themes with DOCX
python scripts/generate_hybrid_resume.py --all-themes --output-dir ./output --docx- ❌
--pdfflag (was using broken converter) - ❌
--all-formatsflag (was using broken converter) - ❌ PDF export functionality
- ❌
HybridResumeConverterimport and usage
✅ One correct path - No way to accidentally generate broken DOCX
✅ Simpler API - Fewer confusing options
✅ Better quality - All DOCX files use proper exporter
✅ Clearer code - One converter, one responsibility
# Test HTML generation
cd packages/svg-lab
python scripts/generate_hybrid_resume.py --output test.html
# Test DOCX generation
python scripts/generate_hybrid_resume.py --output test.html --docx
# Verify DOCX has formatting
start examples/resume/test.docxIf you were using:
--all-formats→ Use--docxinstead--pdf→ PDF support removed (can add back if needed with proper converter)
- Add proper PDF export using WeasyPrint or Playwright
- Add configuration for DOCX styling options
- Add theme preview generation
- Add automated quality checks for DOCX output
The broken converter can never be used again. There is now only ONE correct way to generate DOCX files, and it always uses the proper DOCXResumeExporter that preserves formatting.