Slug veb ünvanın oxunaqlı sonluğudur — məsələn, example.com/blog/my-first-post ünvanındakı my-first-post. Bu, istifadəçinin linkə daxil olmamışdan əvvəl oxuya biləcəyi və axtarış sisteminin səhifənin nədən ibarət olduğunu qısa təsvir kimi oxuduğu hissədir. Buna görə də məlumat bazası ID-sindən və ya tarixdən daha çox diqqət tələb edir. Bu pulsuz alət hər hansı mətni slug-a çevirir: başlığı "Çevriləcək mətn" sahəsinə yapışdırın, "Yarat" düyməsini basın və nəticə kopyalama düyməsi ilə birlikdə yanında görünəcək. Standart ayarlar əksər saytların üstünlük verdiyi formalardadır — kiçik hərflər, sözlər arasında defislər, geniş yayılmış əlaqələndirici sözlərin çıxarılması, qeyri-latın hərflərinin transliterasiyası. Beləliklə, istifadəyə yararlı slug bir klik qədər uzaqdadır və bütün bu seçimlər düymələr vasitəsilə dəyişdirilə bilər.
Bütün proses sizin öz cihazınızda baş verir. Səhifə kiçik JavaScript mühərrikini yükləyir və onu lokal olaraq işlədir: başlıqlarınız heç vaxt yüklənmir, qeyd olunmur və alət internet bağlantısı kəsildikdə belə işləməyə davam edir. Elə bu səbəbdən hər hansı ayarı dəyişdirdiyiniz an nəticə dərhal yenilənir. Prosesin ardıcıllığını qeyd etmək vacibdir, çünki nəticəni proqnozlaşdırıla bilən edən budur: yapışdırılan link əvvəlcə sonuncu hissəsinə qədər qısaldılır, sonra mətn kiçik hərflərə çevrilir, ardınca stop sözlər silinir və qeyri-latın hərfləri transliterasiya edilir. Əgər qeyd etmisinizsə, rəqəmlər və xüsusi simvollar silinir, yerdə qalan hissə isə seçdiyiniz ayırıcı ilə birləşdirilir, daha sonra maksimum uzunluğa uyğun kəsilir və sonda təkrar olunanlara rəqəm şəkilçisi əlavə edilir. "Çevriləcək mətn" sahəsi bir dəfəyə 500.000 simvol qəbul edir, bu da bir neçə min məqalə başlığı deməkdir.
Bir sətir giriş — bir slug çıxış. Başlıqların tam siyahısını yapışdırdıqda hər sətir öz nömrələnmiş slug-na çevrilir, aid olduğu başlıq isə boz rəngdə onun üzərində göstərilir. Beləliklə, əlli sətirlik siyahıda belə hansı slug-ın hansı başlığa aid olduğunu asanlıqla təyin edə bilərsiniz. Əgər siyahı artıq hər hansı fayldadırsa, onu panoyla kopyalamağa ehtiyac yoxdur: giriş sahəsinin yanındakı "Fayldan yükləyin" düyməsi adi mətn faylını — .txt, .csv, .md, .json və s. — açır və məzmununu birbaşa sahəyə əlavə edir. Brauzeriniz bu faylı yazdıqlarınızı oxuduğu kimi oxuyur və heç bir yerə yükləmir. "Girişi belə bölün" siyahının necə ayrılacağını müəyyən edir. Standart seçim "Avtomatik"-dir: yeni sətir həmişə elementləri ayırır, vergül isə yalnız girişin ayrı-ayrı dəyərlərə bənzədiyi tək sətir olduqda ayırır. Buna görə də "qiymət 3,5 min manat" və "Fəsil 5: nəticələr, yekunlar" fraqmentlərə bölünmək əvəzinə tam olaraq qalır. Məlumatınızın strukturunu artıq bilirsinizsə, "Yeni sətir", "Vergül" və "Boşluq" seçimləri vasitəsilə bunu məcbur edə bilərsiniz. "Çıxış formatı" kütləvi siyahını necə alacağınızı təyin edir — sətir-sətir, "Boşluqla ayrılmış" və ya "Vergüllə ayrılmış". Həm "Hamısını kopyala", həm də "Faylda saxla" bu formata əməl edir. "Tarixçə" son 10 əməliyyatınızı öz brauzerinizdə saxlayır, yəni bir saat əvvəl çevirdiyiniz siyahı hələ də orada qalacaq.
Qeyri-latın mətnləri əksər slug yaradıcılarının təxmini işlədiyi, yalnız bir neçəsinin tamamilə düzgün olduğu sahədir. URL yalnız təmiz ASCII olduqda ən təhlükəsizdir, bu səbəbdən kiril, yunan, ərəb, çin və xüsusi vurğulu Avropa hərfləri dəyişdirilməlidir. Yeganə əsl sual hansı qaydaya görə dəyişəcəyidir. Bu səhifə suala iki səviyyəli cavab verir. Ümumi səviyyə bütün əlifbaları əhatə edir: klaviaturada yaza biləcəyiniz demək olar ki, hər simvola uyğun ASCII cavabı olan transliterasiya kitabxanası. "Transliterasiya mənbəyi" menyusundakı "Avtomatik (istənilən dil)" məhz bunu ifadə edir. Xüsusi səviyyə isə ümumi cavabın ölkənin real praktikasına uyğun gəlmədiyi dillər üçün əl ilə hazırlanmış cədvəllərdir. "Transliterasiya mənbəyi" menyusunda hazırda cədvəli olan dillər sadalanır və ehtiyacı olan dillər əlavə olunduqca siyahı böyüyür. Onlardan birini seçdiyiniz zaman cədvəl "Transliterasiya qaydaları" altındakı redaktə edilə bilən şəbəkəyə yüklənir. Burada hər hərf dəyişdirə biləcəyiniz mətn sahəsidir. "Qaydaları standart vəziyyətə qaytarın" isə onu əvvəlki halına gətirir. Ukrayna cədvəli Nazirlər Kabinetinin 2010-cu il tarixli 55 nömrəli qərarını, yəni Ukrayna pasportlarında istifadə olunan standartı izləyir. Bura diqqətdən qaçan incəliklər də daxildir: зг ж-dan fərqlənmək üçün zh deyil, zgh olur; є, ї, й, ю və я sözün əvvəlində bir, ortasında isə başqa forma alır; apostrof və yumşaq işarə yeni sözə başlamadan sadəcə atılır. Buna görə də Знам'янка znamyanka yox, znamianka kimi çevrilir. Alman dili isə standart olaraq adreslərdə işlənən genişləndirilmiş ä → ae, ö → oe, ü → ue formalarını istifadə edir, əgər istəsəniz daha sadə ä → a variantını seçə bilərsiniz.
"Stop sözləri silin" standart olaraq aktivdir. O, a, the, and, of, for kimi slug-a məna qatmadan onu uzadan kiçik əlaqələndirici sözləri çıxarır. "Stop sözlər" altındakı siyahı tamamilə redaktə edilə biləndir və artıq doldurulmuş halda gəlir: ingilis dilində siyahı və səhifəsinə daxil olduğunuz dil üçün siyahı. Yəni Ukrayna səhifəsi в, на, та və і sözlərini, Alman səhifəsi isə der, die və das sözlərini taniyır. Öz sözlərinizi əlavə edin, saxlamaq istədiklərinizi silin və ya funksiyanı tamamilə söndürün, bu halda sahə boz rəng alacaq. Bu funksiya haqqında iki vacib qeyd. Stop sözlərin silinməsi sıralamanı qaldırmaq vasitəsi deyil, sadəcə vizual səliqəlilikdir — yəni daha yaxşı mövqe yox, daha qısa və təmiz ünvan əldə edirsiniz. Və əgər başlıqdakı hər söz siyahıda olarsa, nəticə heç nə olacaq. Bu halda alət sizə boş qutu vermək əvəzinə bu haqda bildiriş göstərir.
Digər düymələr formanı müəyyənləşdirir. "Slug üçün ayırıcı" sözlər arasında nəyin yerləşəcəyini seçir. Standart defis seçimi sadəcə zövq məsələsi deyil: Google defisi söz ayırıcısı, alt xətti isə birləşdirici kimi qəbul edir, buna görə də axtarış botu my_first_post sətirini bir uzun söz, my-first-post sətirini isə üç söz kimi oxuyur. "Alt xətt (_)" yalnız bunu tələb edən sistemlər üçündür. "Kiçik hərflə" seçimi ona görə aktivdir ki, əksər serverlər ünvanlarda böyük-kiçik hərfləri fərqləndirir və qarışıq registr eyni səhifə üçün asanlıqla iki fərqli URL-in yaranmasına səbəb ola bilər. "Xüsusi simvolları silin" hərf, rəqəm, boşluq, defis və ya alt xətdən başqa hər şeyi çıxarır. Bu, durğu işarələrini, dırnaqları və emojiləri ünvandan uzaq tutur — emojilər transliterasiyadan əvvəl silinir ki, məsələn, raket emojisindən rocket sözü yaranmasın. "Rəqəmləri silin" deaktivdir, çünki başlıqdakı rəqəm adətən başlığın tərkib hissəsidir. "Maksimum uzunluq" 10-dan 200-ə qədərdir və standart olaraq 80-dir. Slug bundan uzun olduqda mühərrik onu ortasından kəsmək əvəzinə sığan sonuncu tam sözdən kəsir. Hər nəticənin yanındakı rəqəm onun simvollarla uzunluğudur və 60-ı keçdikdə qırmızı rəng alır — bu qəti limit deyil, ancaq slug-ın axtarış nəticələrində kəsilməyə başladığı və mesaja yapışdırmaq üçün narahat olduğu həddir.
Kütləvi çevirməni yenidən tək kliklik işə çevirən daha iki düymə var. "Slug-ları unikal edin" funksiyası iki fərqli başlığın eyni slug-a çevrildiyi halları həll edir — "Ən yaxşı 10 məsləhət" və "Ən yaxşı-10 məsləhət" hər ikisi en-yaxsi-10-meslehet olur. İkinciyə -2, üçüncüyə -3 əlavə edilir. Əgər şəkilçi sizi maksimum uzunluq həddindən çıxaracaqsa, əvvəlcə baza qısaldılır. Bir ünvanda iki səhifənin olması CMS-inizdə tapmaqdansa, bu siyahıda qarşısını almaq üçün çox daha ucuz bir problemdir. "Slug-u əlavə edilmiş URL-dən götürün" tərsinə işləyir: tam linki yapışdırdıqda alət yolun son hissəsini götürür, sorğu sətirlərini, .html və ya .php sonluqlarını atır və faiz-kodlaşdırmasını (percent-encoding) açır. Yəni %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ilə bitən Vikipediya linki bir sıra onaltılıq rəqəm kimi deyil, lviv kimi qayıdır. Bu, yalnız bütün sətir link olduqda işləyir, cümlə daxilindəki URL isə olduğu kimi qalır.
Niyə bu slug yaradıcısını seçməlisiniz?
- Yalnız brauzer: başlıqlarınız heç vaxt serverə yüklənmir, səhifə oflayn da işləyir
- Kopyalama və ya mətn faylından kütləvi çevirmə, hər slug üzərində mənbə başlığı ilə
- Bütün dillər üçün bir ümumi cədvəl deyil, hər dilə uyğun həqiqi transliterasiya standartları
- Ukrayna dili 2010-cu il 55 nömrəli qərara əsasən — pasportlarda istifadə olunan yazı tərzi
- Hər bir qayda hərf-hərf dəyişdirilə bilər, üstəlik tək kliklə ilkin vəziyyətə qayıdış
- Siyahıda iki slug-ın toqquşmaması üçün avtomatik -2 və -3 şəkilçiləri
- Linki yapışdırıb ondan faiz-kodlaşdırması açılmış slug-ı əldə etmək
- Sizin diliniz üçün əvvəlcədən doldurulmuş və redaktə edilə bilən stop sözlər siyahısı
- Tam sözdə təhlükəsiz kəsmə, hər nəticənin yanında simvol sayı
- Pulsuz və limitsiz: qeydiyyat yoxdur, məhdudiyyət yoxdur, serverlərimizdə heç nə saxlanılmır
Səhifənin oxunaqlı bir ünvan daşıması lazım olan hər yerdə slug-lara ehtiyac var. Bloq və ya xəbər saytı hər başlığı ona çevirir ki, bu da alətin yaranma səbəbidir: həftənin başlıqlarını yapışdırın, həftənin URL-lərini alın. Onlayn mağaza bunu məhsul və kateqoriya adları üçün eyni şəkildə, adətən idxaldan sonra kütləvi şəkildə və çox vaxt ünvanın dəstəkləmədiyi bir əlifbada edir. Sənədləşdirmə və məlumat bazaları isə anchor və fayl adlarını eyni yolla qurur. Veb ünvanlarından başqa, başqa əməliyyat sistemində pozulmayacaq fayl adı, kiminsə qeydlərdə oxuya biləcəyi məlumat bazası açarı, branch adı, media kitabxanasındakı şəkil adı və ya statik sayt yaradıcısındakı hər hansı bölmə identifikatoru üçün məhz eyni təmiz sətirə ehtiyacınız var. İnsanın oxuya biləcəyi bir adın maşın üçün nəzərdə tutulmuş sahəyə yerləşdirilməsi lazım olan hər yer slug-ın aid olduğu yerdir.
Ona etibar etməzdən əvvəl bəzi məhdudiyyətləri bilmək lazımdır. Bu, yaradıcıdır (generator), yoxlayıcı (validator) deyil: saytınızda həmin slug-ın artıq tutulub-tutulmadığını yoxlamayacaq, çünki saytınızın nədən ibarət olduğunu bilmir — verdiyi unikallıq zəmanəti yalnız qarşınızdakı siyahıya aiddir. Yönləndirmələr (redirect) də sizin işinizdir; dərc edilmiş səhifənin slug-ını dəyişmək onun köhnə ünvanını sıradan çıxarır və bu, alətin yox, sizin CMS-in işidir. "Faylda saxla" CSV və ya JSON deyil, adi mətn yazır. Avtomatik bölmə vergüllərlə bağlı əksər hallarda doğru olan, lakin hər zaman tam dəqiq olmayan bir qərar verir. Məhz buna görə də "Girişi belə bölün" sizə onu dəyişdirmək imkanı verir. Transliterasiya isə tərcümə deyil, sadəcə qəbul edilmiş bir qaydadır — München Munich yox, muenchen olur. Buna görə də səhifənin hədəf dildə artıq tanınmış bir adı varsa, bu ad originalın avtomatik çevrilməsindən hər zaman daha yaxşı slug-dır.