Generated: Sat Oct 11 12:00:36 PDT 2025
Cleanup Completed: October 11, 2025
CLEANUP COMPLETE ✅
This comprehensive image audit identified and removed 228 unused/duplicate image files from the repository:
- Phase 1: Removed 140 duplicate files from
public/img/(kept onlyephbaum_avatar_200_200.pngfor OG generation) - Phase 2: Removed 57 unused files from
src/assets/img/(Ghost CMS optimization artifacts and unused images) - Phase 3: Removed 31 Unsplash reference files from
src/assets/img/(Ghost CMS integration artifacts)
Results:
- ✅ Build tested and verified after each phase
- ✅ All 186 blog pages generate successfully
- ✅ No broken image references
- ✅ Repository size significantly reduced
- ✅ Only images that are actually used remain
Remaining Images:
public/img/: 1 file (ephbaum_avatar_200_200.png)src/assets/img/: 53 files (all actively used in blog posts)
- Total images in public/img: 110
- Total images in src/assets/img: 110
Found 140 duplicate files between directories
2021/02/Calvin_Significant_1500x500-1.jpg2021/02/Calvin_Significant_1500x500.jpg2021/02/Calvin_Significant_1500x500_o-1.jpg2021/02/Calvin_Significant_1500x500_o.jpg2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3.jpeg2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3_o.jpeg2021/02/bear-1.png2021/02/bear.png2021/02/bear_icon-1.png2021/02/bear_icon.png2021/02/bear_icon_o-1.png2021/02/bear_icon_o.png2021/02/bear_o-1.png2021/02/bear_o.png2021/02/image-1.png2021/02/image-2.png2021/02/image-3.png2021/02/image-4.png2021/02/image.png2021/02/image_o-1.png2021/02/image_o-2.png2021/02/image_o-3.png2021/02/image_o-4.png2021/02/image_o.png2021/02/memoji_round.png2021/02/memoji_round_o.png2021/02/phantombear.png2021/02/phantombear_o.png2021/03/39c5530ed243b854e1df42b8de11652f48c502ff.jpeg2021/03/c0d26b5d394bc90db30ba5211aa2f4e23beb908e.jpeg2021/03/photo-1535231540604-72e8fbaf8cdb2021/03/photo-1588196749597-9ff075ee6b5b2021/03/spongebob-magic.gif2021/04/07fdbebd2c61417bb28c99415e6c43b0.jpg2021/04/07fdbebd2c61417bb28c99415e6c43b0_o.jpg2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd.jpg2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd_o.jpg2021/04/4d62776b5749427190a2a33b0afd1a76.jpg2021/04/4d62776b5749427190a2a33b0afd1a76_o.jpg2021/04/89523510d98a43ee9d685c459225ffe6.jpg2021/04/89523510d98a43ee9d685c459225ffe6_o.jpg2021/04/9ee3542843bf4cf78837d720f48fddc9-1.jpg2021/04/9ee3542843bf4cf78837d720f48fddc9.jpg2021/04/9ee3542843bf4cf78837d720f48fddc9_o-1.jpg2021/04/9ee3542843bf4cf78837d720f48fddc9_o.jpg2021/04/f8ab3fcfdd044c7890960cbf384c2d56.jpg2021/04/f8ab3fcfdd044c7890960cbf384c2d56_o.jpg2021/09/3e6d44d71b991c512c8f038d4e397d4e0cf37200.jpeg2021/09/42c24cb4f922b7dc9e6c089964d8079a36120830.jpeg2021/09/photo-1480506132288-68f7705954bd2021/09/photo-1530435460869-d13625c69bbf2021/11/5239e826afa84e8b83458a0ec723efde.jpg2021/11/5239e826afa84e8b83458a0ec723efde_o.jpg2021/11/9b625f1245821e93366e89f7dcd44ef7feecd36d.jpeg2021/11/photo-1533073526757-2c8ca1df9f1c2022/02/06f0ae5b1bd3336604d896ad856cb23083b8a463.jpeg2022/02/photo-1500099817043-86d46000d58f2022/03/51896286110_d21c5c2c10_c.jpg2022/03/51896286110_d21c5c2c10_c_o.jpg2022/03/8a36f3896df9b625e04a25afd34fd64a83cf02cb.jpeg2022/03/photo-1621034817184-4c667b132f922022/04/c69006df4f644df6d6a4b8e3f288bc5ef2e885d3.jpeg2022/04/photo-1527348857765-589fb3b5d6f62022/05/9ba3e5f31a280eaaa446dd7d9621433fec1e3742.jpeg2022/05/photo-1477949331575-2763034b5fb52022/11/79e854561cc1c4e8283290869e1876312d749d08.jpeg2022/11/photo-1605906545397-fc8841b32bf82022/12/50caa765a70ff1710d7b12ba274461642f31ad15.jpeg2022/12/905ef7f3b94b13529c726ea186fd6344490ef98c.jpeg2022/12/eph_baum.jpeg2022/12/eph_baum_o.jpeg2022/12/photo-1550745165-9bc0b252726f2022/12/photo-1672601154703-66bec41f7a632023/01/9539bf1767a10c8cbe68daca41c4e1528b9cbead.jpeg2023/01/photo-1558494949-ef010cbdcc312023/02/1e3d3b5865ce86d1a49fb7077a4b3820b311ee3d.jpeg2023/02/photo-1621410153570-9c55676b01572023/03/399114885b61efdd579a4ca2ebd1979821f0ca96.jpeg2023/03/819d84793b8ae08cb193143196d191119f92e948.jpeg2023/03/photo-1592424002053-21f369ad7fdb2023/03/photo-1606326608690-4e0281b1e5882023/04/4ae009f5e54b7fecedd40c1f3b33b44a47008fca.jpeg2023/04/a32373782922ad73a6f9fe009050cde14e7d117a.jpeg2023/04/fdb7dba842b655b8cb35a1f5deccc51a3d2f3db7.jpeg2023/04/photo-1496115965489-21be7e6e59a02023/04/photo-1606235729097-f7b9460abcad2023/04/photo-1617720097949-d6fd9ed1d71b2023/05/4da99e79574322131940de18e9ac91348b0d1356.jpeg2023/05/photo-1614728263952-84ea256f96792023/06/5890503802e344127555580131845016b7758057.jpeg2023/06/c1f911bf1ff13d1a39351def98589c9b20df5c4b.jpeg2023/06/photo-1566140967404-b8b3932483f52023/06/photo-1684395646154-19832d6265b32023/07/IMG_4554.png2023/07/IMG_4554_o.png2023/07/c468f1f893fd4f2526e62a270ae6d520f0745297.jpeg2023/07/photo-1545987796-200677ee10112023/09/2727558efa4bb78f2658c48990c84e0e011b6079.jpeg2023/09/cd8c55e9de1b081ebe023f3296caab0b2286501d.jpeg2023/09/eb.jpg2023/09/eb_o.jpg2023/09/eph_baum.jpeg2023/09/eph_baum_o.jpeg2023/09/ephbaum_dot_dev.png2023/09/ephbaum_dot_dev_o.png2023/09/imsignificant-1.jpg2023/09/imsignificant-1_o.jpg2023/09/imsignificant-2.jpg2023/09/imsignificant-2_o.jpg2023/09/imsignificant-3.jpg2023/09/imsignificant-3_o.jpg2023/09/imsignificant.jpg2023/09/imsignificant_o.jpg2023/09/keyboard_header.png2023/09/keyboard_header_o.png2023/09/photo-1522284875463-3295c04b359b2023/09/photo-1550515634-e260bde293992023/10/14b96419c1596c4eed6a61b4c2cbddc116edefb4.jpeg2023/10/9bb3bcf4aa82f34aebae411aba3cd416e9ccd341.jpeg2023/10/ea6aa6e6034a7824813a1267021269c4be1a9705.jpeg2023/10/photo-1490698900541-76d9b74bdcac2023/10/photo-1556309294-98916e0aaca72023/10/photo-1633380107746-641333c129fd2023/11/ae84eb9dd789555dfc8bf1f3b9cda56225e248e2.jpeg2023/11/photo-1595904567075-f143cbe1f0c82023/11/xterm-colors-c.png2023/11/xterm-colors-c_o.png2023/11/xterm-colors.png2023/11/xterm-colors_o.png2023/12/5d954ea72e41c731760fc1148ebdabbf0a256fc1.jpeg2023/12/Screenshot-2023-12-26-212345.png2023/12/Screenshot-2023-12-26-212345_o.png2023/12/Screenshot-2023-12-26-213721.png2023/12/Screenshot-2023-12-26-213721_o.png2023/12/aoc-complete.gif2023/12/aoc-complete_o.gif2023/12/f6af0ed99802cb6960e57f92fdd154a3ffb03a21.jpeg2023/12/photo-1606482512676-255bf02be7cf2023/12/photo-1606805421441-82687fd40af92025/10/ghost-to-astro-migration.png
Found 1 unique files in public/img
ephbaum_avatar_200_200.png
Found 1 unique files in src/assets/img
ephbaum_avatar_800_400.png
- Images from src/assets/img referenced in code: 56
- Images from public/img referenced in code: 1
Total: 53 images
- ✅
2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3.jpeg - ✅
2021/02/image-1.png - ✅
2021/02/image-2.png - ✅
2021/02/image-3.png - ✅
2021/02/image-4.png - ✅
2021/02/image.png - ✅
2021/03/39c5530ed243b854e1df42b8de11652f48c502ff.jpeg - ✅
2021/03/c0d26b5d394bc90db30ba5211aa2f4e23beb908e.jpeg - ✅
2021/03/spongebob-magic.gif - ✅
2021/04/07fdbebd2c61417bb28c99415e6c43b0.jpg - ✅
2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd.jpg - ✅
2021/04/4d62776b5749427190a2a33b0afd1a76.jpg - ✅
2021/04/89523510d98a43ee9d685c459225ffe6.jpg - ✅
2021/04/9ee3542843bf4cf78837d720f48fddc9-1.jpg - ✅
2021/04/9ee3542843bf4cf78837d720f48fddc9.jpg - ✅
2021/04/f8ab3fcfdd044c7890960cbf384c2d56.jpg - ✅
2021/09/3e6d44d71b991c512c8f038d4e397d4e0cf37200.jpeg - ✅
2021/09/42c24cb4f922b7dc9e6c089964d8079a36120830.jpeg - ✅
2021/11/5239e826afa84e8b83458a0ec723efde.jpg - ✅
2021/11/9b625f1245821e93366e89f7dcd44ef7feecd36d.jpeg - ✅
2022/02/06f0ae5b1bd3336604d896ad856cb23083b8a463.jpeg - ✅
2022/03/8a36f3896df9b625e04a25afd34fd64a83cf02cb.jpeg - ✅
2022/04/c69006df4f644df6d6a4b8e3f288bc5ef2e885d3.jpeg - ✅
2022/05/9ba3e5f31a280eaaa446dd7d9621433fec1e3742.jpeg - ✅
2022/11/79e854561cc1c4e8283290869e1876312d749d08.jpeg - ✅
2022/12/50caa765a70ff1710d7b12ba274461642f31ad15.jpeg - ✅
2022/12/905ef7f3b94b13529c726ea186fd6344490ef98c.jpeg - ✅
2023/01/9539bf1767a10c8cbe68daca41c4e1528b9cbead.jpeg - ✅
2023/02/1e3d3b5865ce86d1a49fb7077a4b3820b311ee3d.jpeg - ✅
2023/03/399114885b61efdd579a4ca2ebd1979821f0ca96.jpeg - ✅
2023/03/819d84793b8ae08cb193143196d191119f92e948.jpeg - ✅
2023/04/4ae009f5e54b7fecedd40c1f3b33b44a47008fca.jpeg - ✅
2023/04/a32373782922ad73a6f9fe009050cde14e7d117a.jpeg - ✅
2023/04/fdb7dba842b655b8cb35a1f5deccc51a3d2f3db7.jpeg - ✅
2023/05/4da99e79574322131940de18e9ac91348b0d1356.jpeg - ✅
2023/06/5890503802e344127555580131845016b7758057.jpeg - ✅
2023/06/c1f911bf1ff13d1a39351def98589c9b20df5c4b.jpeg - ✅
2023/07/IMG_4554.png - ✅
2023/07/c468f1f893fd4f2526e62a270ae6d520f0745297.jpeg - ✅
2023/09/2727558efa4bb78f2658c48990c84e0e011b6079.jpeg - ✅
2023/09/cd8c55e9de1b081ebe023f3296caab0b2286501d.jpeg - ✅
2023/10/14b96419c1596c4eed6a61b4c2cbddc116edefb4.jpeg - ✅
2023/10/9bb3bcf4aa82f34aebae411aba3cd416e9ccd341.jpeg - ✅
2023/10/ea6aa6e6034a7824813a1267021269c4be1a9705.jpeg - ✅
2023/11/ae84eb9dd789555dfc8bf1f3b9cda56225e248e2.jpeg - ✅
2023/11/xterm-colors-c.png - ✅
2023/12/5d954ea72e41c731760fc1148ebdabbf0a256fc1.jpeg - ✅
2023/12/Screenshot-2023-12-26-212345.png - ✅
2023/12/Screenshot-2023-12-26-213721.png - ✅
2023/12/aoc-complete.gif - ✅
2023/12/f6af0ed99802cb6960e57f92fdd154a3ffb03a21.jpeg - ✅
2025/10/ghost-to-astro-migration.png - ✅
ephbaum_avatar_800_400.png
Total: 57 images (POTENTIAL CRUFT)
- ❌
2021/02/Calvin_Significant_1500x500-1.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500_o-1.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500_o.jpg- Can likely be deleted - ❌
2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3_o.jpeg- Can likely be deleted - ❌
2021/02/bear-1.png- Can likely be deleted - ❌
2021/02/bear.png- Can likely be deleted - ❌
2021/02/bear_icon-1.png- Can likely be deleted - ❌
2021/02/bear_icon.png- Can likely be deleted - ❌
2021/02/bear_icon_o-1.png- Can likely be deleted - ❌
2021/02/bear_icon_o.png- Can likely be deleted - ❌
2021/02/bear_o-1.png- Can likely be deleted - ❌
2021/02/bear_o.png- Can likely be deleted - ❌
2021/02/image_o-1.png- Can likely be deleted - ❌
2021/02/image_o-2.png- Can likely be deleted - ❌
2021/02/image_o-3.png- Can likely be deleted - ❌
2021/02/image_o-4.png- Can likely be deleted - ❌
2021/02/image_o.png- Can likely be deleted - ❌
2021/02/memoji_round.png- Can likely be deleted - ❌
2021/02/memoji_round_o.png- Can likely be deleted - ❌
2021/02/phantombear.png- Can likely be deleted - ❌
2021/02/phantombear_o.png- Can likely be deleted - ❌
2021/04/07fdbebd2c61417bb28c99415e6c43b0_o.jpg- Can likely be deleted - ❌
2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd_o.jpg- Can likely be deleted - ❌
2021/04/4d62776b5749427190a2a33b0afd1a76_o.jpg- Can likely be deleted - ❌
2021/04/89523510d98a43ee9d685c459225ffe6_o.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9_o-1.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9_o.jpg- Can likely be deleted - ❌
2021/04/f8ab3fcfdd044c7890960cbf384c2d56_o.jpg- Can likely be deleted - ❌
2021/11/5239e826afa84e8b83458a0ec723efde_o.jpg- Can likely be deleted - ❌
2022/03/51896286110_d21c5c2c10_c.jpg- Can likely be deleted - ❌
2022/03/51896286110_d21c5c2c10_c_o.jpg- Can likely be deleted - ❌
2022/12/eph_baum.jpeg- Can likely be deleted - ❌
2022/12/eph_baum_o.jpeg- Can likely be deleted - ❌
2023/07/IMG_4554_o.png- Can likely be deleted - ❌
2023/09/eb.jpg- Can likely be deleted - ❌
2023/09/eb_o.jpg- Can likely be deleted - ❌
2023/09/eph_baum.jpeg- Can likely be deleted - ❌
2023/09/eph_baum_o.jpeg- Can likely be deleted - ❌
2023/09/ephbaum_dot_dev.png- Can likely be deleted - ❌
2023/09/ephbaum_dot_dev_o.png- Can likely be deleted - ❌
2023/09/imsignificant-1.jpg- Can likely be deleted - ❌
2023/09/imsignificant-1_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant-2.jpg- Can likely be deleted - ❌
2023/09/imsignificant-2_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant-3.jpg- Can likely be deleted - ❌
2023/09/imsignificant-3_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant.jpg- Can likely be deleted - ❌
2023/09/imsignificant_o.jpg- Can likely be deleted - ❌
2023/09/keyboard_header.png- Can likely be deleted - ❌
2023/09/keyboard_header_o.png- Can likely be deleted - ❌
2023/11/xterm-colors-c_o.png- Can likely be deleted - ❌
2023/11/xterm-colors.png- Can likely be deleted - ❌
2023/11/xterm-colors_o.png- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-212345_o.png- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-213721_o.png- Can likely be deleted - ❌
2023/12/aoc-complete_o.gif- Can likely be deleted
Total: 1 images
- ✅
ephbaum_avatar_200_200.png
Total: 109 images (POTENTIAL CRUFT)
- ❌
2021/02/Calvin_Significant_1500x500-1.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500_o-1.jpg- Can likely be deleted - ❌
2021/02/Calvin_Significant_1500x500_o.jpg- Can likely be deleted - ❌
2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3.jpeg- Can likely be deleted - ❌
2021/02/FA362562-04AB-4715-A2C7-7CF55A5EFBD3_o.jpeg- Can likely be deleted - ❌
2021/02/bear-1.png- Can likely be deleted - ❌
2021/02/bear.png- Can likely be deleted - ❌
2021/02/bear_icon-1.png- Can likely be deleted - ❌
2021/02/bear_icon.png- Can likely be deleted - ❌
2021/02/bear_icon_o-1.png- Can likely be deleted - ❌
2021/02/bear_icon_o.png- Can likely be deleted - ❌
2021/02/bear_o-1.png- Can likely be deleted - ❌
2021/02/bear_o.png- Can likely be deleted - ❌
2021/02/image-1.png- Can likely be deleted - ❌
2021/02/image-2.png- Can likely be deleted - ❌
2021/02/image-3.png- Can likely be deleted - ❌
2021/02/image-4.png- Can likely be deleted - ❌
2021/02/image.png- Can likely be deleted - ❌
2021/02/image_o-1.png- Can likely be deleted - ❌
2021/02/image_o-2.png- Can likely be deleted - ❌
2021/02/image_o-3.png- Can likely be deleted - ❌
2021/02/image_o-4.png- Can likely be deleted - ❌
2021/02/image_o.png- Can likely be deleted - ❌
2021/02/memoji_round.png- Can likely be deleted - ❌
2021/02/memoji_round_o.png- Can likely be deleted - ❌
2021/02/phantombear.png- Can likely be deleted - ❌
2021/02/phantombear_o.png- Can likely be deleted - ❌
2021/03/39c5530ed243b854e1df42b8de11652f48c502ff.jpeg- Can likely be deleted - ❌
2021/03/c0d26b5d394bc90db30ba5211aa2f4e23beb908e.jpeg- Can likely be deleted - ❌
2021/03/spongebob-magic.gif- Can likely be deleted - ❌
2021/04/07fdbebd2c61417bb28c99415e6c43b0.jpg- Can likely be deleted - ❌
2021/04/07fdbebd2c61417bb28c99415e6c43b0_o.jpg- Can likely be deleted - ❌
2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd.jpg- Can likely be deleted - ❌
2021/04/0e2f9dbf2f5c44caa13c5892ae601dcd_o.jpg- Can likely be deleted - ❌
2021/04/4d62776b5749427190a2a33b0afd1a76.jpg- Can likely be deleted - ❌
2021/04/4d62776b5749427190a2a33b0afd1a76_o.jpg- Can likely be deleted - ❌
2021/04/89523510d98a43ee9d685c459225ffe6.jpg- Can likely be deleted - ❌
2021/04/89523510d98a43ee9d685c459225ffe6_o.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9-1.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9_o-1.jpg- Can likely be deleted - ❌
2021/04/9ee3542843bf4cf78837d720f48fddc9_o.jpg- Can likely be deleted - ❌
2021/04/f8ab3fcfdd044c7890960cbf384c2d56.jpg- Can likely be deleted - ❌
2021/04/f8ab3fcfdd044c7890960cbf384c2d56_o.jpg- Can likely be deleted - ❌
2021/09/3e6d44d71b991c512c8f038d4e397d4e0cf37200.jpeg- Can likely be deleted - ❌
2021/09/42c24cb4f922b7dc9e6c089964d8079a36120830.jpeg- Can likely be deleted - ❌
2021/11/5239e826afa84e8b83458a0ec723efde.jpg- Can likely be deleted - ❌
2021/11/5239e826afa84e8b83458a0ec723efde_o.jpg- Can likely be deleted - ❌
2021/11/9b625f1245821e93366e89f7dcd44ef7feecd36d.jpeg- Can likely be deleted - ❌
2022/02/06f0ae5b1bd3336604d896ad856cb23083b8a463.jpeg- Can likely be deleted - ❌
2022/03/51896286110_d21c5c2c10_c.jpg- Can likely be deleted - ❌
2022/03/51896286110_d21c5c2c10_c_o.jpg- Can likely be deleted - ❌
2022/03/8a36f3896df9b625e04a25afd34fd64a83cf02cb.jpeg- Can likely be deleted - ❌
2022/04/c69006df4f644df6d6a4b8e3f288bc5ef2e885d3.jpeg- Can likely be deleted - ❌
2022/05/9ba3e5f31a280eaaa446dd7d9621433fec1e3742.jpeg- Can likely be deleted - ❌
2022/11/79e854561cc1c4e8283290869e1876312d749d08.jpeg- Can likely be deleted - ❌
2022/12/50caa765a70ff1710d7b12ba274461642f31ad15.jpeg- Can likely be deleted - ❌
2022/12/905ef7f3b94b13529c726ea186fd6344490ef98c.jpeg- Can likely be deleted - ❌
2022/12/eph_baum.jpeg- Can likely be deleted - ❌
2022/12/eph_baum_o.jpeg- Can likely be deleted - ❌
2023/01/9539bf1767a10c8cbe68daca41c4e1528b9cbead.jpeg- Can likely be deleted - ❌
2023/02/1e3d3b5865ce86d1a49fb7077a4b3820b311ee3d.jpeg- Can likely be deleted - ❌
2023/03/399114885b61efdd579a4ca2ebd1979821f0ca96.jpeg- Can likely be deleted - ❌
2023/03/819d84793b8ae08cb193143196d191119f92e948.jpeg- Can likely be deleted - ❌
2023/04/4ae009f5e54b7fecedd40c1f3b33b44a47008fca.jpeg- Can likely be deleted - ❌
2023/04/a32373782922ad73a6f9fe009050cde14e7d117a.jpeg- Can likely be deleted - ❌
2023/04/fdb7dba842b655b8cb35a1f5deccc51a3d2f3db7.jpeg- Can likely be deleted - ❌
2023/05/4da99e79574322131940de18e9ac91348b0d1356.jpeg- Can likely be deleted - ❌
2023/06/5890503802e344127555580131845016b7758057.jpeg- Can likely be deleted - ❌
2023/06/c1f911bf1ff13d1a39351def98589c9b20df5c4b.jpeg- Can likely be deleted - ❌
2023/07/IMG_4554.png- Can likely be deleted - ❌
2023/07/IMG_4554_o.png- Can likely be deleted - ❌
2023/07/c468f1f893fd4f2526e62a270ae6d520f0745297.jpeg- Can likely be deleted - ❌
2023/09/2727558efa4bb78f2658c48990c84e0e011b6079.jpeg- Can likely be deleted - ❌
2023/09/cd8c55e9de1b081ebe023f3296caab0b2286501d.jpeg- Can likely be deleted - ❌
2023/09/eb.jpg- Can likely be deleted - ❌
2023/09/eb_o.jpg- Can likely be deleted - ❌
2023/09/eph_baum.jpeg- Can likely be deleted - ❌
2023/09/eph_baum_o.jpeg- Can likely be deleted - ❌
2023/09/ephbaum_dot_dev.png- Can likely be deleted - ❌
2023/09/ephbaum_dot_dev_o.png- Can likely be deleted - ❌
2023/09/imsignificant-1.jpg- Can likely be deleted - ❌
2023/09/imsignificant-1_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant-2.jpg- Can likely be deleted - ❌
2023/09/imsignificant-2_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant-3.jpg- Can likely be deleted - ❌
2023/09/imsignificant-3_o.jpg- Can likely be deleted - ❌
2023/09/imsignificant.jpg- Can likely be deleted - ❌
2023/09/imsignificant_o.jpg- Can likely be deleted - ❌
2023/09/keyboard_header.png- Can likely be deleted - ❌
2023/09/keyboard_header_o.png- Can likely be deleted - ❌
2023/10/14b96419c1596c4eed6a61b4c2cbddc116edefb4.jpeg- Can likely be deleted - ❌
2023/10/9bb3bcf4aa82f34aebae411aba3cd416e9ccd341.jpeg- Can likely be deleted - ❌
2023/10/ea6aa6e6034a7824813a1267021269c4be1a9705.jpeg- Can likely be deleted - ❌
2023/11/ae84eb9dd789555dfc8bf1f3b9cda56225e248e2.jpeg- Can likely be deleted - ❌
2023/11/xterm-colors-c.png- Can likely be deleted - ❌
2023/11/xterm-colors-c_o.png- Can likely be deleted - ❌
2023/11/xterm-colors.png- Can likely be deleted - ❌
2023/11/xterm-colors_o.png- Can likely be deleted - ❌
2023/12/5d954ea72e41c731760fc1148ebdabbf0a256fc1.jpeg- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-212345.png- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-212345_o.png- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-213721.png- Can likely be deleted - ❌
2023/12/Screenshot-2023-12-26-213721_o.png- Can likely be deleted - ❌
2023/12/aoc-complete.gif- Can likely be deleted - ❌
2023/12/aoc-complete_o.gif- Can likely be deleted - ❌
2023/12/f6af0ed99802cb6960e57f92fdd154a3ffb03a21.jpeg- Can likely be deleted - ❌
2025/10/ghost-to-astro-migration.png- Can likely be deleted
Missing from src/assets/img: 3
⚠️ YYYY/MM/[hash].ext- Referenced but file not found!⚠️ YYYY/MM/filename.ext- Referenced but file not found!⚠️ ``` - Referenced but file not found!
You have 140 files duplicated between public/img and src/assets/img. This is expected based on your README documentation:
src/assets/img/- Processed by Astro (optimization, WebP conversion)public/img/- Static assets served as-is
Action: Consider if you truly need both copies. Based on your codebase:
- Keep files in
src/assets/img/if they're used in blog posts (imgUrl fields, markdown) - Keep files in
public/img/only if they need direct filesystem access (like OG image generation)
- 57 images in
src/assets/img/appear to be unused - 109 images in
public/img/appear to be unused - Total potential savings: 166 files can likely be removed
You have two avatar files that serve different purposes:
public/img/ephbaum_avatar_200_200.png- Used by OG image generation (needs filesystem access)src/assets/img/ephbaum_avatar_800_400.png- Used by blog posts (processed by Astro)
Action: Keep both of these as they serve different purposes.
Many files have an '_o' suffix variant (e.g., image.png and image_o.png). These appear to be optimized versions from Ghost CMS migration.
Action: Check if both versions are needed or if you can standardize on one.
- Review the unused images list - Verify they're truly not needed
- Test your site - Make sure removing images doesn't break anything
- Create a backup - Before deleting, create a backup of all images
- Remove duplicates - Decide which directory should be the source of truth
- Clean up - Remove unused images to reduce repository size
- Total images: 220
- Duplicates: 140
- Unique images: 2
- Images in use: 54
- Images NOT in use: 166
- Percentage unused: 75.5%
Date: October 11, 2025
To determine if the build process was copying images from src/assets/img/ to public/img/, we performed the following test:
- Created backup of
public/img/to/tmp/public_img_test_backup/ - Deleted all files from
public/img/exceptephbaum_avatar_200_200.png - Ran
pnpm run build - Checked if any files were copied back
✅ Build completed successfully with 0 errors
✅ NO files were copied back to public/img/
✅ Only ephbaum_avatar_200_200.png remains (as expected for OG generation)
- The build process does NOT create these duplicate files
- Images from
src/assets/img/are processed into WebP format →dist/_astro/ - Images from
public/img/are copied as-is →dist/img/ - The 109 duplicate files were likely created during Ghost CMS migration
- Conclusion: All 109 duplicate files in
public/img/were confirmed cruft and safely removed
Total deleted: 109 files + empty year directories from public/img/
All blog functionality remains intact as all markdown files reference images from src/assets/img/, which are properly processed by Astro's asset pipeline.
Date: October 11, 2025
Total deleted: 57 unused files from src/assets/img/
-
_o Optimization Artifacts: 38 files
- Ghost CMS created
_o(optimized) variants of images - These were redundant as Astro handles optimization automatically
- Removed from: 2021/02, 2021/04, 2021/11, 2022/03, 2022/12, 2023/07, 2023/09, 2023/11, 2023/12
- Ghost CMS created
-
Unused Profile Images: 4 files
- Calvin_Significant_1500x500.jpg (and variants)
- Never referenced in any blog posts
-
Unused Bear Icons: 8 files
- bear.png, bear-1.png, bear_icon.png, bear_icon-1.png (and _o variants)
- Legacy icons from Ghost CMS, not used
-
Unused Memoji/Phantombear: 4 files
- memoji_round.png and phantombear.png (and _o variants)
- Never referenced in blog content
-
Other Unused Images: 3 files
- eph_baum.jpeg, eb.jpg, ephbaum_dot_dev.png variants from 2023/09
- 51896286110_d21c5c2c10_c.jpg from 2022/03
- keyboard_header.png, imsignificant*.jpg from 2023/09
- xterm-colors.png from 2023/11
✅ Build completed successfully after removal
✅ All 186 pages generated without errors
✅ No broken image references found
- Phase 1: Removed 140 duplicate files from
public/img/ - Phase 2: Removed 57 unused files from
src/assets/img/
Total cleanup: 197 files removed from the repository
Date: October 11, 2025
Total deleted: 31 Unsplash reference files from src/assets/img/
These were Ghost CMS Unsplash integration artifacts - files with names like photo-1234567890 (no file extension). Ghost's editor had built-in Unsplash integration that stored these image IDs, but they serve no purpose in the Astro system.
Distribution:
- 2021: 5 files
- 2022: 7 files
- 2023: 19 files
✅ Build completed successfully after removal
✅ All 186 pages generated without errors
✅ Final image count in src/assets/img: 53 files (all actively used)
- Phase 3: Removed 31 Unsplash reference files
- Commit: 1feac7e
Total files removed across all phases: 228 files
| Phase | Files Removed | Description |
|---|---|---|
| Phase 1 | 140 | Duplicate images from public/img/ |
| Phase 2 | 57 | Unused images from src/assets/img/ |
| Phase 3 | 31 | Unsplash reference files from src/assets/img/ |
| TOTAL | 228 | Complete cleanup |
Final Repository State:
public/img/: 1 file (ephbaum_avatar_200_200.png for OG generation)src/assets/img/: 53 files (100% actively used in blog posts)- Build status: ✅ All 186 pages generate successfully
- Broken references: 0
- Repository significantly leaner and cleaner!
Key Finding: All images in public/img (except ephbaum_avatar_200_200.png) are duplicated in src/assets/img
Based on the audit, here's what's happening:
139 images are duplicated between both directories - but they're actually only referenced from src/assets/img/!
This means:
- Blog posts and markdown files reference:
../../../../assets/img/[filename] - OG image generation only needs:
public/img/ephbaum_avatar_200_200.png - All 109 images in public/img (except the avatar) appear to be unnecessary duplicates!
You can safely delete 109 files from public/img/ because:
- Only
ephbaum_avatar_200_200.pngis actually used from public/img - All blog post images are served from src/assets/img via Astro's asset pipeline
- This alone will save significant repository space
Files to keep in public/img:
ephbaum_avatar_200_200.png(used by OG image generation)
Files to delete from public/img:
- Everything else (109 files) - they're unused duplicates
After Phase 1, review the 57 unused files in src/assets/img:
Definitely can delete (optimized '_o' variants):
- All
*_o.png,*_o.jpg,*_o.jpegfiles (29 files) - these are Ghost CMS optimization artifacts - All
Calvin_Significant_*files (4 files) - unused profile images - All
bear*.pngfiles (8 files) - unused icons - All
memoji_*.pngfiles (2 files) - unused memes - All
phantombear*.pngfiles (2 files) - unused images
Review before deleting:
- The Flickr photo files without extensions
- Any images that might be linked externally
Removing these files will:
- Reduce repository size significantly
- Speed up git operations (clone, push, pull)
- Make the codebase cleaner and easier to maintain
- Free up storage on your hosting provider
# Create a backup first!
mkdir -p ~/image_backups
cp -r public/img ~/image_backups/public_img_backup_$(date +%Y%m%d)
cp -r src/assets/img ~/image_backups/assets_img_backup_$(date +%Y%m%d)
# Phase 1: Remove duplicates from public/img (keeping only avatar)
cd public/img
find . -type f ! -name 'ephbaum_avatar_200_200.png' -delete
# This removes 109 files
# Phase 2: Remove unused '_o' optimization artifacts from src/assets/img
cd ../../src/assets/img
find . -type f -name '*_o.*' -delete
# This removes ~29 files
# Phase 3: Remove other confirmed unused files
cd ../../src/assets/img/2021/02
rm -f Calvin_Significant_* bear* memoji_* phantombear*
cd ../../2022/03
rm -f 51896286110_d21c5c2c10_c*
cd ../../2022/12
rm -f eph_baum*
cd ../../2023/09
rm -f eb.jpg eb_o.jpg eph_baum* ephbaum_dot_dev* imsignificant* keyboard_header*
cd ../../2023/11
rm -f xterm-colors_o.png xterm-colors.png xterm-colors-c_o.png
cd ../../2023/12
rm -f Screenshot-*_o.png aoc-complete_o.gif
cd ../../2023/07
rm -f IMG_4554_o.png
cd ../../2021/04
rm -f *_o.jpg
cd ../../2021/11
rm -f 5239e826afa84e8b83458a0ec723efde_o.jpgAfter removing files, test your site:
# Build the site
pnpm run build
# Check for any missing image errors
pnpm run dev
# Visit all blog posts and check for broken images
# Check OG image generation still worksNote: Some directories contain files named like photo-[hash] (no extension). These appear to be Unsplash/Flickr source references that may have been used by Ghost CMS but aren't referenced in your current Astro setup. These can also likely be removed (30+ files).