Matt Godbolt
0eee48a0fb
Optimize logo file sizes to reduce webpack bundle size (#7979)
## Summary
- Optimized 13 logo files, reducing total size by ~560KB
- Converted hylo.svg (321KB) and nim.svg (126KB) to optimized PNGs
(27KB, 13KB)
- Resized oversized images to max 256×256 while preserving aspect ratios
- Optimized SVGs with SVGO where beneficial
- Fixed file permissions (removed execute bits from image files)
- Added comprehensive README.md with optimization guidelines
## Files Changed
- `lib/languages.ts`: Updated references from hylo.svg → hylo.png,
nim.svg → nim.png
- `public/logos/`: Optimized multiple logo files
- `public/logos/README.md`: New optimization guidelines for future logo
additions
## Size Reductions
- hylo.svg → hylo.png: 321KB → 27KB (92% reduction)
- nim.svg → nim.png: 126KB → 13KB (90% reduction)
- scala.png: 79KB → 14KB (82% reduction)
- haskell.png: 19KB → 6.5KB (66% reduction)
- pony.svg: 53KB → 35KB (34% reduction)
- odin.png: 48KB → 27KB (44% reduction)
- nix.svg: 26KB → 5KB (81% reduction)
- gimple.svg: 21KB → 11KB (48% reduction)
- spice.png: 16KB → 9.3KB (42% reduction)
- hook.png: 14KB → 9.3KB (34% reduction)
- hook-dark.png: 13KB → 9.3KB (28% reduction)
## Test plan
- [x] Verify all logos display correctly in the language selection UI
- [x] Confirm no broken image references
- [x] Check that webpack bundle size warnings are reduced
- [x] Ensure visual quality is acceptable at small icon sizes
🤖 Generated with [Claude Code](https://claude.ai/code)
---------
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-31 16:07:04 -05:00
..
2025-07-28 10:34:46 -05:00
2025-07-31 08:21:27 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-30 10:15:28 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-07-30 10:40:00 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-07-30 10:00:09 -05:00
2025-05-20 17:53:24 -05:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-02-08 16:12:40 +01:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2024-10-10 21:21:43 +03:00
2025-07-28 10:34:46 -05:00
2024-11-30 12:14:11 +09:00
2025-04-14 15:17:39 -05:00
2023-06-19 22:13:15 -04:00
2025-02-02 17:54:31 +00:00
2025-07-31 16:07:04 -05:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-05-20 17:53:24 -05:00
2023-06-28 20:13:10 -04:00
2025-02-02 17:54:31 +00:00
2025-05-20 17:53:24 -05:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2023-03-11 14:18:04 -06:00
2024-11-25 18:36:20 +02:00
2025-04-26 13:36:11 -05:00
2024-12-08 00:59:58 +09:00
2024-03-05 20:11:28 -06:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-25 13:05:50 -06:00
2025-02-02 17:54:31 +00:00
2025-02-26 10:56:26 -06:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00