Slug on veebiaadressi loetav lõpuosa — näiteks my-first-post aadressis example.com/blog/my-first-post. See on osa, mida inimene saab lugeda enne klõpsamise otsustamist, ja osa, mida otsingumootor loeb kui lehe sisu lühikirjeldust. Seetõttu väärib see rohkem tähelepanu kui lihtsalt andmebaasi ID või kuupäev. See tasuta generaator teeb mis tahes tekstist slugi: kleebi pealkiri lahtrisse "Teisendatav tekst", vajuta "Genereeri" ja tulemus ilmub koos kopeerimisnupuga selle kõrval. Vaikeseaded on need, mida enamik saite soovib — väiketähed, sidekriipsud sõnade vahel, eemaldatud levinud sidesõnad ja translitereeritud ladina tähestikku mittekuuluvad tähed. Seega on kasutuskõlblik slug vaid ühe klõpsu kaugusel ja igaüht neist valikutest saab muuta.
Kõik toimub sinu enda seadmes. Leht laadib väikese JavaScripti mootori ja käivitab selle lokaalselt: sinu pealkirju ei laadita kunagi üles ega logita ning tööriist jätkab töötamist isegi siis, kui internetiühendus on välja lülitatud. Seetõttu uueneb tulemus koheselt, kui muudad mõnda seadet. Tööjärjekord tasub ära märkida, sest see teeb väljundi ennustatavaks: kleebitud link lühendatakse esmalt selle viimase teelõiguni, seejärel muudetakse tekst väiketähtedeks, siis eemaldatakse stoppsõnad, translitereeritakse mitte-ladina tähed, ning kui sa seda soovisid, eemaldatakse numbrid ja erimärgid. See, mis järele jääb, ühendatakse sinu valitud eraldajaga, kärbitakse maksimaalse pikkuseni ja lõpuks saab iga korduv slug numbrilise järelliite. Lahter "Teisendatav tekst" võtab korraga vastu kuni 500 000 märki, mis teeb kokku paar tuhat artikli pealkirja.
Üks rida sisse, üks slug välja. Kleebi terve nimekiri pealkirju ja iga rida muutub omaette nummerdatud slugiks, mille kohal on hallilt näha algne pealkiri. Nii suudad isegi viiekümne pealkirjaga nimekirjas hõlpsasti tuvastada, milline slug millisele pealkirjale kuulub. Kui nimekiri on juba failis, ei pea seda kopeerima: sisestuskasti kõrval olev nupp "Laadi failist" avab tavalise tekstifaili — .txt, .csv, .md, .json ja sarnased — ning kukutab selle sisu otse lahtrisse. Sinu brauser loeb seda faili täpselt nii, nagu loeks sinu kirjutatut, ja seda ei laadita kuhugi üles. "Tükelda sisend" otsustab, kuidas nimekiri osadeks jagatakse. "Automaatne" on vaikimisi: reavahetus eraldab alati elemente, samas kui koma teeb seda ainult siis, kui sisend on üksik rida, mille kõik osad näevad välja nagu eraldiseisvad väärtused — seega "hind 3,5 EUR" ja "Peatükk 5: tulemused, järeldused" jäävad terveks, mitte ei purune tükkideks. Valikud "Reavahetus", "Koma" ja "Tühik" sunnivad tööriista tegema konkreetse valiku, kui sa juba tead oma andmete kuju. "Väljundvorming" määrab, millisel kujul sa tulemuse saad — üks igal real, "Tühikuga eraldatud" või "Komaga eraldatud" — ning nii "Kopeeri kõik" kui ka "Salvesta faili" järgivad seda. "Ajalugu" säilitab sinu viimased 10 partiid sinu brauseris, nii et tund aega tagasi teisendatud nimekiri on endiselt seal.
Ladina tähestikku mittekuuluv tekst on see osa, mille enamik slugi generaatoreid teeb umbkaudu õigesti, kuid vähesed täiesti õigesti. URL on kõige ohutum puhtas ASCII-s, seega kirillitsa, kreeka, araabia, hiina ja Euroopa aktsendiga tähed tuleb teisendada, ning ainuke tegelik küsimus on, kelle reegli järgi. See leht vastab sellele kahe kihiga. Üldine kiht hõlmab kõiki kirjasüsteeme: transliteratsiooni raamatukogu koos mõistliku ASCII vastusega peaaegu iga märgi jaoks, mida sa trükkida suudad, ja just seda tähendab "Transliteratsiooni allikas" valik "Automaatne (mis tahes keel)". Konkreetne kiht on komplekt käsitsi ehitatud tabeleid keelte jaoks, kus üldine vastus ei ole see, mida antud riik tegelikult kasutab; menüü "Transliteratsiooni allikas" loetleb need, millel on täna tabel olemas, ning see nimekiri kasvab sedamööda, kuidas tööriist jõuab rohkemate keelteni, mis seda vajavad. Ühe neist valimine laeb selle tabeli muudetavasse ruudustikku "Transliteratsiooni reeglid" all, kus iga täht on tekstiväli, mida saad muuta. "Lähtesta reeglid vaikeväärtustele" taastab algseisu. Ukraina tabel järgib Ministrite Kabineti 2010. aasta määrust nr 55, standardit, mis on trükitud Ukraina passidesse, ja hõlmab ka detaile, mis on kerged märkamata jääma: зг muutub pigem zgh-ks kui zh-ks, et see eristuks ж-st; є, ї, й, ю ja я võtavad sõna alguses ühe kuju ja selle sees teise; apostroof ja pehmendusmärk eemaldatakse ilma uut sõna alustamata, mistõttu Знам'янка tulemus on znamianka, mitte znamyanka. Saksa keel kasutab vaikimisi laiendatud ä → ae, ö → oe, ü → ue, mida Saksa aadressid tegelikult kasutavad, koos lihtsa ä → a variandiga, kui sa seda eelistad.
"Eemalda stoppsõnad" on vaikimisi sisse lülitatud. See eemaldab väikesed sidesõnad — a, the, and, of, for —, mis pikendavad slugi ilma sellele tähendust lisamata. Nimekiri "Stoppsõnad" all on täielikult muudetav ja on juba eeltäidetud: ingliskeelne nimekiri pluss selle lehe keele nimekiri, millel sa asud. Nii teab Ukraina leht sõnu в, на, та ja і ning Saksa leht der, die ja das. Lisa omi sõnu, kustuta need, mida soovid alles jätta, või lülita funktsioon täielikult välja, mille tulemusena väli muutub halliks, selle asemel et teeselda, et see endiselt toimib. Kaks ausat märkust selle kohta. Stoppsõnade eemaldamine on pigem väike puhtuse võit kui otsingumootoris kõrgemale paigutamise hoob — sa saad lühema, puhtama aadressi, mitte parema positsiooni. Ja kui iga sõna pealkirjas juhtub olema nimekirjas, on aus tulemus eimiski, nii et tööriist teatab sulle sellest, mitte ei anna tühja kasti.
Ülejäänud lülitid otsustavad slugi kuju üle. "Eraldaja slugis" valib, mis asub sõnade vahel, ja sidekriipsu eelistamine pole maitse küsimus: Google loeb sidekriipsu sõnade eraldajaks ja allkriipsu ühendajaks, seega my_first_post jõuab otsingumootorini kui üks pikk sõna, samas kui my-first-post jõuab sinna kolme sõnana. "Allkriips (_)" on olemas süsteemide jaoks, mis seda nõuavad. "Väiketähed" on sisse lülitatud, kuna enamik servereid käsitleb aadresse tõstutundlikena ning suurtähtede ja väiketähtede segamine on lihtne viis lõpetada olukorras, kus ühel lehel on kaks URL-i. "Eemalda erimärgid" eemaldab kõik, mis ei ole täht, number, tühik, sidekriips ega allkriips, hoides kirjavahemärgid, jutumärgid ja emojid aadressist eemal — emojid eemaldatakse spetsiaalselt enne transliteratsiooni, et rakett ei muutuks sõnaks rocket. "Eemalda numbrid" on välja lülitatud, sest pealkirjas olev number on tavaliselt pealkirja oluline osa. "Maksimaalne pikkus" on vahemikus 10 kuni 200 ja selle vaikeväärtus on 80; kui slug on sellest pikem, lõikab mootor viimase tervikliku sõna juurest, mis veel mahub, selle asemel et sõna pooleks lõigata. Iga tulemuse kõrval olev arv on selle pikkus märkides ning see muutub punaseks, kui see ületab 60 — see ei ole range piir, vaid punkt, kus slugi hakatakse otsingutulemustes kärpima ja selle sõnumisse kleepimine muutub ebamugavaks.
Veel kaks lülitit on olemas selleks, et muuta hulgiteisendus uuesti ühe klõpsuga tööks. "Tee slugid unikaalseks" püüab kinni olukorrad, kus kaks erinevat pealkirja lühenevad samaks slugiks — "Top 10 nõuannet" ja "Top-10 nõuannet" muutuvad mõlemad top-10-nouannet — ja annab teisele -2, kolmandale -3, lühendades esmalt põhiosa, kui järelliide viiks selle üle maksimaalse pikkuse. Kaks lehte ühel aadressil on probleem, mida on selles nimekirjas palju odavam lahendada kui hiljem sinu CMS-is. "Võta slug kleebitud URL-ist" töötab vastassuunas: kleebi täielik link ja tööriist võtab selle viimase teelõigu, jätab välja päringustringid ning kõik .html või .php lõpud ja dekodeerib protsent-kodeeringu, seega Vikipeedia link, mis lõpeb %D0%9B%D1%8C%D0%B2%D1%96%D0%B2-ga, tuleb tagasi kui lviv, mitte kui rida kuueteistkümnendsüsteemi numbreid. See aktiveerub ainult siis, kui kogu rida on link, mistõttu lausesse tsiteeritud aadress jäetakse muutmata.
Miks valida see slugi generaator?
- Töötab ainult brauseris: sinu pealkirju ei laadita kunagi üles ja leht töötab edasi ka offline-is
- Hulgi teisendamine kleepimisest või tekstifailist, algne pealkiri iga slugi kohal
- Tõelised transliteratsiooni standardid keelte kaupa, mitte üks üldine tabel nende kõigi jaoks
- Ukraina keel vastavalt 2010. aasta määrusele nr 55 — passides kasutatav õigekiri
- Iga reegel on muudetav täht-tähelt, koos ühe klõpsuga algseisu taastamisega
- Automaatsed -2 ja -3 järelliited, et ükski kahe slugi paar ei põrkuks partiis
- Kleebi link ja saa sellest puhas slug kätte, protsent-kodeering dekodeeritud
- Muudetav stoppsõnade nimekiri, mis on sinu keele jaoks eeltäidetud
- Turvaline kärpimine tervikliku sõna juures, koos tähemärkide loenduriga iga tulemuse kõrval
- Tasuta ja piiramatu: pole registreerimist, kvooti ega midagi, mida meie serverites hoitakse
Sluge on vaja kõikjal, kus leht peab kandma loetavat aadressi. Blogi või uudistesait muudab iga pealkirja slugiks, ja just selleks on see tööriist loodud: kleebi nädala pealkirjad, saa nädala URL-id. E-pood teeb sama toodete ja kategooriate nimedega, tavaliselt hulgiteisendusena pärast importi, ning sageli keeles, mille tähestikku aadress ei suuda toetada. Dokumentatsioonid ja teadmistebaasid loovad ankruid ja failinimesid täpselt samamoodi. Peale veebiaadresside vajad seda sama puhast tekstistringi failinime jaoks, mis teises operatsioonisüsteemis katki ei läheks, andmebaasi võtme jaoks, mida inimene saab logifailist lugeda, haru (branch) nime jaoks, pildinime jaoks meediateegis või staatilise saidi generaatori jaotise identifikaatori jaoks. Iga koht, kus inimsilmale loetav nimi peab üle elama masinloetavasse välja panemise, on koht, kuhu slug kuulub.
Mõned piirangud tasub teada enne, kui sellele tugined. See on generaator, mitte validaator: see ei kontrolli, kas slug on sinu saidil juba võetud, sest sel pole aimugi, mida sinu sait sisaldab — ainulaadsus, mida see garanteerib, kehtib ainult sinu ees oleva partii piires. Ümbersuunamised (redirects) on samuti sinu töö; avaldatud lehe slugi muutmine rikub selle vana aadressi ja see on otsus sinu CMS-i, mitte selle tööriista jaoks. "Salvesta faili" kirjutab lihtteksti (plain text), mitte CSV või JSON. Automaatne jagamine teeb komade osas otsuse, mis on peaaegu igal juhul õige, kuid mitte kõigis, mis on täpselt see põhjus, miks "Tükelda sisend" võimaldab sul seda tühistada. Ja transliteratsioon on kokkulepe, mitte tõlge — München muutub muenchen-iks, mitte Munich-iks —, seega kui lehel on sihtkeeles kindlakskujunenud nimi, on see nimi parem slug kui originaali mis tahes automaatne teisendus.