Ang slug ay ang nababasang dulo ng isang web address — tulad ng my-first-post sa example.com/blog/my-first-post. Ito ang bahagi na pwedeng basahin ng isang tao bago magdesisyong i-click ito, at ang bahaging binabasa ng isang search engine bilang maikling paglalarawan ng kung ano ang nasa pahina, kaya't mas kailangan itong pag-isipan kaysa sa isang database id o petsa. Ginagawa ng libreng tagabuong ito ang anumang teksto bilang isang slug: i-paste ang isang pamagat sa "Tekstong iko-convert", pindutin ang "Bumuo ng resulta", at lalabas ang resulta na may katabing button ng pagkopya. Ang mga default ay ang mga setting na gusto ng karamihang site — "Lowercase", mga gitling sa pagitan ng mga salita, inalis ang mga karaniwang stop word, na-transliterate ang mga di-Latin na titik — kaya isang click na lang ay may magagamit ka nang slug, at ang bawat desisyong ito ay isang switch na pwede mong baguhin.
Lahat ng bagay ay nangyayari sa sarili mong device. Naglo-load ang pahina ng isang maliit na JavaScript engine at pinapagana ito nang lokal: ang iyong mga pamagat ay hindi kailanman ina-upload, hindi nalo-log, at patuloy na gumagana ang tool kahit na patay ang koneksyon mo sa internet. Ito rin ang dahilan kung bakit nag-a-update ang resulta sa sandaling baguhin mo ang isang setting. Mahalagang banggitin ang pagkakasunud-sunod ng trabaho, dahil ito ang nagpapangyari sa magiging resulta na madaling asahan: ang isang na-paste na link ay pinuputol muna sa huling bahagi nito, pagkatapos ay ginagawang lowercase ang teksto, pagkatapos ay inaalis ang mga stop word, ita-transliterate ang mga di-Latin na character, pagkatapos ay aalisin ang mga numero at espesyal na character kung hinihingi mo ito, pagkatapos ang anumang natira ay pagdudugtungin gamit ang iyong separator, puputulin ang resulta sa max na haba, at sa wakas ay makakakuha ng numeric na suffix ang anumang mauulit. Tumatanggap ang "Tekstong iko-convert" ng hanggang 500,000 character nang isahan, na katumbas ng ilang libong pamagat ng artikulo.
Isang linya papasok, isang slug palabas. Mag-paste ng buong listahan ng mga pamagat at ang bawat linya ay magiging sarili nitong may-numerong slug, kasama ang orihinal na pamagat na nakapakita sa itaas nito na kulay abo, kaya sa limampung batch, malalaman mo pa rin kung aling slug ang para sa aling pamagat. Ang isang listahang nasa file na ay hindi na kailangang dumaan sa clipboard: bubuksan ng "Mag-load mula sa file", ang button sa tabi ng input box, ang isang simpleng text file — .txt, .csv, .md, .json at iba pa — at ilalagay ang nilalaman nito sa field. Binabasa ng iyong browser ang file na iyon nang eksakto sa paraan ng pagbasa nito sa kung ano ang ita-type mo, at hindi ito ina-upload kahit saan. Pinagpapasyahan ng "Hatiin ang input ayon sa" kung paano hinahati ang listahan. "Awtomatikong pagtuklas" ang default: palaging naghihiwalay ang isang bagong linya sa mga item, habang pinaghihiwalay lang sila ng kuwit kapag ang input ay isang linya na ang lahat ng bahagi ay mukhang mga hiwalay na value — kaya ang "halagang 3,500 PHP" at "Kabanata 5: mga resulta, konklusyon" ay mananatiling buo sa halip na mahati-hati sa mga piraso. Pipilitin ng "Bagong linya", "Kuwit", at "Espasyo" ang pagpili kung alam mo na ang hugis ng iyong data. Nagdedesisyon ang "Format ng resulta" kung paano ibabalik ang batch kapag kinuha mo ito — isa kada linya, "Pinaghihiwalay ng espasyo", o "Pinaghihiwalay ng kuwit" — at sinusunod ito pareho ng "Kopyahin Lahat" at "I-save sa file". Pinapanatili ng "Kasaysayan" ang iyong huling 10 batch sa sarili mong browser, kaya naroon pa rin ang listahan na na-convert mo isang oras na ang nakalipas.
Ang di-Latin na teksto ay ang bahagi na nakukuha ng karamihan sa mga tagabuo ng slug nang halos tama pero iilan lang ang nakakakuha nang eksakto. Pinakaligtas ang isang URL sa simpleng ASCII, kaya kailangang ma-convert ang mga titik na Cyrillic, Greek, Arabic, Chinese, at European na may accent, at ang nag-iisang tunay na tanong ay kung kaninong rule ang gagamitin. Sinasagot ito ng pahinang ito sa dalawang layer. Sinasaklaw ng pangkalahatang layer ang bawat script: isang transliteration library na may makatuwirang ASCII na sagot para sa halos anumang character na pwede mong i-type, na siyang ibig sabihin ng "I-transliterate mula sa" kapag sinabi nitong "Awtomatiko (anumang wika)". Ang partikular na layer ay isang set ng mga manual na ginawang talahanayan para sa mga wika kung saan ang pangkalahatang sagot ay hindi ang mismong ginagamit ng bansa; pinapangalanan ng menu na "I-transliterate mula sa" ang mga may talahanayan ngayon, at lumalaki ang set habang umaabot ang tool sa mas maraming wika na nangangailangan nito. Ang pagpili ng isa ay maglo-load ng talahanayan nito sa isang nae-edit na grid sa ilalim ng "Mga Rule sa Transliteration", kung saan ang bawat titik ay isang text field na pwede mong baguhin, at ibinabalik ito sa dati ng "I-reset ang mga rule sa default". Sinusunod ng talahanayan sa Ukrainian ang Resolution No. 55 ng 2010 ng Gabinete ng mga Ministro, ang pamantayang nakalimbag sa mga pasaporte ng Ukrainian, kasama ang mga detalyeng madaling makaligtaan: ang зг ay nagiging zgh sa halip na zh kaya nananatili itong naiiba sa ж; ang є, ї, й, ю at я ay kumukuha ng isang anyo sa simula ng isang salita at iba naman kapag nasa loob nito; at ang apostrophe at soft sign ay inaalis nang hindi nagsisimula ng bagong salita, kaya ang Знам'янка ay lalabas bilang znamianka at hindi znamyanka. Default ng German sa pinalawak na ä → ae, ö → oe, ü → ue na ginagamit talaga ng mga address sa German, na may simpleng ä → a na variant kung mas gusto mo ito.
Naka-on ang "Alisin ang mga stop word" bilang default. Inaalis nito ang mga maliliit na salitang pang-ugnay — a, the, and, of, for — na nagpapahaba ng slug nang walang idinadagdag na kahulugan. Ang listahan sa ilalim ng "Mga stop word" ay ganap na nae-edit at darating na may nakasulat na: isang English na listahan at isang listahan para sa wika ng pahinang ginagamit mo, kaya alam ng pahinang Ukrainian ang в, на, та at і, at alam ng pahinang German ang der, die at das. Magdagdag ng mga sarili mong salita, tanggalin ang mga gusto mong panatilihin, o i-off nang tuluyan ang feature, kung saan magiging kulay abo ang field sa halip na magkunwaring mahalaga pa. Dalawang tapat na tala tungkol dito. Ang pagtanggal ng mga stop word ay isang maliit na pagpapaayos lamang kaysa sa isang paraan para tumaas ang ranking — makakakuha ka ng mas maikli at mas malinis na address, hindi mas magandang posisyon. At kung ang bawat salita sa isang pamagat ay mapapabilang sa listahan, ang tapat na resulta ay wala talaga, kaya sasabihin iyon sa iyo ng tool sa halip na bigyan ka ng isang walang laman na kahon.
Ang natitirang mga switch ang magpapasya sa hugis. Ang "Separator sa slug" ang pipili kung ano ang ilalagay sa pagitan ng mga salita, at ang default na gitling ay hindi tungkol sa panlasa: binabasa ng Google ang gitling bilang separator ng salita at ang underscore bilang pangdugtong, kaya ang my_first_post ay aabot sa isang crawler bilang isang mahabang salita habang ang my-first-post ay aabot bilang tatlo. Nariyan ang "Underscore (_)" para sa mga system na nagpipilit na gamitin iyon. Naka-on ang "Lowercase" dahil tinatrato ng karamihan sa mga server ang mga address bilang case-sensitive, at ang halong malaki at maliit na titik ay madaling paraan upang magkaroon ng dalawang URL para sa iisang pahina. Aalisin ng "Alisin ang mga espesyal na character" ang lahat maliban sa titik, numero, espasyo, gitling o underscore, kaya naiiwasang mailagay ang mga bantas, quotation mark at emoji sa isang address — partikular na inaalis ang mga emoji bago ang transliteration para hindi maging salitang rocket ang emoji ng rocket. Naka-off ang "Alisin ang mga numero", dahil ang numero sa pamagat ay karaniwang bahagi ng pamagat. Ang "Max na Haba" ay tumatakbo mula 10 hanggang 200 at ang default nito ay 80; kapag ang isang slug ay mas mahaba doon, puputulin ito ng engine sa huling buong salita na magkakasya kaysa sa gitna ng isang salita. Ang numero sa tabi ng bawat resulta ay ang haba nito sa mga character, at nagiging pula ito kapag lumampas sa 60 — hindi ito isang mahigpit na limitasyon, ngunit ito ang punto kung saan nagsisimulang maputol ang slug sa mga resulta ng paghahanap at nagiging mahirap itong i-paste sa isang mensahe.
May dalawa pang switch dahil binabago ng mga ito ang isang maramihang conversion pabalik sa isang isahang click na trabaho. Sinasalo ng "Gawing natatangi ang mga slug" ang sitwasyon kung saan dalawang magkaibang pamagat ay bumabagsak sa parehong slug — ang "Nangungunang 10 tips" at "Nangungunang-10 tips" ay parehong nagiging nangungunang-10-tips — at binibigyan nito ang pangalawa ng -2, ang pangatlo ng -3, pinapaikli muna ang pinakasalita kung lalampas ang suffix sa max na haba mo. Ang dalawang pahina sa iisang address ay isang problema na mas murang saluhin sa listahang ito kaysa sa iyong CMS. Gumagana naman sa kabilang direksyon ang "Kuhain ang slug mula sa na-paste na URL": i-paste ang isang buong link at kukunin ng tool ang huling bahagi ng path, iaalis ang query string at anumang .html o .php na dulo, at ide-decode ang percent-encoding, kaya ang isang Wikipedia link na nagtatapos sa %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ay babalik bilang lviv sa halip na mga hex digit. Gagana lang ito kapag ang buong linya ay isang link, kaya ang isang address na naka-quote sa loob ng isang pangungusap ay maiiwan kung nasaan ito.
Bakit dapat piliin ang slug generator na ito?
- Browser lang: hindi kailanman ina-upload ang iyong mga pamagat, at patuloy na gumagana ang pahina kahit offline
- Maramihang conversion mula sa paste o text file, kung saan nakalagay ang orihinal na pamagat sa itaas ng bawat slug
- Mga totoong pamantayan ng transliteration sa bawat wika, hindi isang pangkalahatang talahanayan para sa lahat
- Ukrainian ayon sa Resolution No. 55 of 2010 — ang spelling na ginagamit sa mga pasaporte
- Ang bawat rule ay nae-edit, titik kada titik, na may isahang click na pag-reset
- Awtomatikong suffix na -2 at -3 para walang dalawang slug sa isang batch ang magbanggaan
- Mag-paste ng link at kunin ang slug nito, naka-decode na ang percent-encoding
- Isang nae-edit na listahan ng stop word na may laman na para sa iyong wika
- Ligtas na pagputol sa isang buong salita, na may bilang ng character sa tabi ng bawat resulta
- Libre at walang limitasyon: walang sign-up, walang quota, walang itinatago sa aming mga server
Kailangan ng mga slug saanman ang isang pahina ay dapat magdala ng mababasang address. Ginagawang slug ng isang blog o news site ang bawat headline, at iyon ang layunin kung bakit ginawa ang tool na ito: i-paste ang mga headline sa buong linggo, kunin ang mga URL para sa buong linggo. Ganoon din ang ginagawa ng online shop para sa mga pangalan ng produkto at kategorya, kadalasan ay nang maramihan pagkatapos ng isang import, at kadalasan ay sa isang wika kung saan hindi kasya sa address ang alpabeto nito. Ganito rin ang paraan ng pagbuo ng mga anchor at pangalan ng file ng mga documentation at knowledge base. Bukod pa sa mga web address, iisang malinis na string ang kailangan mo para sa isang pangalan ng file na hindi masisira sa ibang operating system, database key na pwedeng basahin ng isang tao sa log, branch name, pangalan ng larawan sa media library, o ang identifier ng isang bahagi sa isang static site generator. Saanman kailangang maka-survive ng isang pangalang pwedeng basahin ng tao para mailagay sa isang field na binabasa ng makina, iyon ay ang lugar para sa slug.
May ilang limitasyon na dapat mong malaman bago mo ito asahan. Isa itong tagabuo, hindi validator: hindi nito iche-check kung ginagamit na ang slug sa iyong site, dahil wala itong ideya kung ano ang nilalaman ng site mo — ang pagiging natatangi na tinitiyak nito ay sa loob lang ng batch na nasa harap mo. Trabaho mo rin ang mga redirect; ang pagpapalit ng slug ng naka-publish na pahina ay sumisira sa lumang address nito, at desisyon iyon para sa iyong CMS at hindi para sa tool na ito. Nagsusulat ng simpleng text ang "I-save sa file", hindi CSV o JSON. Ang awtomatikong paghahati ay gumagawa ng desisyon tungkol sa mga kuwit na tama sa halos lahat ng sitwasyon ngunit hindi sa lahat, kaya hinahayaan kang i-override iyon ng "Hatiin ang input ayon sa". At ang transliteration ay isang kaugalian sa halip na isang pagsasalin — ang München ay nagiging muenchen, hindi Munich — kaya kapag ang isang pahina ay may napagkasunduang pangalan sa target na wika, ang pangalang iyon ay isang mas magandang slug kaysa sa anumang awtomatikong conversion ng orihinal.