Files
moreminimore-vibe/README-LOGO-INTEGRATION.md
2025-12-22 10:14:05 +07:00

199 lines
5.9 KiB
Markdown

# 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 file
- `assets/icon/logo.ico` - Windows application icon
- `assets/icon/logo.icns` - macOS application icon
- `assets/icon/logo_16x16.png` through `assets/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**
1. **PNG to SVG**: Creates SVG wrapper with embedded base64 PNG data
2. **Multi-size Generation**: Creates icons in all required sizes (16x16 to 1024x1024)
3. **Platform Icons**: Generates ICO (Windows) and ICNS (macOS) files
4. **Optimization**: Creates 24x24 version for TitleBar display
5. **Test Updates**: Updates test fixtures with new logo
## 🚀 Usage
### **Full Update (Recommended)**
```bash
./scripts/update-and-debrand.sh
```
This runs the complete debranding process including logo updates.
### **Logo-Only Update**
```bash
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:
```xml
<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**
```bash
# 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:
```bash
base64 -i input.png -o - | tr -d '\n'
```
### **Permission Issues**
```bash
# 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.backup`
- `assets/logo.png.backup`
- `assets/icon/logo.png.backup`
- `assets/icon/logo.ico.backup`
- `assets/icon/logo.icns.backup`
- `e2e-tests/fixtures/images/logo.png.backup`
### **Manual Restore**
```bash
# 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:
1. Run `./scripts/update-and-debrand.sh`
2. 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` - Uses `assets/logo.svg`
- `forge.config.ts` - Uses `assets/icon/logo` for Electron
- `e2e-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:
1. Check that `assets/moreminimorelogo.png` exists
2. Verify ImageMagick is installed (`convert --version`)
3. Check file permissions
4. Review script output for error messages
5. 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.