أنشئ Markdown لشارة README مع نص بديل
أنشئ شارة README جاهزة للصق من تسمية ورسالة ولون من دون الحاجة إلى حفظ صياغة مسارات Shields.
شغّل الأداة مجانًا
يعيد المولّد Markdown كاملًا، وعنوان URL للصورة، والنص البديل المقروء في حقول منفصلة. وهو يعالج المسافات والواصلات والشرطات السفلية وعلامات الترقيم والأقواس المربعة ذات الدلالة في Markdown معالجة آمنة، لذلك تبقى البنية صحيحة حتى عندما تصف التسميات مهام بناء فعلية أو قنوات إصدار. استخدم أداة المتصفح لإنشاء شارة سريعة، أو استدعِ API الحتمية عندما تُجمَّع وثائقك آليًّا.
اختر نصًّا موجزًا يعبّر عن الحالة
تجيب الشارة المفيدة عن سؤال صغير ومحدد بنظرة واحدة. ضع الفئة على اليسار بوصفها التسمية، ثم ضع قيمتها الحالية على اليمين بوصفها الرسالة. فمثلًا، يسهل فهم تسمية مثل البناء مع رسالة مثل ناجح أكثر من جملة طويلة مضغوطة داخل صورة واحدة. يربط النص البديل الناتج القيمتين بنقطتين رأسيتين، وبذلك يحصل مستخدمو قارئات الشاشة على العلاقة الأساسية نفسها التي يعرضها التصميم بصريًّا. احرص على أن تبقى القيمتان واضحتين من دون اللون، لأن اللون وحده لا ينبغي أن يحمل حالة أساسية. يزيل المولّد المسافات المحيطة، لكنه يحافظ على الصياغة وحالة الأحرف المقصودتين. وتُرفض التسميات والرسائل الفارغة بدل إنشاء صورة مربكة بنصف فارغ. إذا كانت الشارة تمثل عملية آلية، فاستخدم مفردات ثابتة عبر الإصدارات كي تظل الفروق قابلة للقراءة ويعرف المستخدمون موضع المعلومة. يتيح حقل alt_text كذلك لخط الوثائق فحص الوصف الميسّر أو إعادة استخدامه بصورة مستقلة عن سلسلة Markdown النهائية.
افهم كيفية تكوين عنوان صورة Shields
ترمّز شارات Shields الثابتة التسمية والرسالة واللون داخل مسار الصورة. ولهذا المسار قواعد خاصة للفصل: تتحول المسافات إلى شرطات سفلية، وتُضاعف الشرطة السفلية الحرفية، كما تُضاعف الواصلة الحرفية حتى لا تختلط بالفواصل بين أجزاء الشارة. وتُرمّز بقية علامات الترقيم ترميزًا مئويًّا للحصول على عنوان URL صالح. تطبق هذه القدرة التحويلات بصورة حتمية وتعيد العنوان الناتج مع Markdown. يمكن توفير لون سداسي عشري مسبوق بعلامة التجزئة؛ فتُحذف العلامة قبل إدخال اللون في المسار. ويمكن أيضًا تمرير أسماء ألوان Shields مثل brightgreen مباشرة. لا تتصل الخدمة بـShields ولا تتحقق من طريقة عرض اسم لون بعينه، بل تنشئ مرجع الصورة المتعارف عليه فقط. لذلك يظل التنفيذ سريعًا وخاصًّا ومناسبًا لعمليات بناء الوثائق من دون اتصال. وبما أنه لا يحدث أي طلب شبكي، فالنتيجة الناجحة تعني أن الصياغة أُنشئت بطريقة صحيحة، لا أن الصورة البعيدة جرى تنزيلها. ويمكنك حفظ الناتج في قالب وترك قارئ README النهائي يطلب الصورة بالطريقة المعتادة.
أدرج Markdown الناتج ونفّذ استخدامه آليًّا بأمان
انسخ حقل markdown إلى README أو قالب طلب دمج أو صفحة حزمة أو أي مستند Markdown يسمح بالصور البعيدة. يستخدم الناتج صيغة الصورة المعروفة، فيظهر النص الميسّر بين قوسين مربعين وعنوان Shields بين قوسين دائريين. تُفلت الأقواس المربعة والشرطات المائلة العكسية داخل النص الظاهر، فلا تؤدي صياغة يقدمها المستخدم إلى إغلاق قسم النص البديل قبل أوانه. في مسار عمل آلي، أرسل حقول الإدخال الثلاثة كلما عرضت الوثائق، ثم اكتب قيمة markdown المعادة في المكان المقصود. ولأن الخوارزمية لا تعتمد على ساعة أو عشوائية أو حالة أو شبكة، فإن المدخلات المتطابقة تنتج دائمًا مخرجات متطابقة، وهذا يحافظ على استقرار الملفات المولدة في نظام إدارة الإصدارات. يُفضّل أن تحتفظ بمكان الشارات وترتيبها في قالبك بدل تجميع README كامل بهذه القدرة. فهي تنشئ عنصر شارة واحدًا لكل طلب عن قصد، ولا تعدّل المستودعات ولا تفحص نتائج البناء ولا تقرر ما ينبغي أن تقوله الحالة. توفر العملية السابقة الحقيقة، بينما يتولى هذا المولّد الترميز والعرض الصحيحين فقط.
حالات الاستخدام
إضافة موضع لحالة البناء
أنشئ Markdown متسقًا لقالب README قبل أن يوفّر نظام التكامل المستمر الرسالة الحالية.
توثيق توافق الحزمة
حوّل تسمية بيئة التشغيل ورسالة الإصدار المدعوم إلى شارة موجزة ذات نص بديل مطابق.
إنشاء وثائق الإصدارات
أنتج مقاطع شارات حتمية داخل عملية بناء الوثائق من دون كتابة قواعد مخصصة لإفلات مسارات Shields.
الأسئلة الشائعة
ما تكلفة الطلب الواحد؟
تبلغ تكلفة كل طلب API مقدار $0.002. ويمكن تشغيل المولّد الحتمي نفسه داخل المتصفح أيضًا.
هل تتحقق الأداة من توفر صورة Shields؟
لا. فهي تنشئ عنوان URL وMarkdown من دون إجراء طلب شبكي أو تنزيل الصورة.
هل يمكنني استخدام لون سداسي عشري؟
نعم. أدخل قيمة RGB سداسية عشرية مع علامة التجزئة الأولية أو من دونها؛ وسيحذف المسار الناتج تلك العلامة.
لماذا تتضاعف الواصلات والشرطات السفلية في العنوان؟
تستخدم Shields الأحرف المضاعفة للتمييز بين الأحرف الحرفية وفواصل المسار والمسافات المرمّزة.
ماذا يحدث إذا كانت التسمية أو الرسالة فارغة؟
يفشل الطلب بخطأ إدخال غير صالح، لأن الجزأين مطلوبان لإنشاء شارة مفيدة وميسّرة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/readme-badge-markdown \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"label":"build","message":"passing","color":"brightgreen"}'const res = await fetch("https://api.kit.forhosting.com/dev/readme-badge-markdown", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"label": "build",
"message": "passing",
"color": "brightgreen"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/readme-badge-markdown",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"label": "build",
"message": "passing",
"color": "brightgreen"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/readme-badge-markdown", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"label":"build","message":"passing","color":"brightgreen"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"label":"build","message":"passing","color":"brightgreen"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/readme-badge-markdown", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"label": "build",
"message": "passing",
"color": "brightgreen"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.readme_badge_markdown",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |