#!/usr/bin/env python3 """ Generate complete asset gallery HTML with all images """ import os from pathlib import Path from datetime import datetime def main(): assets_dir = Path("assets") # Find all images extensions = ['.png', '.jpg', '.jpeg', '.webp', '.gif'] all_images = [] for ext in extensions: all_images.extend(assets_dir.rglob(f"*{ext}")) all_images.extend(assets_dir.rglob(f"*{ext.upper()}")) # Remove duplicates and sort all_images = sorted(set(str(p) for p in all_images)) print(f"Found {len(all_images)} images") # Categorize images categories = {} def get_category(path): path_lower = path.lower() if 'phase_packs/0_demo' in path_lower: if 'crops' in path_lower: return '๐ŸŽฎ DEMO - Crops' elif 'tools' in path_lower: return '๐ŸŽฎ DEMO - Tools' elif 'animals' in path_lower: return '๐ŸŽฎ DEMO - Animals' return '๐ŸŽฎ DEMO - Other' elif 'phase_packs/1_faza_1' in path_lower: if 'crops' in path_lower: return '๐ŸŒพ FAZA 1 - Crops' elif 'animals' in path_lower: return '๐ŸŒพ FAZA 1 - Animals' elif 'tools' in path_lower: return '๐ŸŒพ FAZA 1 - Tools' elif 'infrastructure' in path_lower: return '๐ŸŒพ FAZA 1 - Infrastructure' return '๐ŸŒพ FAZA 1 - Other' elif 'phase_packs/2_faza_2' in path_lower: if 'buildings' in path_lower: return '๐Ÿ˜๏ธ FAZA 2 - Buildings' elif 'npcs' in path_lower: return '๐Ÿ˜๏ธ FAZA 2 - NPCs' elif 'infrastructure' in path_lower: return '๐Ÿ˜๏ธ FAZA 2 - Infrastructure' return '๐Ÿ˜๏ธ FAZA 2 - Other' elif 'references/kai' in path_lower: return '๐Ÿ‘ค References - Kai' elif 'references/ana' in path_lower: return '๐Ÿ‘ค References - Ana' elif 'references/gronk' in path_lower: return '๐Ÿ‘ค References - Gronk' elif 'references/susi' in path_lower: return '๐Ÿ‘ค References - Susi' elif 'references/npcs' in path_lower: return '๐Ÿ‘ฅ References - NPCs' elif 'references/creatures' in path_lower: return '๐Ÿ‰ References - Creatures' elif 'references/buildings' in path_lower: return '๐Ÿ  References - Buildings' elif 'references/trees' in path_lower: return '๐ŸŒณ References - Trees' elif 'references/ui' in path_lower: return '๐ŸŽจ References - UI' elif 'references/' in path_lower: return '๐Ÿ“ธ References - Other' elif 'sprites' in path_lower: return '๐Ÿ–ผ๏ธ Sprites' elif 'crops' in path_lower: return '๐ŸŒฑ Crops' elif 'buildings' in path_lower: return '๐Ÿ  Buildings' elif 'characters' in path_lower: return '๐Ÿ‘ค Characters' elif 'grounds' in path_lower: return '๐ŸŒ Ground Tiles' elif 'terrain' in path_lower: return 'โ›ฐ๏ธ Terrain' elif 'ui' in path_lower: return '๐ŸŽจ UI' elif 'vfx' in path_lower: return 'โœจ VFX' elif 'props' in path_lower: return '๐Ÿช‘ Props' elif 'slike' in path_lower: return '๐Ÿ–ผ๏ธ Slike' return '๐Ÿ“ฆ Other' for img_path in all_images: cat = get_category(img_path) if cat not in categories: categories[cat] = [] categories[cat].append(img_path) # Generate HTML html = f''' ๐ŸŽฎ NovaFarma - Vse Slike ({len(all_images)})

๐ŸŽฎ NOVAFARMA - VSE SLIKE ๐Ÿ’€

{len(all_images)} slik v {len(categories)} kategorijah | Generirano: {datetime.now().strftime("%d.%m.%Y %H:%M")}

๐Ÿ“‹ Kazalo kategorij

''' # Add sections for cat in sorted(categories.keys()): safe_id = cat.replace(' ', '_').replace('-', '_') html += f'''

{cat} {len(categories[cat])}

''' for img_path in sorted(categories[cat]): name = os.path.basename(img_path) html += f'''
{name}
{name}
''' html += '''
''' html += '''
''' # Write HTML file with open('tiled_assets_mini.html', 'w', encoding='utf-8') as f: f.write(html) print(f"Generated tiled_assets_mini.html with {len(all_images)} images in {len(categories)} categories") if __name__ == '__main__': main()