عن المشروع

المستودع هو المقر الرئيسي لخدمة Shields.io، التي تقدم شارات موجزة ومتسقة وواضحة بتنسيق SVG والنقطي. يشير ملف README إلى أنه يمكن تضمين هذه الشارات في ملفات README الخاصة بـ GitHub أو أي صفحة ويب أخرى، ويدعم الخدمة عشرات خدمات التكامل المستمر، سجلات الحزم، التوزيعات، متاجر التطبيقات، الشبكات الاجتماعية، خدمات تغطية الكود وخدمات تحليل الكود. كما يذكر أن الخدمة تخدم أكثر من 1.6 مليار صورة شهريًا، ويتم استخدامها من قبل مشاريع مثل VS Code و Vue.js و Bootstrap. يستضيف المستودع كود الواجهة الأمامية والخادم الخاص بـ Shields.io، ومكتبة NPM لإنشاء الشارات تسمى badge-maker، ومواصفات تصميم الشارات. من بين الأمثلة المذكورة نسبة تغطية الكود، إصدار الإصدار المستقر، إصدار مدير الحزم، حالة التبعيات، درجة تحليل الكود الثابت، إصدار SemVer، تبرعات Liberapay الأسبوعية، تنزيلات حزم Python، تقييم إضافات متجر Chrome Web Store ونسبة وقت التشغيل من Uptime Robot. يمكن للمستخدمين إنشاء شارات مخصصة باستخدام نمط عنوان URL. يصف ملف README دليل البدء السريع، حيث يمكن للمستخدمين تصفح قائمة كاملة بالشارات، البحث أو تصفح الفئات، النقر على شارة لملء البيانات المطلوبة مثل اسم المستخدم أو اسم المستودع، تخصيص التسمية والألوان بشكل اختياري، ثم نسخ عنوان URL للشارة أو مقتطف الشارة لاستخدامه في ملفات README الخاصة بـ GitHub أو صفحات الويب الأخرى. تعتمد المساهمات على المجتمع من خلال المشاكل وطلبات السحب، ويطلب ملف README من المساهمين إضافة اختبارات عند إضافة أو تعديل خدمة، ويشير إلى برنامج تعليمي حول إضافة شارة جديدة. كما يشير إلى المشاكل المناسبة للمبتدئين وسياسة الأمان. للتطوير، يسرد ملف README خطوات تثبيت Node 24، استنساخ المستودع، تشغيل أوامر npm ci و npm start، ثم فتح localhost:3000. تعمل إعادة تشغيل nodemon على إعادة تحميل التغييرات في كود الخادم، بينما تعمل خادم التطوير الخاص بـ Docusaurus على إعادة تحميل التغييرات في الواجهة الأمامية؛ يتم بناء تعريفات الشارات قبل أول تشغيل للخادم، ويمكن إعادة إنشائها باستخدام أمر npm run prestart أو إعادة تشغيل الخادم. يمكن تصحيح أخطاء الشارة من سطر الأوامر باستخدام أمر npm run badge، بما في ذلك العناوين الكاملة للشارات. تحمي اختبارات اللقطات الشاملة مخرجات SVG أو JSON، ويمكن معاينة التغييرات المتعمدة في المخرجات باستخدام الأمر SNAPSHOT_DRY=1 npm run test:package، وتحديثها باستخدام الأمر SNAPSHOT_UPDATE=1. يمكن للخادم استخدام Sentry و Prometheus بشكل اختياري. تم ربط وثائق الاستضافة الذاتية. من بين المشاريع ذات الصلة مشروع awesome-badges، وهو مجموعة منسقة من الشارات. يقدم ملف README تاريخ المشروع: كان الموقع الأصلي هو b.adge.me، الذي استخدم كودًا من عام 2013 من مشروع gh-badges، ثم دمج المشروع مع shields.io. تم تطوير مواصفات الشارات الأصلية في عام 2013، ثم إعادة تصميمها في عام 2014، حيث يسمى التصميم القديم النمط البلاستيكي والتصميم الجديد النمط المسطح. تم سرد المشرفين الحاليين والسابقين على المشروع، وهو مرخص بترخيص مزدوج تحت رخصتي MIT و Apache 2.0. كما يربط بتمويل ودعم المجتمع.