{"id":30305692,"url":"https://github.com/onder7/css-class-analyzer","last_synced_at":"2025-08-17T08:34:29.989Z","repository":{"id":305366426,"uuid":"1022704591","full_name":"onder7/CSS-Class-Analyzer","owner":"onder7","description":"A powerful Python GUI application for analyzing CSS files and tracking class usage statistics.","archived":false,"fork":false,"pushed_at":"2025-07-19T16:45:52.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-19T20:17:38.441Z","etag":null,"topics":["analyzer","css","gui","python","tkinter"],"latest_commit_sha":null,"homepage":"https://ondernet.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onder7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-19T16:40:32.000Z","updated_at":"2025-07-19T16:46:46.000Z","dependencies_parsed_at":"2025-07-19T20:17:42.193Z","dependency_job_id":"15e0751f-cfad-4efb-98d1-c3804e763524","html_url":"https://github.com/onder7/CSS-Class-Analyzer","commit_stats":null,"previous_names":["onder7/css-class-analyzer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/onder7/CSS-Class-Analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onder7%2FCSS-Class-Analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onder7%2FCSS-Class-Analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onder7%2FCSS-Class-Analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onder7%2FCSS-Class-Analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onder7","download_url":"https://codeload.github.com/onder7/CSS-Class-Analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onder7%2FCSS-Class-Analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270824682,"owners_count":24652377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analyzer","css","gui","python","tkinter"],"created_at":"2025-08-17T08:34:25.328Z","updated_at":"2025-08-17T08:34:29.958Z","avatar_url":"https://github.com/onder7.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSS Class Analyzer\n- [English README](README.md)\n- [Türkçe README](README_TR.md)\n\n\u003cimg width=\"800\" height=\"632\" alt=\"image\" src=\"https://github.com/user-attachments/assets/3de41dfb-1bca-4646-b582-43840f9e6ec0\" /\u003e\n\nA powerful Python GUI application for analyzing CSS files and tracking class usage statistics.\n\n## 🚀 Features\n\n- **Smart CSS Parsing**: Accurately parses CSS files and identifies all class definitions\n- **Usage Statistics**: Counts how many times each CSS class is used\n- **Duplicate Detection**: Prevents counting the same class multiple times in complex selectors\n- **Class Grouping**: Groups similar classes (e.g., `btn`, `btn-primary`, `btn-large`)\n- **Context Analysis**: Determines how classes are used (pseudo-classes, child selectors, etc.)\n- **Detailed Reports**: Provides both general and detailed analysis views\n- **Filtering Options**: Filter results by minimum usage count\n- **Modern GUI**: User-friendly interface with tabbed views and options\n\n## 📋 Requirements\n\n- Python 3.6+\n- tkinter (usually comes with Python)\n- No additional dependencies required!\n\n## 🛠️ Installation\n\n1. Clone this repository:\n```bash\ngit clone https://github.com/onder7/CSS-Class-Analyzer.git\ncd CSS-Class-Analyzer\n```\n\n2. Run the application:\n```bash\npython css_analyzer.py\n```\n\n## 💻 Usage\n\n1. **Launch the application**\n2. **Select a CSS file** using the \"Select File\" button\n3. **Configure analysis options**:\n   - Show unused classes\n   - Group similar classes\n   - Set minimum usage count\n4. **View results** in two tabs:\n   - **General Results**: Overview and statistics\n   - **Detailed Analysis**: Per-class breakdown with selectors\n\n## 📊 What You'll Get\n\n### General Results\n- Total CSS rules count\n- Unique classes count\n- Usage statistics sorted by frequency\n- Class family groupings\n\n### Detailed Analysis\n- Individual class analysis\n- Selector contexts (pseudo-class, child, descendant, etc.)\n- Complete selector list for each class\n- Usage patterns\n\n## 🎯 Use Cases\n\n- **Code Optimization**: Find unused CSS classes\n- **Refactoring**: Identify commonly used patterns\n- **Documentation**: Generate class usage reports\n- **Code Review**: Analyze CSS structure and organization\n- **Performance**: Optimize CSS by removing unused classes\n\n## 📝 Example Output\n\n```\nCSS File: styles.css\nTotal CSS Rules: 245\nTotal Unique Classes: 78\n\nCLASS USAGE STATISTICS\n========================================\ncontainer: 15 times used\nbtn: 12 times used\nnav-item: 8 times used\n...\n\nSIMILARITY GROUPS\n========================================\nbtn family (4 classes):\n  • btn (12 uses)\n  • btn-primary (5 uses)\n  • btn-secondary (3 uses)\n  • btn-large (2 uses)\n```\n\n## 🔧 Technical Details\n\nThe analyzer:\n- Removes CSS comments before parsing\n- Uses regex patterns to identify class selectors\n- Handles complex selectors (combinators, pseudo-classes)\n- Prevents double-counting in compound selectors\n- Supports various CSS formatting styles\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🐛 Bug Reports\n\nIf you find a bug, please open an issue with:\n- Python version\n- Operating system\n- CSS file that caused the issue (if possible)\n- Error message\n\n## ⭐ Support\n\nIf you found this tool helpful, please give it a star! ⭐\n\n# CSS Sınıf Analiz Aracı\n\nCSS dosyalarını analiz etmek ve sınıf kullanım istatistiklerini takip etmek için güçlü bir Python GUI uygulaması.\n\n## 🚀 Özellikler\n\n- **Akıllı CSS Ayrıştırma**: CSS dosyalarını doğru şekilde ayrıştırır ve tüm sınıf tanımlarını tespit eder\n- **Kullanım İstatistikleri**: Her CSS sınıfının kaç kez kullanıldığını sayar\n- **Tekrar Tespiti**: Karmaşık seçicilerde aynı sınıfın birden fazla sayılmasını önler\n- **Sınıf Gruplandırma**: Benzer sınıfları gruplar (örn: `btn`, `btn-primary`, `btn-large`)\n- **Bağlam Analizi**: Sınıfların nasıl kullanıldığını belirler (pseudo-class, child selector, vb.)\n- **Detaylı Raporlar**: Hem genel hem de detaylı analiz görünümleri sunar\n- **Filtreleme Seçenekleri**: Minimum kullanım sayısına göre sonuçları filtreler\n- **Modern Arayüz**: Sekmeli görünümler ve seçeneklerle kullanıcı dostu arayüz\n\n## 📋 Gereksinimler\n\n- Python 3.6+\n- tkinter (genellikle Python ile birlikte gelir)\n- Ek bağımlılık gerektirmez!\n\n## 🛠️ Kurulum\n\n1. Bu repoyu klonlayın:\n```bash\ngit clone https://github.com/onder7/CSS-Class-Analyzer.git\ncd CSS-Class-Analyzer\n```\n\n2. Uygulamayı çalıştırın:\n```bash\npython css_analyzer.py\n```\n\n## 💻 Kullanım\n\n1. **Uygulamayı başlatın**\n2. **\"Dosya Seç\" butonu** ile bir CSS dosyası seçin\n3. **Analiz seçeneklerini yapılandırın**:\n   - Kullanılmayan sınıfları göster\n   - Benzer sınıfları grupla\n   - Minimum kullanım sayısını ayarla\n4. **Sonuçları görüntüleyin** iki sekmede:\n   - **Genel Sonuçlar**: Genel bakış ve istatistikler\n   - **Detaylı Analiz**: Sınıf bazında ayrıntılı bilgiler\n\n## 📊 Elde Edeceğiniz Bilgiler\n\n### Genel Sonuçlar\n- Toplam CSS kuralı sayısı\n- Benzersiz sınıf sayısı\n- Sıklığa göre sıralanmış kullanım istatistikleri\n- Sınıf ailesi gruplandırmaları\n\n### Detaylı Analiz\n- Bireysel sınıf analizi\n- Seçici bağlamları (pseudo-class, child, descendant, vb.)\n- Her sınıf için tam seçici listesi\n- Kullanım desenleri\n\n## 🎯 Kullanım Alanları\n\n- **Kod Optimizasyonu**: Kullanılmayan CSS sınıflarını bulun\n- **Refaktöring**: Yaygın kullanılan desenleri tespit edin\n- **Dokümantasyon**: Sınıf kullanım raporları oluşturun\n- **Kod İncelemesi**: CSS yapısını ve organizasyonunu analiz edin\n- **Performans**: Kullanılmayan sınıfları kaldırarak CSS'i optimize edin\n\n## 📝 Örnek Çıktı\n\n```\nCSS Dosyası: styles.css\nToplam CSS Kuralı: 245\nToplam Benzersiz Sınıf: 78\n\nSINIF KULLANIM İSTATİSTİKLERİ\n========================================\ncontainer: 15 kez kullanıldı\nbtn: 12 kez kullanıldı\nnav-item: 8 kez kullanıldı\n...\n\nBENZERLİK GRUPLARI\n========================================\nbtn ailesi (4 sınıf):\n  • btn (12 kullanım)\n  • btn-primary (5 kullanım)\n  • btn-secondary (3 kullanım)\n  • btn-large (2 kullanım)\n```\n\n## 🔧 Teknik Detaylar\n\nAnaliz aracı:\n- Ayrıştırmadan önce CSS yorumlarını kaldırır\n- Sınıf seçicilerini tespit etmek için regex desenleri kullanır\n- Karmaşık seçicileri işler (kombinatörler, pseudo-class'lar)\n- Bileşik seçicilerde çift sayımı önler\n- Çeşitli CSS formatlama stillerini destekler\n\n## 🤝 Katkıda Bulunma\n\nKatkılarınızı bekliyoruz! Pull Request göndermekten çekinmeyin.\n\n1. Projeyi fork edin\n2. Özellik dalınızı oluşturun (`git checkout -b feature/HarikaBirOzellik`)\n3. Değişikliklerinizi commit edin (`git commit -m 'Harika bir özellik ekle'`)\n4. Dalınıza push edin (`git push origin feature/HarikaBirOzellik`)\n5. Pull Request açın\n\n## 📄 Lisans\n\nBu proje MIT Lisansı ile lisanslanmıştır - detaylar için [LICENSE](LICENSE) dosyasına bakın.\n\n## 🐛 Hata Bildirimi\n\nBir hata bulursanız, lütfen aşağıdaki bilgilerle bir issue açın:\n- Python sürümü\n- İşletim sistemi\n- Soruna neden olan CSS dosyası (mümkünse)\n- Hata mesajı\n\n## ⭐ Destek\n\nBu aracı yararlı bulduysanız, lütfen yıldız verin! ⭐\n\n## 🌍 Dil Desteği\n\n- [English README](README.md)\n- [Türkçe README](README_TR.md)\n\n## 📞 İletişim\n\nSorularınız için GitHub Issues kullanabilirsiniz.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonder7%2Fcss-class-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonder7%2Fcss-class-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonder7%2Fcss-class-analyzer/lists"}