À propos du projet
RepositoryScanner est un analyseur de compte GitHub qui utilise l'API GitHub pour lire les statistiques de langages des dépôts publics et privés, puis exporte une carte SVG des principaux langages. Selon le README, l'API de langages de GitHub renvoie des octets de code par langage, et les pourcentages de la carte sont basés sur ces tailles en octets plutôt que sur le nombre brut de lignes. La carte générée affiche les six principaux langages par taille totale de code et les statistiques de contribution : contributions totales, série actuelle et série la plus longue. Elle utilise un thème inspiré de Kanagawa paper-ink et est conçue pour se mettre à jour automatiquement chaque semaine via GitHub Actions.
La configuration recommandée consiste à forker le dépôt, créer un jeton d'accès personnel GitHub avec les portées repo et read:user (ou public_repo si seuls les dépôts publics importent), ajouter des secrets de dépôt pour GH_TOKEN, GITHUB_USERNAME et éventuellement EXCLUDED_LANGS, puis exécuter manuellement une fois le workflow Update Language Stats. Le fichier de workflow se trouve dans .github/workflows/update-chart.yaml et est configuré pour s'exécuter chaque dimanche à 00:00 UTC, commiter le fichier assets/languages.svg mis à jour vers main, et supporte également les exécutions à la demande. Le calendrier peut être modifié en éditant la ligne cron dans ce fichier de workflow. Le SVG résultant peut être intégré dans un README de profil en utilisant une URL raw.githubusercontent.com, avec un paramètre de requête optionnel tel que ?v=1 pour contourner la mise en cache du navigateur.
Pour le développement local, le README recommande Python 3.10+ avec une préférence pour 3.11. Les dépendances principales sont requests et python-dotenv. La configuration peut être fournie via un fichier .env ou des variables d'environnement shell. L'exécution de python scripts/fetch_languages.py depuis la racine du dépôt génère assets/languages.svg. La palette de couleurs Kanagawa et les couleurs par langage sont définies dans scripts/colors.py, tandis que les détails de la mise en page SVG sont gérés à l'intérieur de scripts/fetch_languages.py. Le README note également que GITHUB_USERNAME est la variable principale, mais USERNAME est supportée pour la compatibilité ascendante. Si GH_TOKEN n'est pas défini, seuls les dépôts publics sont analysés et les limites de débit non authentifiées de GitHub s'appliquent.
Les notes de sécurité et de confidentialité précisent que l'outil utilise l'API GitHub pour lire la liste des dépôts et les statistiques de langages par dépôt, mais ne lit pas le contenu réel du code. Les jetons sont lus depuis le fichier .env local ou les variables d'environnement pour le développement local, et depuis les GitHub Secrets pour Actions, et ne doivent jamais être commités. Les sections de dépannage couvrent les erreurs 401 Unauthorized et API, les données de langage manquantes dues aux forks filtrés, aux langages exclus, à l'accès au jeton ou aux limites de débit, ainsi que les workflows qui ne s'exécutent pas parce que les Actions sont désactivées, que le chemin du workflow est erroné, que le YAML est invalide ou que les modifications ne sont pas sur la branche attendue. Le projet est sous licence MIT et indique qu'il a été inspiré par anuraghazra/github-readme-stats, avec le thème de couleurs Kanagawa influencé par rebelot/kanagawa-paper.nvim.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.