مولد Slug لعناوين URL
الإدخال
الإخراج
التفاصيل التقنية
كيف يعمل مولّد مقاطع الرابط (Slug) لعنوان URL
ما الذي تفعله الأداة
يقوم مولّد الـ Slug بتحويل أي نص إلى مقاطع صديقة لعناوين URL عبر تحويل الإدخال إلى أحرف صغيرة، واستبدال المسافات والأحرف الخاصة بشرطات، وإزالة الأحرف التي ليست أبجدية رقمية أو شرطات، ودمج الشرطات المتتالية. والنتيجة سلسلة نظيفة وسهلة القراءة وآمنة للاستخدام في عناوين URL وأسماء الملفات وأسماء فئات CSS. على سبيل المثال، يتحول "Hello World! (2024)" إلى "hello-world-2024".
حالات استخدام شائعة للمطورين
يستخدم المطورون مولدات الـ slug عند بناء منصات إدارة المحتوى (CMS) أو محركات التدوين أو مواقع التجارة الإلكترونية التي تستمد مسارات URL من عناوين يزوّدها المستخدم. يضمن إنشاء الـ slug بشكل متسق أن تكون عناوين الصفحات ثابتة وسهلة القراءة وخالية من الأحرف التي تتطلب ترميزًا بالنسبة المئوية. كما يفيد أيضًا في توليد أسماء فئات CSS وقيم أعمدة قواعد البيانات ومسارات نظام الملفات من محتوى ديناميكي.
تنسيقات البيانات أو أنواعها أو متغيراتها
تستخدم المقاطع الأساسية أحرف ASCII الصغيرة والأرقام والشرطات فقط. ويمكن لأساليب إنشاء المقاطع الموسعة الحفاظ على أحرف Unicode (مثل الأحرف ذات العلامات التي تُنقل إلى مكافئات ASCII) للمحتوى متعدد اللغات. وتسمح بعض التطبيقات باستخدام الشرطة السفلية بدلًا من الشرطة. ويبلغ الحد الأقصى الآمن لطول المقطع في عناوين URL عادةً 75–100 حرفًا، رغم أن ذلك يختلف حسب المنصة.
المزالق الشائعة والحالات الطرفية
قد ينتج عن عنوانين مختلفين نفس الـ slug (مثلًا، "Foo Bar" و"Foo-Bar" كلاهما يصبح "foo-bar")، لذا يجب على التطبيقات التعامل مع تعارضات الـ slug بإضافة لاحقة رقمية. وتتطلب النصوص غير اللاتينية نقلًا صوتيًا قبل إنشاء الـ slug وإلا سيكون الناتج فارغًا. ويجب قصّ الشرطات في البداية والنهاية. كما أن تغيير الـ slug لصفحة منشورة يكسر الروابط الواردة، لذا ينبغي التعامل مع المقاطع على أنها غير قابلة للتغيير بعد النشر.
متى تستخدم هذه الأداة بدلًا من الكود
استخدم أداة المتصفح هذه لتوليد مقاطع slug بسرعة للاستخدامات الفردية أثناء إنشاء المحتوى أو إعداد النماذج الأولية. أما في تطبيقات الإنتاج، فقم بتوليد المقاطع برمجيًا باستخدام مكتبات مثل slugify (JavaScript/Python) أو Stringex (Ruby) بحيث تتم معالجة اكتشاف التعارضات، ونقل Unicode إلى ASCII، وحدود الطول بشكل متسق ضمن منطق تطبيقك.