Generator URL slugova
Ulaz
Izlaz
Tehnički detalji
Kako radi generator URL slugova
Što alat radi
Generator slugova pretvara proizvoljan tekst u slugove prilagođene URL-u tako da pretvara unos u mala slova, zamjenjuje razmake i posebne znakove crticama, uklanja znakove koji nisu alfanumerički ili crtice te sažima uzastopne crtice. Rezultat je čist, čitljiv niz siguran za upotrebu u URL-ovima, nazivima datoteka i nazivima CSS klasa. Na primjer, "Hello World! (2024)" postaje "hello-world-2024".
Uobičajeni slučajevi upotrebe za razvojne programere
Programeri koriste generatore slugova pri izradi CMS platformi, blog sustava ili e-commerce stranica koje izvode URL putanje iz naslova koje unose korisnici. Dosljedno slugiranje osigurava da su URL-ovi stranica stabilni, čitljivi ljudima i bez znakova koji zahtijevaju percent-encoding. Također je korisno za generiranje naziva CSS klasa, vrijednosti stupaca baze podataka i putanja datotečnog sustava iz dinamičkog sadržaja.
Formati podataka, vrste ili varijante
Osnovni slugovi koriste samo ASCII mala slova, znamenke i crtice. Prošireno slugiranje može očuvati Unicode slova (npr. dijakritičke znakove transliterirane u ASCII ekvivalente) za višejezični sadržaj. Neke implementacije dopuštaju podvlake umjesto crtica. Maksimalna sigurna duljina sluga za URL-ove obično je 75–100 znakova, iako to varira ovisno o platformi.
Uobičajene zamke i rubni slučajevi
Dva različita naslova mogu proizvesti isti slug (npr. "Foo Bar" i "Foo-Bar" oba postaju "foo-bar"), pa aplikacije moraju rješavati kolizije slugova dodavanjem numeričkog sufiksa. Nelatinična pisma zahtijevaju transliteraciju prije slugiranja ili će izlaz biti prazan. Početne i završne crtice treba ukloniti. Promjena sluga objavljene stranice prekida dolazne poveznice, pa slugove nakon objave treba tretirati kao nepromjenjive.
Kada koristiti ovaj alat umjesto koda
Koristite ovaj alat u pregledniku za brzo jednokratno generiranje slugova tijekom izrade sadržaja ili prototipiranja. Za produkcijske aplikacije generirajte slugove programatski koristeći biblioteke poput slugify (JavaScript/Python) ili Stringex (Ruby) kako bi se detekcija kolizija, Unicode transliteracija i ograničenja duljine dosljedno obrađivali u logici vaše aplikacije.