इस प्रोजेक्ट के बारे में
RepositoryScanner एक GitHub अकाउंट एनालाइजर है जो सार्वजनिक और निजी रिपॉजिटरी से भाषा सांख्यिकी पढ़ने के लिए GitHub API का उपयोग करता है, और फिर शीर्ष भाषाओं का एक SVG कार्ड एक्सपोर्ट करता है। README के अनुसार, GitHub का लैंग्वेज API प्रति भाषा कोड के बाइट्स लौटाता है, और कार्ड के प्रतिशत कच्चे लाइन काउंट के बजाय उन बाइट-आधारित आकारों पर आधारित होते हैं। जेनरेट किया गया कार्ड कुल कोड आकार के आधार पर शीर्ष छह भाषाओं और योगदान सांख्यिकी: कुल योगदान, वर्तमान स्ट्रीक और सबसे लंबी स्ट्रीक को दिखाता है। यह Kanagawa paper-ink-प्रेरित थीम का उपयोग करता है और GitHub Actions के माध्यम से हर हफ्ते स्वचालित रूप से अपडेट होने के लिए डिज़ाइन किया गया है।
अनुशंसित सेटअप रिपॉजिटरी को फोर्क करना, repo और read:user स्कोप (या यदि केवल सार्वजनिक रिपॉजिटरी महत्वपूर्ण हैं तो public_repo) के साथ एक GitHub पर्सनल एक्सेस टोकन बनाना, GH_TOKEN, GITHUB_USERNAME और वैकल्पिक रूप से EXCLUDED_LANGS के लिए रिपॉजिटरी सीक्रेट्स जोड़ना, और फिर Update Language Stats वर्कफ़्लो को एक बार मैन्युअल रूप से चलाना है। वर्कफ़्लो फ़ाइल .github/workflows/update-chart.yaml पर स्थित है और इसे हर रविवार 00:00 UTC पर चलने, अपडेटेड assets/languages.svg को main में कमिट करने और ऑन-डिमांड रन का समर्थन करने के लिए कॉन्फ़िगर किया गया है। वर्कफ़्लो फ़ाइल में cron लाइन को संपादित करके शेड्यूल बदला जा सकता है। परिणामी SVG को raw.githubusercontent.com URL का उपयोग करके प्रोफाइल README में एम्बेड किया जा सकता है, जिसमें ब्राउज़र कैशिंग को बायपास करने के लिए ?v=1 जैसे वैकल्पिक क्वेरी पैरामीटर का उपयोग किया जा सकता है।
स्थानीय विकास के लिए, README Python 3.10+ की अनुशंसा करता है जिसमें 3.11 को प्राथमिकता दी गई है। मुख्य डिपेंडेंसी requests और python-dotenv हैं। कॉन्फ़िगरेशन .env फ़ाइल या शेल एनवायरनमेंट वेरिएबल्स के माध्यम से प्रदान किया जा सकता है। रिपॉजिटरी रूट से python scripts/fetch_languages.py चलाने पर assets/languages.svg जेनरेट होता है। Kanagawa कलर पैलेट और प्रति-भाषा रंग scripts/colors.py में परिभाषित हैं, जबकि SVG लेआउट विवरण scripts/fetch_languages.py के अंदर संभाले जाते हैं। README यह भी नोट करता है कि GITHUB_USERNAME मुख्य वेरिएबल है, लेकिन बैकवर्ड कम्पैटिबिलिटी के लिए USERNAME समर्थित है। यदि GH_TOKEN सेट नहीं है, तो केवल सार्वजनिक रिपॉजिटरी का विश्लेषण किया जाता है और GitHub की अनऑथेंटिकेटेड रेट लिमिट लागू होती हैं।
सुरक्षा और गोपनीयता नोट्स बताते हैं कि टूल रिपॉजिटरी सूची और प्रति रिपॉजिटरी भाषा सांख्यिकी पढ़ने के लिए GitHub API का उपयोग करता है, लेकिन वास्तविक कोड सामग्री को नहीं पढ़ता है। टोकन स्थानीय विकास के लिए स्थानीय .env या एनवायरनमेंट वेरिएबल्स से और Actions के लिए GitHub Secrets से पढ़े जाते हैं, और उन्हें कभी भी कमिट नहीं किया जाना चाहिए। समस्या निवारण अनुभाग 401 Unauthorized और API त्रुटियों, फ़िल्टर्ड फोर्क्स के कारण गायब भाषा डेटा, बहिष्कृत भाषाओं, टोकन एक्सेस या रेट लिमिट, और Actions अक्षम होने, गलत वर्कफ़्लो पाथ, अमान्य YAML, या अपेक्षित ब्रांच पर बदलाव न होने के कारण वर्कफ़्लो के न चलने जैसे मुद्दों को कवर करते हैं। यह प्रोजेक्ट MIT लाइसेंस के तहत है और बताता है कि यह anuraghazra/github-readme-stats से प्रेरित था, और Kanagawa कलर थीम rebelot/kanagawa-paper.nvim से प्रभावित थी।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.