وبشكل ما لا تبدو الشارات تعمل بشكل صحيح. هل هناك شيء أخطأت فيه؟
هل تحتاج إلى عنوان URL الفعلي لمستودع النسخ أم إلى عنوان URL للمشروع؟
هل يمكنك إضافة مثال للعناوين URL الممكنة إلى ملف readme؟
هل يمكنني ببساطة إضافة منظمة وسيتم اعتبار جميع المستودعات العامة للشارات؟
هل هناك أي تغذية بصرية مرئية يمكن أن تخبرني إذا كنت أفعل شيئًا خاطئًا أم صحيحًا؟
أيضًا، هل يمكنك شرح كيفية تحديد ارتباط المستخدم بعمليات الإرسال (commits) على GitHub بالضبط؟
هل يعمل هذا عبر مطابقة البريد الإلكتروني أم مطابقة الاسم؟ وماذا يجب أن أقول لمجتمعي للقيام به للحصول على شارات GitHub؟ هل يجب عليهم تسجيل الدخول عبر GitHub؟
الفرق الوحيد بين الدليل وملف README الخاص بالإضافة هو أن الدليل يشير إلى ضرورة إنشاء رمز وصول (access token) من GitHub لمنح الشارات. يجب إضافة هذا الرمز إلى إعداد موقعك المسمى github linkback access token قبل أن يتم منح الشارات.
لإنشاء رمز وصول، انتقل إلى Sign in to GitHub · GitHub. إذا كنت تستخدم الرمز فقط لمنح الشارات، فلن تحتاج إلى تحديد أي نطاقات (scopes). ما عليك سوى التمرير إلى أسفل الصفحة والنقر على زر Generate Token.
العنصر الآخر الذي يجب إعداده للشارات هو إعداد الموقع github badges repo. أدخل الرابط الكامل لكل مستودع GitHub تريد منح شارات له. الرابط الذي يظهر في شريط عنوان المتصفح سيكون مناسبًا لهذا الغرض.
تنشئ الإضافة ست شارات:
Contributor
Great contributor
Amazing contributor
Committer
Frequent committer
Amazing committer
الشارات الثلاث الأولى في القائمة يتم تمكينها تلقائيًا عند إنشائها بواسطة الإضافة. أما الشارات الثلاث الأخيرة فيجب تمكينها يدويًا من صفحة Admin / Badges.
يمكن تحديد عدد الالتزامات المطلوبة للحصول على شارات Frequent committer و Amazing committer من خلال إعدادات الموقع github silver badge min commits و github gold badge min commits.
ملاحظة أخيرة بخصوص الشارات: يتم منحها عبر مهمة خلفية تُنفذ كل 4 ساعات. هذا يعني أنه قد يتأخر منح الشارة حتى 4 ساعات من لحظة نشاط المستخدم على GitHub حتى لحظة منح الشارة.
يتم العثور على المستخدمين بناءً على عنوان البريد الإلكتروني المرفق بالالتزامات على GitHub. في معظم الحالات، سيكون هذا هو عنوان البريد الإلكتروني للمستخدم. أما بالنسبة للمستخدمين الذين قاموا بإعداد Git لاستخدام عنوان بريد GitHub من نوع لا يوجد رد (<username>@users.noreply.github.com)، فإن الإضافة تحاول العثور على المستخدم بناءً على جزء اسم المستخدم من ذلك العنوان. وتقوم بذلك بالبحث في جدول GithubUserInfo في Discourse عن تطابق مع اسم المستخدم. ولن يتم العثور على المستخدمين بهذه الطريقة إلا إذا كانوا قد سجلوا الدخول سابقًا إلى Discourse عبر GitHub.
أنا أيضًا أعمل على تحسين وظيفة الارتباط الخلفي (linkback) في الإضافة. سأقوم بتحديث ملف README الخاص بالإضافة ودليلها على Meta قريبًا جدًا.
إذا كنت تقوم بإعداد الإضافة على موقع نستضيفه نحن، فيمكنك الحصول على دعم خاص من خلال إرسال بريد إلكتروني إلى عنوان الدعم الموجود على لوحة تحكم الموقع.
شكرًا جزيلاً لك على هذا الشرح المفصل. لقد ساعد حقًا بشكل كبير.
لدي اقتراح واحد لإضافة مكون إضافي، وهو على الأرجح ليس صعب التنفيذ.
بصفتي مسؤولًا، أنا على دراية بالمهندسين الرئيسيين الذين يتفاعل معهم فريقنا على GitHub وعلى المنتدى. لذا فإننا نعرف الهويتين معًا. هل تظن أنه من الممكن لنا ربط مستخدم في Discourse بحساب على GitHub يدويًا عبر إعدادات المكون الإضافي؟ بهذه الطريقة، ستتمكن من تفعيل هذا المكون حتى في حال لم يتمكن من العثور على المستخدم تلقائيًا.