Slug je berljiv rep spletnega naslova — my-first-post v example.com/blog/my-first-post. To je del, ki ga oseba lahko prebere pred odločitvijo za klik, in del, ki ga iskalnik prebere kot kratek opis vsebine strani, zato si zasluži več razmisleka kot id baze podatkov ali datum. Ta brezplačni generator spremeni katero koli besedilo v slug: prilepite naslov v "Besedilo za pretvorbo", pritisnite "Generiraj", in rezultat se prikaže z gumbom za kopiranje ob njem. Privzete nastavitve so tiste, ki jih želi večina spletnih mest — male črke, vezaji med besedami, pogoste polnilne besede izpuščene, nelatinične črke transliterirane — tako da je uporaben slug oddaljen le en klik, vsaka od teh odločitev pa je stikalo, ki ga lahko spremenite.
Vse se dogaja na vaši lastni napravi. Stran naloži majhen pogon JavaScript in ga izvaja lokalno: vaši naslovi niso nikoli naloženi na strežnik, nikoli zabeleženi, orodje pa deluje naprej tudi z izklopljeno povezavo. To je tudi razlog, da se rezultat posodobi v trenutku, ko spremenite nastavitev. Vrstni red dela je vredno navesti, ker je to tisto, zaradi česar je izhod predvidljiv: prilepljena povezava se najprej zmanjša na svoj zadnji segment poti, nato se besedilo spremeni v male črke, nato se opustijo zaporne besede, nato se nelatinični znaki transliterirajo, nato se odstranijo številke in posebni znaki, če ste to zahtevali, nato se vse preostalo združi z vašim ločilom, nato se rezultat obreže na največjo dolžino, in nazadnje ponovitev dobi številsko pripono. "Besedilo za pretvorbo" sprejme do 500.000 znakov naenkrat, kar je nekaj tisoč naslovov člankov.
Ena vrstica noter, en slug ven. Prilepite cel seznam naslovov in vsaka vrstica postane svoj oštevilčen slug, s prvotnim naslovom prikazanim nad njim v sivi barvi, tako da lahko v skupini petdesetih še vedno ugotovite, kateri slug pripada kateremu naslovu. Seznamu, ki že obstaja v datoteki, ni treba potovati skozi odložišče: "Naloži iz datoteke", gumb ob vnosnem polju, odpre navadno besedilno datoteko — .txt, .csv, .md, .json in podobno — in spusti njeno vsebino v polje. Vaš brskalnik prebere to datoteko natanko tako, kot prebere to, kar vtipkate, in ni naložena nikamor. "Razdeli vnos z" določa, kako se seznam razreže. "Samodejno" je privzeto: prelom vrstice vedno loči elemente, medtem ko jih vejica loči le, ko je vnos ena vrstica, katere deli so vsi videti kot samostojne vrednosti — zato "cena 3,5 EUR" in "Poglavje 5: rezultati, sklepi" ostaneta cela, namesto da bi se razbila na delce. "Nova vrstica", "Vejica" in "Presledek" vsilijo izbiro, ko že poznate obliko svojih podatkov. "Oblika rezultata" določa, kako se serija vrne, ko jo vzamete — eden na vrstico, "Ločeno s presledki" ali "Ločeno z vejicami" — in tako "Kopiraj vse" kot "Shrani v datoteko" to upoštevata. "Zgodovina" hrani vaših zadnjih 10 serij v vašem lastnem brskalniku, tako da je seznam, ki ste ga pretvorili pred uro, še vedno tam.
Nelatinično besedilo je del, ki ga večina generatorjev slugov opravi približno prav, le redki pa popolnoma prav. URL je najvarnejši v navadnem ASCII, zato je treba cirilico, grščino, arabščino, kitajščino in evropske črke s šumniki pretvoriti, edino pravo vprašanje pa je, po čigavem pravilu. Ta stran na to odgovarja v dveh slojih. Splošni sloj pokriva vsako pisavo: knjižnica za transliteracijo z razumnim ASCII odgovorom za skoraj vsak znak, ki ga lahko vtipkate, kar je tisto, kar "Transliteriraj iz" pomeni, ko pravi "Samodejno (kateri koli jezik)". Posebni sloj je nabor ročno izdelanih tabel za jezike, kjer generični odgovor ni tisti, ki ga država dejansko uporablja; meni "Transliteriraj iz" navaja tiste, ki imajo tabelo danes, in nabor raste, ko orodje doseže več jezikov, ki jo potrebujejo. Izbira ene naloži njeno tabelo v mrežo pod "Pravila transliteracije", kjer je vsaka črka besedilno polje, ki ga lahko spremenite, in "Ponastavi pravila na privzeta" jo povrne nazaj. Ukrajinska tabela sledi Resoluciji Kabineta ministrov št. 55 iz leta 2010, standardu, tiskanemu v ukrajinskih potnih listih, vključno s podrobnostmi, ki jih je lahko spregledati: зг postane zgh in ne zh, da ostane ločen od ж; є, ї, й, ю in я zavzamejo eno obliko na začetku besede in drugo znotraj nje; in apostrof ter mehki znak sta opuščena, ne da bi začela novo besedo, zato Знам'янка pride ven kot znamianka in ne znamyanka. Nemščina ima privzeto razširjeno različico ä → ae, ö → oe, ü → ue, ki jo nemški naslovi dejansko uporabljajo, z navadno različico ä → a, če vam je ljubša.
"Odstrani zaporne besede" je privzeto vklopljeno. Opusti majhne povezovalne besede — za, na, v, in — ki podaljšajo slug, ne da bi mu dodale pomen. Seznam pod "Zaporne besede" je popolnoma uredljiv in pride že izpolnjen: angleški seznam plus seznam za jezik strani, na kateri ste, tako da slovenska stran pozna v, na, pa in in. Dodajte svoje besede, izbrišite tiste, ki jih želite obdržati, ali pa funkcijo popolnoma izklopite, v tem primeru polje posivi, namesto da bi se pretvarjalo, da je še vedno pomembno. Dve pošteni opombi o tem. Odstranjevanje zapornih besed je majhna pridobitev v urejenosti in ne vzvod za uvrstitev — dobite krajši, čistejši naslov, ne boljše pozicije. In če se zgodi, da je vsaka beseda v naslovu na seznamu, je pošten rezultat popolnoma nič, zato vam orodje to pove, namesto da vam izroči prazno polje.
Ostala stikala odločajo o obliki. "Ločilo v slugu" izbere, kaj sedi med besedami, in privzeti vezaj ni stvar okusa: Google bere vezaj kot ločilo med besedami in podčrtaj kot povezovalec, tako da my_first_post doseže iskalnik kot ena dolga beseda, medtem ko my-first-post kot tri. "Podčrtaj (_)" je tam za sisteme, ki pri njem vztrajajo. "Male črke" so vklopljene, ker večina strežnikov obravnava naslove kot občutljive na velike in male črke, in mešane črke so preprost način, da končate z dvema URL-jema za eno stran. "Odstrani posebne znake" odstrani vse, kar ni črka, številka, presledek, vezaj ali podčrtaj, kar je tisto, kar drži ločila, narekovaje in emojije stran od naslova — emojiji so odstranjeni pred transliteracijo posebej zato, da raketa ne postane beseda rocket. "Odstrani številke" je izklopljeno, ker je številka v naslovu običajno del naslova. "Največja dolžina" teče od 10 do 200 in privzeto je 80; ko je slug daljši od tega, pogon odreže pri zadnji celi besedi, ki se prilega, namesto po sredini. Številka ob vsakem rezultatu je njegova dolžina v znakih in postane rdeča po 60 — to ni stroga omejitev, ampak točka, ko se slug začne obrezovati v rezultatih iskanja in postane neroden za lepljenje v sporočilo.
Obstajata še dve stikali, ker masovno pretvorbo spremenita nazaj v opravilo z enim klikom. "Naredi sluge edinstvene" ujame primer, ko se dva različna naslova zmanjšata na isti slug — "Top 10 nasvetov" in "Top-10 nasvetov" oba postaneta top-10-nasvetov — in drugemu dodeli -2, tretjemu -3, pri čemer najprej skrajša osnovo, če bi pripona potisnila čez vašo največjo dolžino. Dve strani na enem naslovu sta problem, ki ga je veliko ceneje ujeti v tem seznamu kot v vašem CMS-ju. "Vzemi slug iz prilepljenega URL-ja" deluje v nasprotno smer: prilepite polno povezavo in orodje vzame zadnji del poti, opusti poizvedbeni niz in katerikoli konec .html ali .php ter dekodira odstotkovno kodiranje, tako da se naslov Wikipedije, ki se konča z %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, vrne kot lviv namesto niza heksadecimalnih števk. Sproži se le, ko je celotna vrstica povezava, zato naslov, naveden znotraj stavka, ostane tam, kjer je.
Zakaj izbrati ta generator slugov?
- Samo v brskalniku: vaši naslovi se nikoli ne naložijo, stran pa deluje tudi brez povezave
- Masovna pretvorba iz prilepljenega besedila ali datoteke, z izvornim naslovom nad vsakim slugom
- Pravi standardi transliteracije za vsak jezik, ne le ena generična tabela za vse
- Ukrajinščina po Resoluciji št. 55 iz leta 2010 — črkovanje, uporabljeno v potnih listih
- Vsako pravilo je mogoče urejati črko za črko, z enim klikom za ponastavitev
- Samodejne pripone -2 in -3, da ne pride do trčenja dveh slugov v seriji
- Prilepite povezavo in iz nje vzemite slug z dekodiranim odstotkovnim kodiranjem
- Uredljiv seznam zapornih besed, ki pride že izpolnjen za vaš jezik
- Varno obrezovanje pri celi besedi, s števcem znakov ob vsakem rezultatu
- Brezplačno in neomejeno: ni prijave, ni kvot, nič se ne hrani na naših strežnikih
Slugi so potrebni povsod, kjer mora stran nositi berljiv naslov. Blog ali novičarsko spletno mesto spremeni vsak naslov v enega, in to je primer, okoli katerega je bilo to orodje oblikovano: prilepite naslove tega tedna, dobite URL-je tega tedna. Spletna trgovina stori enako za imena izdelkov in kategorij, običajno masovno po uvozu in običajno v jeziku, katerega abecede naslov ne more držati. Dokumentacija in baze znanja na enak način gradijo sidra in imena datotek. Poleg spletnih naslovov je isti čisti niz tisto, kar želite za ime datoteke, ki se ne bo zlomilo na drugem operacijskem sistemu, ključ baze podatkov, ki ga oseba lahko prebere v dnevniku, ime veje, ime slike v medijski knjižnici, ali identifikator odseka v generatorju statičnih spletnih mest. Vsako mesto, kjer mora človeku berljivo ime preživeti vnos v strojno berljivo polje, je mesto, kamor spada slug.
Preden se nanj zanesete, je vredno poznati nekaj omejitev. To je generator, ne validator: ne bo preveril, ali je slug na vašem spletnem mestu že zaseden, ker nima pojma, kaj vaše spletno mesto vsebuje — edinstvenost, ki jo zagotavlja, je znotraj serije pred vami. Preusmeritve so prav tako vaša naloga; sprememba sluga objavljene strani zlomi njen stari naslov, in to je odločitev za vaš CMS in ne za to orodje. "Shrani v datoteko" zapiše navadno besedilo, ne CSV ali JSON. Samodejna razdelitev se pri vejicah odloči, kar je prav v skoraj vsakem primeru, a ne v vseh, in prav zato vam "Razdeli vnos z" omogoča, da jo preglasite. In transliteracija je konvencija, ne prevod — München postane muenchen, ne Munich — torej ko ima stran uveljavljeno ime v ciljnem jeziku, je to ime boljši slug kot katerakoli samodejna pretvorba izvirnika.