Slug ir tīmekļa adreses lasāmā beigu daļa — piemēram, my-first-post adresē example.com/blog/my-first-post. Tā ir daļa, ko cilvēks var izlasīt, pirms izlemj klikšķināt, un daļa, ko meklētājprogramma nolasa kā īsu lapas satura aprakstu, tāpēc tai ir jāpievērš lielāka uzmanība nekā vienkāršam datubāzes ID vai datumam. Šis bezmaksas ģenerators jebkuru tekstu pārvērš par slug: ielīmējiet virsrakstu laukā "Teksts konvertēšanai", nospiediet "Ģenerēt", un rezultāts parādīsies blakus kopā ar kopēšanas pogu. Noklusējuma iestatījumi ir tādi, kādus izvēlas lielākā daļa vietņu: mazie burti, svītriņas starp vārdiem, noņemti liekie saikļvārdi, transliterēti nelatīņu burti. Tādējādi izmantojams slug ir iegūstams ar vienu klikšķi, un katru no šiem lēmumiem jūs varat mainīt kā atsevišķu iestatījumu.
Viss notiek jūsu ierīcē. Lapa ielādē nelielu JavaScript dzinēju un darbina to lokāli: jūsu virsraksti nekad netiek augšupielādēti serverī, netiek saglabāti žurnālos, un rīks turpina darboties pat tad, ja tiek atvienots interneta savienojums. Tieši tāpēc rezultāts tiek atjaunināts tajā pašā mirklī, kad maināt iestatījumu. Darbību secību ir vērts pieminēt, jo tā padara iznākumu paredzamu: ielīmēta saite vispirms tiek saīsināta līdz pēdējam adreses segmentam, tad teksts tiek pārveidots mazajos burtos, noņemti stopvārdi, transliterētas nelatīņu rakstzīmes, tad izdzēsti cipari un īpašās rakstzīmes (ja to izvēlējāties), tad atlikušais tiek savienots ar jūsu izvēlēto atdalītāju, tad rezultāts tiek apgriezts līdz maksimālajam garumam, un visbeidzot atkārtotam rezultātam tiek pievienota ciparu piedēklis. "Teksts konvertēšanai" vienā reizē pieņem līdz pat 500 000 rakstzīmju, kas atbilst dažiem tūkstošiem rakstu virsrakstu.
Viena rinda iekšā, viens slug ārā. Ielīmējiet veselu virsrakstu sarakstu, un katra rinda kļūs par atsevišķu, numurētu slug, virs kura pelēkā krāsā būs redzams tā oriģinālais virsraksts, tādēļ pat piecdesmit elementu partijā jūs viegli atpazīsiet, kurš slug pieder kuram virsrakstam. Sarakstu, kas jau atrodas failā, nav jāvada caur starpliktuvi (clipboard): poga "Ielādēt no faila" blakus ievades laukam atver vienkāršu teksta failu — .txt, .csv, .md, .json un tamlīdzīgus — un iemet tā saturu laukā. Jūsu pārlūkprogramma šo failu nolasa tieši tāpat, kā nolasa jūsu ierakstīto tekstu, un tas nekur netiek augšupielādēts. "Sadalīt ievadi ar" nosaka, kā saraksts tiek sagriezts gabalos. "Automātiski" ir noklusējums: jauna rinda vienmēr atdala elementus, savukārt komats tos atdala tikai tad, kad ievade ir viena rinda, kuras visas daļas izskatās kā neatkarīgas vērtības — tādējādi "cena 3,5 EUR" un "5. nodaļa: rezultāti, secinājumi" paliek veseli, nesadaloties fragmentos. Izvēles "Jauna rinda", "Komats" un "Atstarpe" ļauj noteikt striktu dalījumu, ja jau zināt savu datu formātu. "Izvades formāts" nosaka, kā rezultātu partija tiek atgriezta — pa vienam rindā, "Atdalīti ar atstarpēm" vai "Atdalīti ar komatiem" — un gan "Kopēt visu", gan "Saglabāt failā" seko šim iestatījumam. "Vēsture" glabā jūsu pēdējās 10 partijas jūsu pārlūkprogrammā, tāpēc saraksts, ko konvertējāt pirms stundas, joprojām ir pieejams.
Nelatīņu teksts ir tā daļa, kuru lielākā daļa slug ģeneratoru apstrādā aptuveni pareizi, bet tikai daži to izdara pilnīgi precīzi. URL adrese visdrošākā ir vienkāršā ASCII formātā, tāpēc kirilica, grieķu, arābu, ķīniešu un Eiropas valodu akcentētie burti ir jākonvertē, un vienīgais patiesais jautājums ir — pēc kādiem noteikumiem. Šī lapa uz to atbild divos līmeņos. Vispārējais līmenis aptver visus rakstības veidus: tā ir transliterācijas bibliotēka, kas sniedz loģisku ASCII atbildi gandrīz jebkurai rakstzīmei, ko varat ievadīt; tas arī ir tas, ko nozīmē "Automātiski (jebkura valoda)" izvēlnē "Transliterēt no". Specifiskais līmenis ir manuāli veidotas tabulas tām valodām, kurās vispārējā atbilde neatbilst tam, ko valstī reāli izmanto. Izvēlne "Transliterēt no" nosauc tās valodas, kurām šobrīd ir sava tabula, un šis saraksts aug, rīkam pievienojot jaunas valodas. Izvēloties vienu no tām, tās tabula tiek ielādēta rediģējamā režģī zem "Transliterācijas noteikumi", kur katrs burts ir teksta lauks, ko varat mainīt, un "Atiestatīt noteikumus uz noklusējumu" to atjauno sākotnējā stāvoklī. Ukraiņu tabula ievēro 2010. gada Ministru kabineta noteikumus Nr. 55 — standartu, ko drukā ukraiņu pasēs, tostarp nianses, ko viegli palaist garām: зг kļūst par zgh, nevis zh, lai atšķirtos no ж; є, ї, й, ю un я sākumā un vārda vidū iegūst atšķirīgas formas; apostrofs un mīkstinājuma zīme tiek atmesti, nesākot jaunu vārdu, tāpēc Знам'янка kļūst par znamianka, nevis znamyanka. Vācu valodā pēc noklusējuma izmanto paplašināto ä → ae, ö → oe, ü → ue, ko vācu adresēs tiešām lieto, taču ir pieejams arī vienkāršs ä → a variants, ja dodat tam priekšroku.
"Noņemt stopvārdus" pēc noklusējuma ir ieslēgts. Tas izdzēš īsos saistvārdus — a, the, and, of, for —, kas pagarina slug, nepievienojot tam jēgu. Saraksts zem "Stopvārdi" ir pilnībā rediģējams un jau sākumā ir aizpildīts: angļu saraksts plus tās valodas saraksts, kuras lapā atrodaties. Tāpēc ukraiņu lapa zina в, на, та un і, bet vācu lapa zina der, die un das. Pievienojiet savus vārdus, izdzēsiet tos, kurus vēlaties paturēt, vai vispār izslēdziet šo funkciju, un tādā gadījumā lauks kļūs pelēks, vairs neizlikdamies, ka ir aktīvs. Divas godīgas piezīmes par to. Stopvārdu noņemšana drīzāk ir adreses vizuāla sakopšana, nevis meklēšanas reitinga uzlabošanas svira — jūs iegūstat īsāku, tīrāku adresi, bet ne labāku pozīciju. Un, ja gadījumā visi virsraksta vārdi atrodas sarakstā, rezultāts ir tukšums, tāpēc rīks jums par to paziņo, nevis atgriež tukšu lauku.
Pārējie slēdži nosaka formu. "Atdalītājs slugā" izvēlas, kas atradīsies starp vārdiem, un noklusētā svītriņa nav tikai gaumes jautājums: Google lasa svītriņu kā vārdu atdalītāju, bet apakšsvītru kā savienotāju, tāpēc my_first_post robotam izskatās kā viens garš vārds, bet my-first-post kā trīs vārdi. "Apakšsvītra (_)" ir pieejama tām sistēmām, kuras to pieprasa. "Mazie burti" ir ieslēgti, jo lielākā daļa serveru pret adresēm izturas jutīgi attiecībā uz burtu reģistru (case-sensitive), un jaukts reģistrs ir vienkāršs veids, kā iegūt divus dažādus URL vienai lapai. "Noņemt īpašās rakstzīmes" izdzēš visu, kas nav burts, cipars, atstarpe, svītriņa vai apakšsvītra — tādējādi pieturzīmes, pēdiņas un emocijzīmes (emoji) tiek izmestas no adreses. Emocijzīmes tiek noņemtas pirms transliterācijas tieši tāpēc, lai, piemēram, raķetes emocijzīme nepārvērstos par vārdu rocket. "Noņemt ciparus" ir izslēgts, jo cipars virsrakstā parasti ir svarīga virsraksta daļa. "Maksimālais garums" ir diapazonā no 10 līdz 200 un pēc noklusējuma ir 80; ja slug ir garāks par to, dzinējs to nogriež pie pēdējā veselā vārda, kas ietilpst limitā, nevis pārgriež vārdu uz pusēm. Skaitlis blakus katram rezultātam ir tā garums rakstzīmēs, un tas kļūst sarkans, kad pārsniedz 60 — tas nav stingrs limits, bet gan punkts, kurā meklēšanas rezultāti sāk to saīsināt un kur kļūst neērti to ievietot ziņojumā.
Ir vēl divi slēdži, kas masveida konvertēšanu padara atkal par vienkāršu darbu. "Padarīt slug unikālus" risina situāciju, kad divi atšķirīgi virsraksti reducējas uz vienu un to pašu slug — "Top 10 padomu" un "Top-10 padomu" abi kļūst par top-10-padomu — un piešķir otrajam -2, trešajam -3, vispirms saīsinot bāzi, ja piedēklis to pagarinātu virs jūsu maksimālā garuma. Divas lapas vienā adresē ir problēma, ko ir daudz lētāk noķert šajā sarakstā nekā jūsu CMS (satura vadības sistēmai). "Izveidot slug no ielīmēta URL" darbojas pretējā virzienā: ielīmējiet pilnu saiti, un rīks paņems adreses pēdējo daļu, atmetīs vaicājuma virkni (query string) un jebkādu .html vai .php beigas, kā arī atkodēs procentu kodējumu (percent-encoding). Tādējādi Wikipedia saite, kas beidzas ar %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, atgriezīsies kā lviv, nevis kā sešpadsmitnieku (hex) ciparu rinda. Tas iedarbojas tikai tad, kad visa rinda ir saite, tāpēc teikuma iekšpusē citēta adrese tiek atstāta neskarta.
Kāpēc izvēlēties šo slug ģeneratoru?
- Tikai pārlūkprogrammā: jūsu virsraksti nekad netiek augšupielādēti, un lapa turpina darboties bezsaistē
- Masveida konvertēšana no ielīmēta teksta vai failo, virs katra slug saglabājot oriģinālo virsrakstu
- Reāli transliterācijas standarti katrai valodai, nevis viena vispārēja tabula visām
- Ukraiņu valodai atbilstoši 2010. gada noteikumiem Nr. 55 — rakstība, ko izmanto pasēs
- Katrs noteikums ir rediģējams pa vienam burtam, ar iespēju ar vienu klikšķi atiestatīt uz noklusējumu
- Automātiski -2 un -3 piedēkļi, lai novērstu divu vienādu slug rašanos
- Ielīmējiet saiti un izgūstiet no tās slug, ar atkodētu procentu kodējumu
- Rediģējams stopvārdu saraksts, kas jau ir aizpildīts atbilstoši jūsu valodai
- Droša saīsināšana pie vesela vārda, ar rakstzīmju skaitītāju blakus katram rezultātam
- Bezmaksas un neierobežots: nav reģistrācijas, nav limitu, nekas netiek saglabāts mūsu serveros
Slug ir nepieciešami visur, kur lapai vajadzīga lasāma adrese. Emuārs vai ziņu vietne katru virsrakstu pārvērš par adresi, un tieši šim mērķim šis rīks tika radīts: ielīmējiet nedēļas virsrakstus, saņemiet nedēļas URL adreses. Interneta veikals to pašu dara ar produktu un kategoriju nosaukumiem, parasti masveidā pēc datu importa, un bieži vien tādā valodā, kuras alfabētu adrese nevar atbalstīt. Dokumentācija un zināšanu bāzes veido enkurus (anchors) un failu nosaukumus tādā pašā veidā. Papildus tīmekļa adresēm šāda tīra teksta virkne ir nepieciešama faila nosaukumam, kas nesalūzīs citā operētājsistēmā, datubāzes atslēgai, ko cilvēks varēs izlasīt žurnālā (log), zara (branch) nosaukumam, attēla nosaukumam mediju bibliotēkā vai sadaļas identifikatoram statisko vietņu ģeneratorā. Jebkura vieta, kur cilvēkam lasāmam nosaukumam ir jāizdzīvo pēc ievietošanas mašīnlasāmā laukā, ir vieta, kur iederas slug.
Daži ierobežojumi ir zināmi pirms jūs paļaujaties uz to. Šis ir ģenerators, nevis validators: tas nepārbaudīs, vai slug jau ir aizņemts jūsu vietnē, jo tam nav ne jausmas, ko jūsu vietne satur — unikalitāte tiek garantēta tikai tajā sarakstā, ko tikko konvertējāt. Pārvirzīšana (redirects) arī ir jūsu darbs; publicētas lapas slug maiņa sabojā tās veco adresi, un šis lēmums jāpieņem jūsu CMS (satura vadības sistēmai), nevis šim rīkam. "Saglabāt failā" ieraksta vienkāršu tekstu, nevis CSV vai JSON. Automātiskā sadalīšana pieņem lēmumu par komatiem, kas gandrīz vienmēr ir pareizs, bet ne pilnīgi vienmēr, un tieši tāpēc "Sadalīt ievadi ar" ļauj jums to mainīt. Transliterācija ir konvencija, nevis tulkojums — München kļūst par muenchen, nevis par Munich —, tādēļ, kad lapai ir nostiprinājies nosaukums mērķa valodā, šis nosaukums ir labāks slug nekā jebkura automātiska oriģināla konvertācija.