5.9 KiB
MoreMinimore Logo Integration Guide
🎯 Overview
The MoreMinimore update and debranding script now includes comprehensive logo replacement functionality that automatically converts your custom logo into all required formats for the Electron application.
📁 Logo Files Generated
Source Logo
assets/moreminimorelogo.png- Your original PNG logo (source for all conversions)
Web Assets
assets/logo.svg- SVG version for web components (TitleBar, etc.)assets/logo.png- Optimized 24x24 PNG for TitleBar
Electron Icons
assets/icon/logo.png- Main icon fileassets/icon/logo.ico- Windows application iconassets/icon/logo.icns- macOS application iconassets/icon/logo_16x16.pngthroughassets/icon/logo_1024x1024.png- Multi-resolution icons
Test Fixtures
e2e-tests/fixtures/images/logo.png- Logo for automated testing
🔄 Automatic Conversion Process
Image Processing Tools
The script automatically installs required tools:
- macOS: ImageMagick via Homebrew
- Linux: ImageMagick via apt-get/yum
- Windows: Manual installation required
Conversion Steps
- PNG to SVG: Creates SVG wrapper with embedded base64 PNG data
- Multi-size Generation: Creates icons in all required sizes (16x16 to 1024x1024)
- Platform Icons: Generates ICO (Windows) and ICNS (macOS) files
- Optimization: Creates 24x24 version for TitleBar display
- Test Updates: Updates test fixtures with new logo
🚀 Usage
Full Update (Recommended)
./scripts/update-and-debrand.sh
This runs the complete debranding process including logo updates.
Logo-Only Update
bash -c 'source scripts/update-and-debrand.sh && update_logos'
This updates only the logos without running the full debranding.
📋 Requirements
Source Logo
- Place your logo at
assets/moreminimorelogo.png - Recommended size: 512x512px or larger
- Format: PNG with transparency support
- Square aspect ratio works best
System Requirements
- macOS: Homebrew (auto-installed if needed)
- Linux: apt-get or yum package manager
- Windows: ImageMagick must be manually installed
🔧 Technical Details
SVG Generation
The script creates an SVG wrapper that embeds the PNG as base64 data:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
<image href="data:image/png;base64,..." width="128" height="128"/>
</svg>
Icon Sizes
- 16x16: Taskbar, small UI elements
- 32x32: Desktop icons, medium UI elements
- 48x48: Control panel, larger UI elements
- 64x64: High-DPI small icons
- 128x128: Standard application icons
- 256x256: High-DPI application icons
- 512x512: App Store, high-resolution displays
- 1024x1024: Retina displays, future-proofing
Platform-Specific Formats
- ICO (Windows): Multi-resolution icon file
- ICNS (macOS): Native macOS icon format with iconset
🛠️ Troubleshooting
ImageMagick Issues
# Check if ImageMagick is installed
convert --version
# Install manually if needed
# macOS
brew install imagemagick
# Ubuntu/Debian
sudo apt-get install imagemagick
# CentOS/RHEL
sudo yum install ImageMagick
Base64 Encoding Issues
The script uses cross-platform compatible base64 encoding:
base64 -i input.png -o - | tr -d '\n'
Permission Issues
# Make script executable
chmod +x scripts/update-and-debrand.sh
📝 Backup and Restore
Automatic Backups
The script automatically creates backups of all original files:
assets/logo.svg.backupassets/logo.png.backupassets/icon/logo.png.backupassets/icon/logo.ico.backupassets/icon/logo.icns.backupe2e-tests/fixtures/images/logo.png.backup
Manual Restore
# Restore specific files
cp assets/logo.svg.backup assets/logo.svg
cp assets/icon/logo.ico.backup assets/icon/logo.ico
# Restore all backups
find assets -name "*.backup" -exec sh -c 'mv "$1" "${1%.backup}"' _ {} \;
🎨 Design Guidelines
Logo Requirements
- Format: PNG with transparency
- Size: Minimum 256x256px (recommended 512x512px)
- Aspect Ratio: Square (1:1) works best
- Colors: Works well on both light and dark backgrounds
- Complexity: Simple designs scale better at small sizes
Visibility Testing
Test your logo at different sizes:
- 16x16: Should be recognizable as a small icon
- 24x24: TitleBar display size
- 32x32: Standard icon size
- 128x128: Full detail visible
🔄 Future Updates
When updating the original Dyad codebase:
- Run
./scripts/update-and-debrand.sh - The script will automatically:
- Apply all custom features
- Update branding
- Replace all logos with your MoreMinimore branding
- Generate required icon formats
- Update test fixtures
📊 Integration Points
Code References
src/app/TitleBar.tsx- Usesassets/logo.svgforge.config.ts- Usesassets/icon/logofor Electrone2e-tests/fixtures/images/logo.png- Test fixtures
Build Process
The generated icons are automatically included in the Electron build process through the forge.config.ts configuration.
🎉 Success Indicators
After successful logo integration:
- ✅ All logo files generated in correct formats
- ✅ TypeScript compilation passes
- ✅ Application builds without errors
- ✅ Logo displays correctly in TitleBar
- ✅ Application icons show MoreMinimore branding
- ✅ Test fixtures updated with new logo
📞 Support
If you encounter issues:
- Check that
assets/moreminimorelogo.pngexists - Verify ImageMagick is installed (
convert --version) - Check file permissions
- Review script output for error messages
- Test with a simple PNG file first
The logo integration system is designed to be robust and handle edge cases gracefully, with fallbacks when image processing tools are not available.