Jenereta ya URL Slug

Badilisha kichwa chochote kuwa URL slug safi kwenye kivinjari chako — moja kwa wakati au orodha nzima kwa pamoja. Viwango halisi vya unukuzi, sheria zinazohaririwa, na hakuna data inayopakiwa kamwe.

Weka maandishi ya kubadilisha
Chaguo za Kina

Slug ni mkia unaosomeka wa anwani ya wavuti — my-first-post katika example.com/blog/my-first-post. Ni sehemu ambayo mtu anaweza kusoma kabla ya kuamua kubofya, na sehemu ambayo injini ya utafutaji inasoma kama maelezo mafupi ya kile ambacho ukurasa una, ndiyo maana inastahili kufikiriwa zaidi ya kitambulisho cha hifadhidata au tarehe. Jenereta hii ya bure hubadilisha maandishi yoyote kuwa slug: bandika kichwa kwenye "Maandishi ya kubadilisha", bonyeza "Tengeneza", na matokeo yanaonekana na kitufe cha kunakili kando yake. Chaguo-msingi ni mipangilio ambayo tovuti nyingi zinataka — "Herufi ndogo", deshi kati ya maneno, maneno ya kawaida ya kujaza yameondolewa, herufi zisizo za Kilatini zimenukuliwa — hivyo slug inayoweza kutumika iko mbofyo mmoja tu, na kila moja ya maamuzi hayo ni swichi unayoweza kubadilisha.

Kila kitu hufanyika kwenye kifaa chako mwenyewe. Ukurasa hupakia injini ndogo ya JavaScript na kuiendesha ndani ya kifaa: vichwa vyako havipakiwi kamwe, havihifadhiwi kwenye kumbukumbu, na zana inaendelea kufanya kazi muunganisho ukiwa umezimwa. Hiyo ndiyo sababu pia matokeo husasishwa mara tu unapobadilisha mpangilio. Mlolongo wa kazi unafaa kutajwa, kwa sababu ni kile kinachofanya matokeo yaweze kutabirika: kiungo kilichobandikwa hupunguzwa kwanza hadi sehemu yake ya mwisho ya njia, kisha maandishi hufanywa kuwa herufi ndogo, kisha maneno ya kusimamisha huondolewa, kisha herufi zisizo za Kilatini hunukuliwa, kisha nambari na herufi maalum huondolewa ikiwa uliomba hilo, kisha chochote kilichobaki huunganishwa na kitenganishi chako, kisha matokeo hukatwa kwa urefu wa juu, na hatimaye marudio hupata kiambishi cha nambari. "Maandishi ya kubadilisha" inakubali hadi herufi 500,000 kwa mkupuo mmoja, ambayo ni vichwa elfu chache vya makala.

Mstari mmoja ndani, slug moja nje. Bandika orodha nzima ya vichwa na kila mstari unakuwa slug yake yenye nambari, na kichwa ilikotoka kikionyeshwa juu yake kwa rangi ya kijivu, hivyo katika kundi la hamsini bado unaweza kujua ipi ni ya kichwa kipi. Orodha ambayo tayari ipo kwenye faili haihitaji kupitia ubao wa kunakili: "Pakia kutoka kwa faili", kitufe kilicho kando ya sanduku la ingizo, hufungua faili ya maandishi wazi — .txt, .csv, .md, .json na kama hizo — na kudondosha yaliyomo kwenye uwanja. Kivinjari chako kinasoma faili hiyo kwa njia sawa na inavyosoma kile unachochapa, na haipakiwi popote. "Gawanya ingizo kwa" huamua jinsi orodha inavyokatwa. "Utambuzi otomatiki" ndio chaguo-msingi: mstari mpya kila wakati hutenganisha vipengee, wakati koma inavitenganisha tu wakati ingizo ni mstari mmoja ambao sehemu zake zote zinaonekana kama maadili yanayojitegemea — hivyo "bei 3,500 TZS" na "Sura ya 5: matokeo, hitimisho" zinabaki kamili badala ya kugawanyika vipande vipande. "Mstari mpya", "Koma" na "Nafasi" zinalazimisha uchaguzi wakati tayari unajua umbo la data yako. "Muundo wa matokeo" huamua jinsi kundi linarudi unapolichukua — moja kwa kila mstari, "Imetenganishwa kwa nafasi", au "Imetenganishwa kwa koma" — na zote "Nakili Vyote" na "Hifadhi kwenye faili" zinaifuata. "Historia" huweka makundi yako 10 ya mwisho katika kivinjari chako, kwa hivyo orodha uliyobadilisha saa moja iliyopita bado ipo pale.

Maandishi yasiyo ya Kilatini ni sehemu ambayo jenereta nyingi za slug hupata karibu sawa na chache sana hupata sawa kabisa. URL ni salama zaidi katika ASCII rahisi, hivyo herufi za Kicyrillic, Kigiriki, Kiarabu, Kichina na za Ulaya zenye lafudhi zinapaswa kubadilishwa, na swali pekee la kweli ni kwa sheria ya nani. Ukurasa huu unalijibu katika tabaka mbili. Tabaka la jumla linashughulikia kila hati: maktaba ya unukuzi yenye jibu la kuridhisha la ASCII kwa karibu kila herufi unayoweza kuchapa, ambayo ndiyo "Nukuu kutoka" inamaanisha inaposema "Otomatiki (lugha yoyote)". Tabaka maalum ni seti ya majedwali yaliyojengwa kwa mkono kwa lugha ambazo jibu la jumla si lile ambalo nchi inatumia kwa kweli; orodha ya "Nukuu kutoka" inataja zile ambazo zina jedwali leo, na seti inakua kadiri chombo kinapofikia lugha zaidi zinazohitaji moja. Kuchagua moja hupakia jedwali lake kwenye gridi inayohaririwa chini ya "Sheria za Unukuzi", ambapo kila herufi ni uwanja wa maandishi unaoweza kubadilisha, na "Rejesha sheria kwa chaguo-msingi" inaiweka tena. Jedwali la Kiukreni linafuata Azimio la Baraza la Mawaziri Na. 55 la 2010, kiwango kinachochapishwa katika pasipoti za Kiukreni, ikijumuisha maelezo ambayo ni rahisi kukosa: зг inakuwa zgh badala ya zh ili ibaki tofauti na ж; є, ї, й, ю na я zinachukua umbo moja mwanzoni mwa neno na jingine ndani yake; na kistari cha juu na alama laini huachwa bila kuanzisha neno jipya, kwa hivyo Знам'янка hutoka kama znamianka na si znamyanka. Kijerumani hubadilika kwa chaguo-msingi kuwa ä → ae, ö → oe, ü → ue ambazo anwani za Kijerumani zinatumia kweli, ikiwa na tofauti rahisi ya ä → a ukipendelea.

"Ondoa maneno ya kusimamisha" imewashwa kwa chaguo-msingi. Inaacha maneno madogo ya kuunganisha — a, the, and, of, for — ambayo hurefusha slug bila kuongeza maana kwake. Orodha chini ya "Maneno ya kusimamisha" inahaririwa kikamilifu na inakuja ikiwa tayari imejazwa: orodha ya Kiingereza pamoja na orodha ya lugha ya ukurasa uliomo, kwa hivyo ukurasa wa Kiswahili unajua ya, wa, na na kwa. Ongeza maneno yako mwenyewe, futa yale unayotaka yabaki, au zima kipengele hicho kabisa, ambapo uwanja huo unakuwa wa kijivu badala ya kujifanya bado unajalisha. Vidokezo viwili vya ukweli kuihusu. Kuondoa maneno ya kusimamisha ni faida ndogo ya usafi badala ya nguvu ya kupangilia — unapata anwani fupi na safi zaidi, si nafasi nzuri. Na ikiwa kila neno katika kichwa litatokea kuwa kwenye orodha, matokeo ya kweli ni hakuna chochote kabisa, kwa hivyo zana inakuambia badala ya kukupa sanduku tupu.

Swichi zingine zote zinaamua sura. "Kitenganishi katika slug" huchagua kile kinachokaa kati ya maneno, na chaguo-msingi la deshi sio suala la ladha: Google inasoma deshi kama kitenganishi cha neno na mstari wa chini kama kiunganishi, hivyo my_first_post humfikia mtambaji kama neno moja refu wakati my-first-post inamfikia kama matatu. "Mstari wa chini (_)" iko hapo kwa mifumo inayoishikilia. "Herufi ndogo" imewashwa kwa sababu seva nyingi zinachukulia anwani kama nyeti kwa herufi, na herufi mchanganyiko ni njia rahisi ya kuishia na URL mbili kwa ukurasa mmoja. "Ondoa herufi maalum" huvua kila kitu ambacho si herufi, tarakimu, nafasi, deshi au mstari wa chini, ambayo ndiyo inazuia alama za uakifishaji, alama za nukuu na emoji nje ya anwani — emoji huondolewa kabla ya unukuzi haswa ili roketi isije kuwa neno rocket. "Ondoa nambari" imezimwa, kwa sababu nambari katika kichwa kawaida ni sehemu ya kichwa hicho. "Urefu wa juu" huanzia 10 hadi 200 na ina chaguo-msingi la 80; wakati slug ni ndefu zaidi ya hiyo, injini hukata kwa neno zima la mwisho linalotoshea badala ya katikati ya moja. Takwimu kando ya kila matokeo ni urefu wake katika herufi, na inageuka kuwa nyekundu ikizidi 60 — si kikomo kigumu, lakini nukta ambayo slug inaanza kukatwa katika matokeo ya utafutaji na inakuwa ngumu kubandika kwenye ujumbe.

Swichi mbili zaidi zipo kwa sababu hugeuza ubadilishaji mwingi kuwa kazi ya kubofya mara moja. "Fanya slugs kuwa za kipekee" hukamata kesi ambapo vichwa viwili tofauti hupunguzwa kwenye slug moja — "Vidokezo 10 bora" na "Vidokezo-10-bora" zote huwa vidokezo-10-bora — na kuipa ya pili -2, ya tatu -3, ikifupisha msingi kwanza ikiwa kiambishi kitasukuma zaidi ya urefu wako wa juu. Kurasa mbili kwenye anwani moja ni tatizo la bei nafuu sana kulikamata katika orodha hii kuliko katika CMS yako. "Chukua slug kutoka kwenye URL iliyobandikwa" hufanya kazi katika mwelekeo mwingine: bandika kiungo kamili na zana inachukua sehemu ya mwisho ya njia, inadondosha kamba ya swali na mwisho wowote wa .html au .php, na kufichua usimbaji wa asilimia, hivyo kiungo cha Wikipedia kinachoishia na %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 kinarudi kama lviv badala ya mfululizo wa nambari za hex. Inafanya kazi tu wakati mstari mzima ni kiungo, kwa hivyo anwani iliyonukuliwa ndani ya sentensi inaachwa pale ilipo.

Kwa nini uchague jenereta hii ya slug?

Slugs zinahitajika popote ambapo ukurasa unapaswa kubeba anwani inayosomeka. Blogi au tovuti ya habari hugeuza kila kichwa cha habari kuwa moja, ambayo ndiyo kesi zana hii iliundwa kwayo: bandika vichwa vya habari vya wiki, pata URL za wiki. Duka la mtandaoni hufanya vivyo hivyo kwa majina ya bidhaa na kategoria, kwa kawaida kwa wingi baada ya uagizaji, na kwa kawaida katika lugha ambayo alfabeti yake anwani haiwezi kushikilia. Nyaraka na msingi wa maarifa hujenga nanga na majina ya faili kwa njia sawa. Zaidi ya anwani za wavuti kamba ile ile safi ni kile unachotaka kwa jina la faili ambalo halitavunjika kwenye mfumo mwingine wa uendeshaji, ufunguo wa hifadhidata ambao mtu anaweza kusoma kwenye kumbukumbu, jina la tawi, jina la picha kwenye maktaba ya media, au kitambulisho cha sehemu kwenye jenereta ya tovuti tuli. Sehemu yoyote ambapo jina linalosomeka kwa binadamu linapaswa kunusurika kuingizwa kwenye uwanja unaosomeka kwa mashine ni mahali ambapo slug inastahili kuwa.

Vipimo vichache vinafaa kujulikana kabla ya kutegemea zana hii. Hii ni jenereta, si kithibitishaji: haitaangalia ikiwa slug tayari inatumika kwenye tovuti yako, kwa sababu haina wazo kile ambacho tovuti yako ina — upekee inaohakikisha ni ndani ya kundi lililo mbele yako. Uelekezaji kwingine pia ni kazi yako; kubadilisha slug ya ukurasa uliochapishwa huvunja anwani yake ya zamani, na huo ni uamuzi kwa CMS yako badala ya zana hii. "Hifadhi kwenye faili" inaandika maandishi tupu, si CSV au JSON. Ugawanyaji wa kiotomatiki unafanya uamuzi kuhusu koma ambao ni sahihi katika karibu kila kesi lakini si zote, ambayo ndiyo sababu hasa "Gawanya ingizo kwa" inakuwezesha kubatilisha hili. Na unukuzi ni mapatano badala ya tafsiri — München inakuwa muenchen, si Munich — kwa hivyo wakati ukurasa una jina lililothibitishwa katika lugha lengwa, jina hilo ni slug bora kuliko ubadilishaji wowote wa kiotomatiki wa asili.

FAQ

Jinsi gani naweza kutengeneza URL slug?

Bandika kichwa chako kwenye "Maandishi ya kubadilisha" na ubonyeze "Tengeneza". Matokeo yanaonekana na kitufe cha kunakili kando yake, yakiwa yamebadilishwa na mipangilio ya chaguo-msingi ambayo tovuti nyingi zinataka: herufi ndogo, deshi kati ya maneno, maneno ya kujaza yameondolewa na herufi zisizo za Kilatini kumenukuliwa. Kila moja ya hayo ni swichi unayoweza kubadilisha, na "Chaguo za Kina" inashikilia zingine — kitenganishi, urefu wa juu, orodha ya maneno ya kusimamisha na sheria za unukuzi.

Je, ninaweza kubadilisha orodha nzima ya vichwa kwa wakati mmoja?

Ndiyo. Bandika hadi herufi 500,000 — vichwa elfu chache vya habari — au uvute moja kwa moja kutoka kwenye faili na "Pakia kutoka kwa faili", kitufe kilicho kando ya sanduku la ingizo, ambacho huisoma kwenye kivinjari chako bila kuipakia. Kila mstari unakuwa slug yake mwenyewe, yenye nambari, ikiwa na kichwa ilikotoka ikionyeshwa juu yake ili uweze kuzioanisha. "Gawanya ingizo kwa" hudhibiti jinsi orodha inavyogawanywa, "Muundo wa matokeo" huamua ikiwa kundi linarudi kama mistari, "Imetenganishwa kwa nafasi" au "Imetenganishwa kwa koma", na zote "Nakili Vyote" na "Hifadhi kwenye faili" zinachukua kila kitu kwa wakati mmoja.

Jenereta inashughulikiaje herufi za Kicyrillic na zenye lafudhi?

Huzinukuu kuwa ASCII, katika tabaka mbili. Hati yoyote ile — Kicyrillic, Kigiriki, Kiarabu, Kichina, Kilatini chenye lafudhi — inashughulikiwa na maktaba ya unukuzi ya jumla, ambayo ndiyo "Otomatiki (lugha yoyote)" hutumia. Juu ya hiyo hukaa majedwali yaliyoundwa kwa mkono kwa lugha ambazo jibu la jumla si lile ambalo nchi hizo zinatumia kweli; orodha ya "Nukuu kutoka" inataja zile zilizo na jedwali leo. Chagua moja na jedwali lake hupakia, na kila herufi ikihaririwa. Tabaka la jumla tayari hushughulikia lugha hii kwa usahihi — Kiswahili inakuwa kiswahili, Dar es Salaam inakuwa dar-es-salaam, na kistari cha juu kwenye Ng'ambo kinaondolewa bila kuanzisha neno jipya, kutoa ngambo. Hivi ndivyo hasa anwani katika lugha hii zinafanya, kwa hiyo hakuna jedwali linalohitajika na hakuna lolote lililopo kwa ajili ya lugha hii.

Ni kiwango gani cha unukuzi kinatumika kwa Kiukreni?

Azimio la Baraza la Mawaziri Na. 55 la tarehe 27 Januari 2010 — kiwango kinachotumika katika pasipoti za Kiukreni. Hiyo inajumuisha sehemu ambazo ni rahisi kukosea: зг inakuwa zgh ili ibaki tofauti na ж, herufi є, ї, й, ю na я huchukua umbo moja mwanzoni mwa neno na jingine ndani yake, na kistari cha juu na alama laini huachwa bila kuanzisha neno jipya, hivyo Знам'янка inakuwa znamianka na si znamyanka. Tofauti ya pili yenye ya, yu na yi kila mahali inapatikana ukipendelea sura rahisi.

Je, ninaweza kubadilisha jinsi herufi fulani inavyonukuliwa?

Ndiyo. Fungua "Sheria za Unukuzi" na kila herufi ya jedwali ni uwanja wa maandishi: chapa chochote unachotaka herufi hiyo iwe, na matokeo husasishwa kadiri unavyochapa. Kufuta uwanja kunaondoa herufi kabisa. Mabadiliko yako yanakumbukwa kwenye kivinjari chako kwa wakati ujao, na "Rejesha sheria kwa chaguo-msingi" inarejesha jedwali la kawaida wakati wowote unapotaka lirudi.

Maneno ya kusimamisha ni nini na je, niyatoe?

Haya ni maneno madogo ya kuunganisha — ya, wa, na, kwa — ambayo hufanya slug kuwa ndefu bila kuifanya iwe wazi zaidi. Kuziondoa kumewashwa kwa chaguo-msingi na orodha iliyo chini ya "Maneno ya kusimamisha" inaharirika, ikifika ikiwa imejazwa tayari na orodha ya Kiingereza na moja kwa ajili ya lugha ya ukurasa uliomo. Kuwa mkweli juu ya faida yake hata hivyo: inazalisha anwani fupi na nadhifu zaidi, si nafasi nzuri ya utafutaji. Ikiwa kichwa kina maneno ya kusimamisha tu chombo kinasema hivyo badala ya kukurudishia slug tupu.

Je, nitumie deshi au mistari ya chini katika slug?

Deshi, isipokuwa kama kuna kitu katika mfumo wako kinachohitaji vinginevyo. Google huchukulia deshi kama kitenganishi kati ya maneno na mstari wa chini kama herufi inayoziunganisha, kwa hivyo my_first_post inasomwa kama neno moja refu wakati my-first-post inasomwa kama matatu. Jenereta inaweka deshi kama chaguo-msingi kwa sababu hiyo; "Kitenganishi katika slug" inatoa "Mstari wa chini (_)" kwa mifumo inayoihitaji.

URL slug inapaswa kuwa ndefu kiasi gani?

Fupi ya kutosha kusomeka kwa haraka — maneno machache ya kwanza hubeba maana na yaliyobaki kwa kawaida ni mkia wa sentensi. Nambari kando ya kila matokeo ni urefu wake katika herufi na inakuwa nyekundu ikizidi 60, ambapo takriban ndipo matokeo ya utafutaji huanza kuikata na inakuwa vigumu kuibandika kwenye ujumbe. "Urefu wa juu" huweka kikomo kigumu kutoka herufi 10 hadi 200, na ina chaguo-msingi la 80.

Je, inakata maneno katikati wakati slug ni ndefu sana?

Hapana. Wakati slug inapozidi urefu wa juu, injini hurudi kwenye neno zima la mwisho linalotoshea na kukata hapo, kwa hivyo slug iliyokatwa bado inasomeka kama maneno badala ya kuishia katikati ya silabi. Vile vile hutumika wakati kiambishi cha nambari kinaongezwa kwenye marudio: msingi hufupishwa kwanza ili slug iliyokamilika iheshimu kikomo chako.

Nini kitatokea ikiwa vichwa viwili vitazalisha slug sawa?

"Fanya slugs kuwa za kipekee" imewashwa kwa chaguo-msingi na kuishughulikia: tukio la kwanza huhifadhi slug tupu, la pili hupata -2, la tatu -3, na kuendelea. Inashika kesi ya kawaida ambapo vichwa viwili tofauti vinapunguza kwenye kitu kimoja — Vidokezo 10 bora na Vidokezo-10-bora vyote vinakuwa vidokezo-10-bora. Kuizima inakupa matokeo mbichi na nakala zikiwa kamili. Kumbuka kwamba upekee umehakikishwa pekee ndani ya kundi ulilobadilisha; zana haiwezi kujua kilicho tayari kwenye tovuti yako.

Je, ninaweza kubandika URL badala ya kichwa?

Ndiyo. "Chukua slug kutoka kwenye URL iliyobandikwa" imewashwa kwa chaguo-msingi, na wakati mstari mzima ni kiungo chombo huvuta sehemu ya mwisho ya njia, huondoa kamba ya hoja na mwisho wowote wa .html au .php, na kufichua usimbaji wa asilimia — kwa hivyo anwani ya Wikipedia inayoishia na %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 inarudi kama lviv badala ya mfululizo wa hex. Inaanzishwa tu kwenye mstari ambao wote ni kiungo, hivyo URL iliyonukuliwa ndani ya sentensi inachukuliwa kama maandishi ya kawaida.

Je, maandishi yangu yanatumwa kwenye seva?

Hapana. Ubadilishaji unaendeshwa kwenye kivinjari chako kama JavaScript ya ndani. Hakuna kitu kinachopakiwa, hakuna kinachorekodiwa, na baada ya ukurasa kupakia huendelea kufanya kazi muunganisho ukiwa umezimwa. Vichwa vya habari ambavyo havijachapishwa, majina ya ndani ya bidhaa na kazi za wateja hukaa kwenye mashine yako, ambayo ni sababu ya vitendo ya kupendelea zana ya ndani kuliko ya upande wa seva kwa kazi hii mahususi.

Kwa nini sentensi yangu moja iligawanyika katika slugs mbili?

Kwa sababu ilikuwa na koma na "Gawanya ingizo kwa" iliwekwa kwenye "Utambuzi otomatiki". Hali hiyo inachukulia mstari mpya kama kitenganishi cha uhakika na koma kama kinachowezekana, na inagawanya kwenye koma tu wakati sehemu za mstari mmoja zote zinaonekana kama thamani huru — thamani kama 3,500 au sentensi yenye koloni inaachwa nzima kwa makusudi. Wakati kichwa bado kinagawanyika na haipaswi, weka "Gawanya ingizo kwa" kuwa "Mstari mpya" na ingizo litakatwa pale tu ulipobonyeza Enter.