تولیدکننده اسلاگ URL
ورودی
خروجی
جزئیات فنی
مولد اسلاگ URL چگونه کار میکند
این ابزار چه کاری انجام میدهد
مولد اسلاگ متن دلخواه را با تبدیل ورودی به حروف کوچک، جایگزینی فاصلهها و کاراکترهای ویژه با خط تیره، حذف کاراکترهایی که نه حرف/عدد هستند و نه خط تیره، و ادغام خطتیرههای پشتسرهم، به اسلاگهای مناسب URL تبدیل میکند. نتیجه یک رشتهٔ تمیز و خوانا است که برای استفاده در URLها، نام فایلها و نام کلاسهای CSS امن است. برای مثال، "Hello World! (2024)" به "hello-world-2024" تبدیل میشود.
موارد استفادهٔ رایج برای توسعهدهندگان
توسعهدهندگان هنگام ساخت پلتفرمهای CMS، موتورهای وبلاگ یا سایتهای تجارت الکترونیک که مسیرهای URL را از عنوانهای ارائهشده توسط کاربر استخراج میکنند، از مولد اسلاگ استفاده میکنند. اسلاگسازیِ یکسان تضمین میکند که URLهای صفحه پایدار، قابلخواندن برای انسان و عاری از کاراکترهایی باشند که به percent-encoding نیاز دارند. همچنین برای تولید نام کلاسهای CSS، مقادیر ستونهای پایگاه داده و مسیرهای فایلسیستم از محتوای پویا مفید است.
قالبها، نوعها یا گونههای داده
اسلاگهای پایه فقط از حروف کوچک ASCII، ارقام و خط تیره استفاده میکنند. اسلاگسازیِ توسعهیافته میتواند حروف یونیکد را (مثلاً کاراکترهای دارای اَکسان که به معادلهای ASCII آوانویسی میشوند) برای محتوای چندزبانه حفظ کند. برخی پیادهسازیها بهجای خط تیره، زیرخط را مجاز میدانند. حداکثر طول امن اسلاگ برای URLها معمولاً 75–100 کاراکتر است، هرچند بسته به پلتفرم متفاوت است.
دامهای رایج و حالتهای لبهای
دو عنوان متفاوت میتوانند یک اسلاگ یکسان تولید کنند (مثلاً "Foo Bar" و "Foo-Bar" هر دو به "foo-bar" تبدیل میشوند)، بنابراین برنامهها باید برخورد اسلاگ را با افزودن یک پسوند عددی مدیریت کنند. اسکریپتهای غیرلاتین قبل از اسلاگسازی به آوانویسی نیاز دارند وگرنه خروجی خالی خواهد بود. خطتیرههای ابتدا و انتها باید حذف شوند. تغییر اسلاگ یک صفحهٔ منتشرشده لینکهای ورودی را خراب میکند، بنابراین اسلاگها باید پس از انتشار غیرقابلتغییر در نظر گرفته شوند.
چه زمانی از این ابزار استفاده کنیم در برابر کُد
از این ابزار مرورگر برای تولید سریع اسلاگهای تکموردی هنگام تولید محتوا یا نمونهسازی استفاده کنید. برای برنامههای تولیدی، اسلاگها را بهصورت برنامهنویسی با استفاده از کتابخانههایی مانند slugify (JavaScript/Python) یا Stringex (Ruby) تولید کنید تا تشخیص برخورد، آوانویسی یونیکد و محدودیتهای طول بهطور یکسان در منطق برنامهٔ شما مدیریت شوند.