Slug-ը վեբ հասցեի կարդացվող վերջավորությունն է, ինչպես my-first-post-ը example.com/blog/my-first-post հասցեում: Այն այն մասն է, որը մարդը կարող է կարդալ նախքան սեղմելու որոշում կայացնելը, և որը որոնման համակարգը կարդում է որպես էջի բովանդակության կարճ նկարագրություն: Այդ իսկ պատճառով այն արժանի է ավելի շատ ուշադրության, քան տվյալների բազայի ID-ն կամ ամսաթիվը: Այս անվճար գեներատորը ցանկացած տեքստ վերածում է slug-ի. տեղադրեք վերնագիրը «Տեքստ փոխարկման համար» դաշտում, սեղմեք «Ստեղծել», և արդյունքը կհայտնվի կողքին՝ պատճենելու կոճակով հանդերձ: Լռելյայն կարգավորումներն այն են, ինչ նախընտրում են կայքերի մեծամասնությունը՝ փոքրատառեր, բառերի միջև գծիկներ, հաճախ հանդիպող ավելորդ բառերի հեռացում և ոչ լատինական տառերի տառադարձում: Այսպիսով, օգտագործման համար պիտանի slug-ը մեկ սեղմումով հեռավորության վրա է, և դուք կարող եք փոխել այս որոշումներից յուրաքանչյուրը:
Ամեն ինչ կատարվում է ձեր սեփական սարքի վրա: Էջը բեռնում է փոքրիկ JavaScript շարժիչ և այն աշխատեցնում է տեղական մակարդակում. ձեր վերնագրերը երբեք չեն վերբեռնվում, չեն գրանցվում, և գործիքը շարունակում է աշխատել անգամ անջատված ինտերնետ կապի դեպքում: Այդ իսկ պատճառով արդյունքն անմիջապես թարմանում է կարգավորումը փոխելուն պես: Գործընթացի հաջորդականությունն արժե նշել, քանի որ այն կանխատեսելի է դարձնում ելքային արդյունքը. տեղադրված հղումը նախ կրճատվում է մինչև իր վերջին ուղու հատվածը, այնուհետև տեքստը դառնում է փոքրատառ, հեռացվում են stop բառերը, ոչ լատինական նիշերը տառադարձվում են, որից հետո թվերն ու հատուկ նիշերը հեռացվում են, եթե դուք այդպես եք պահանջել: Այն, ինչ մնում է, միացվում է ձեր ընտրած բաժանիչով, այնուհետև արդյունքը կրճատվում է մինչև առավելագույն երկարություն, և վերջապես, կրճատված ու կրկնվող արդյունքը ստանում է թվային վերջածանց: «Տեքստ փոխարկման համար» դաշտը միանգամից ընդունում է մինչև 500,000 նիշ, ինչը հավասար է մի քանի հազար հոդվածների վերնագրերի:
Մեկ տող մուտքագրում, մեկ slug ելքում: Տեղադրեք վերնագրերի մի ամբողջ ցանկ, և յուրաքանչյուր տող կդառնա իր համարակալված slug-ը, որի վերևում մոխրագույնով կերևա սկզբնական վերնագիրը: Այսպիսով, անգամ հիսուն տարրից բաղկացած խմբաքանակի մեջ կարող եք տարբերել, թե որ slug-ը որ վերնագրին է պատկանում: Եթե ցանկն արդեն ֆայլում է, այն պարտադիր չէ անցկացնել սեղմատախտակի միջով. «Բեռնել ֆայլից» կոճակը (մուտքագրման դաշտի կողքին) բացում է պարզ տեքստային ֆայլ՝ .txt, .csv, .md, .json և այլն, ու դրա բովանդակությունը լցնում դաշտի մեջ: Ձեր զննարկիչը կարդում է այդ ֆայլը ճիշտ այնպես, ինչպես կարդում է ձեր մուտքագրածը, և այն ոչ մի տեղ չի վերբեռնվում: «Բաժանել ըստ»-ը որոշում է, թե ինչպես պետք է բաժանվի ցանկը: Լռելյայն ընտրված է «Ավտոմատ» տարբերակը. նոր տողը միշտ առանձնացնում է տարրերը, իսկ ստորակետը առանձնացնում է միայն այն ժամանակ, երբ մուտքագրումը մեկ տող է, որի բոլոր մասերը նման են ինքնուրույն արժեքների, ուստի «գինը 3,500 դրամ» և «Գլուխ 5: արդյունքներ, եզրակացություններ»-ը մնում են ամբողջական՝ մասնատվելու փոխարեն: «Նոր տող», «Ստորակետ» և «Բացատ» տարբերակները թույլ են տալիս հստակ ընտրություն կատարել, երբ արդեն գիտեք ձեր տվյալների կառուցվածքը: «Ելքի ձևաչափ»-ը որոշում է, թե ինչպես կվերադարձվի խմբաքանակը՝ յուրաքանչյուրը մեկ տողում, «Բացատով բաժանված» թե «Ստորակետով բաժանված», և երկու կոճակներն էլ («Պատճենել բոլորը» և «Պահպանել ֆայլում») հետևում են դրան: «Պատմություն» բաժինը պահպանում է ձեր վերջին 10 խմբաքանակները ձեր իսկ զննարկիչում, ուստի մեկ ժամ առաջ փոխարկված ցանկը դեռ այնտեղ է:
Ոչ լատինական տեքստն այն մասն է, որտեղ slug գեներատորների մեծ մասը մոտավորապես ճիշտ է աշխատում, բայց քչերն են աշխատում կատարյալ: URL-ն ամենաանվտանգն է պարզ ASCII ձևաչափով, ուստի կիրիլյան, հունական, արաբական, չինական և եվրոպական շեշտադրված տառերը պետք է փոխարկվեն, և միակ իրական հարցն այն է, թե ում կանոնով: Այս էջը պատասխանում է դրան երկու մակարդակով: Ընդհանուր մակարդակն ընդգրկում է յուրաքանչյուր այբուբեն. դա տառադարձման գրադարան է, որը խելամիտ ASCII պատասխան է տալիս գրեթե ցանկացած նիշի համար, որը կարող եք մուտքագրել: Սա հենց այն է, ինչ նշանակում է «Տառադարձել (որ լեզվից)», երբ ընտրված է «Ավտոմատ (ցանկացած լեզու)»: Հատուկ մակարդակը ձեռքով կազմված աղյուսակների հավաքածու է այն լեզուների համար, որտեղ ընդհանուր պատասխանը չի համապատասխանում տվյալ երկրի իրական օգտագործմանը: «Տառադարձել (որ լեզվից)» ցանկը թվարկում է նրանց, որոնք այսօր ունեն իրենց աղյուսակը, և այդ ցանկն ընդլայնվում է, երբ գործիքն ավելացնում է նոր լեզուներ: Դրանցից որևէ մեկն ընտրելիս աղյուսակը բեռնվում է «Տառադարձման կանոններ»-ի տակ գտնվող խմբագրվող ցանցում, որտեղ յուրաքանչյուր տառ տեքստային դաշտ է, որը կարող եք փոխել, իսկ «Վերականգնել լռելյայն կանոնները» կոճակը վերադարձնում է այն նախնական վիճակին: Ուկրաինական աղյուսակը հետևում է Նախարարների կաբինետի 2010 թ. թիվ 55 որոշմանը (ուկրաինական անձնագրերում տպագրված ստանդարտին)՝ ներառելով մանրամասներ, որոնք հեշտ է անտեսել. зг-ն դառնում է zgh (ոչ թե zh), որպեսզի տարբերվի ж-ից. є, ї, й, ю և я տառերը մի ձև են ստանում բառի սկզբում և մեկ այլ ձև՝ դրա ներսում, իսկ ապաթարցն ու փափկության նշանը հեռացվում են առանց նոր բառ սկսելու, ուստի Знам'янка-ն դառնում է znamianka, այլ ոչ թե znamyanka: Գերմաներենը լռելյայն օգտագործում է ընդլայնված ä → ae, ö → oe, ü → ue, որոնք գերմանական հասցեներն իրականում կիրառում են, սակայն եթե նախընտրում եք պարզ ä → a տարբերակը, այն ևս հասանելի է:
«Հեռացնել stop բառերը» միացված է լռելյայն: Այն հեռացնում է փոքր կապող բառերը (a, the, and, of, for և այլն), որոնք երկարացնում են slug-ը առանց որևէ իմաստ ավելացնելու: «Stop բառեր»-ի տակ գտնվող ցանկն ամբողջությամբ խմբագրելի է և գալիս է արդեն լրացված՝ անգլերեն ցանկ գումարած այն լեզվի ցանկը, որի էջում գտնվում եք: Այսպիսով, ուկրաինական էջը ճանաչում է в, на, та և і բառերը, իսկ գերմանականը՝ der, die և das: Ավելացրեք ձեր սեփական բառերը, ջնջեք նրանք, որոնք ցանկանում եք պահել, կամ ամբողջությամբ անջատեք գործառույթը, ինչի դեպքում դաշտը կդառնա մոխրագույն՝ ցույց տալով, որ այլևս ակտիվ չէ: Այս մասին պետք է իմանալ երկու կարևոր բան: Stop բառերի հեռացումն ավելի շատ արվում է հասցեն կարճ ու մաքուր դարձնելու համար, քան որպես որոնման համակարգերում դիրքը բարելավելու միջոց. դուք ուղղակի ստանում եք ավելի կարճ և կոկիկ հասցե, ոչ թե ավելի լավ դիրք: Իսկ եթե վերնագրի յուրաքանչյուր բառ պատահաբար գտնվում է այս ցանկում, արդյունքում ոչինչ չի մնում, ուստի գործիքը դատարկ վանդակ տալու փոխարեն ձեզ տեղեկացնում է այդ մասին:
Մնացած անջատիչները որոշում են վերջնական տեսքը: «Բաժանիչ slug-ում»-ն ընտրում է այն նիշը, որը կգտնվի բառերի միջև, և գծիկի լռելյայն օգտագործումը պարզապես ճաշակի հարց չէ. Google-ը գծիկն ընկալում է որպես բառերի բաժանիչ, իսկ ընդգծումը՝ որպես միացնող նշան: Այդպիսով my_first_post-ը հասնում է որոնողական համակարգին որպես մեկ երկար բառ, իսկ my-first-post-ը՝ որպես երեք առանձին բառ: «Ընդգծում (_)»-ը նախատեսված է այն համակարգերի համար, որոնք պարտադրում են դրա օգտագործումը: «Փոքրատառեր»-ը միացված է, քանի որ սերվերների մեծ մասը զգայուն է հասցեների մեծատառ-փոքրատառի նկատմամբ (case-sensitive), և խառը տառաչափերի օգտագործումը հեշտ ճանապարհ է մեկ էջի համար երկու URL ունենալու համար: «Հեռացնել հատուկ նիշերը» մաքրում է ամեն ինչ, բացի տառերից, թվերից, բացատից, գծիկից կամ ընդգծումից. սա հեռու է պահում կետադրական նշանները, չակերտներն ու էմոջիները հասցեից: Էմոջիները հեռացվում են մինչև տառադարձումը հատկապես այն պատճառով, որ, օրինակ, հրթիռի էմոջին չդառնա rocket բառը: «Հեռացնել թվերը» անջատված է, քանի որ վերնագրում առկա թիվը սովորաբար դրա անբաժանելի մասն է: «Առավելագույն երկարություն»-ը տատանվում է 10-ից 200 և լռելյայն սահմանված է 80. երբ slug-ն ավելի երկար է դրանից, շարժիչն այն կտրում է վերջին ամբողջական բառի վրայից՝ բառը մեջտեղից կիսելու փոխարեն: Յուրաքանչյուր արդյունքի կողքի թիվը ցույց է տալիս դրա երկարությունը նիշերով, որը 60-ը անցնելիս դառնում է կարմիր. սա ոչ թե խիստ սահմանափակում է, այլ այն կետը, որտեղ որոնման արդյունքներում slug-ն սկսում է կրճատվել, և հաղորդագրության մեջ այն տեղադրելը անհարմար է դառնում:
Կան ևս երկու անջատիչներ, քանի որ դրանք զանգվածային փոխարկումը վերածում են մեկ սեղմումով գործողության: «Դարձնել slug-ները եզակի»-ն լուծում է այն դեպքերը, երբ երկու տարբեր վերնագրեր բերվում են նույն slug-ին (օրինակ՝ «Լավագույն 10 խորհուրդ» և «Լավագույն-10 խորհուրդ» երկուսն էլ դառնում են lavagowyn-10-khorhowrd) և երկրորդին ավելացնում է -2, երրորդին՝ -3 վերջածանցը՝ անհրաժեշտության դեպքում կրճատելով հիմքը, եթե վերջածանցն անցնի ձեր նշած առավելագույն երկարությունը: Մեկ հասցեում երկու էջ ունենալը շատ ավելի էժան է կանխել այս ցուցակում, քան ձեր CMS-ում: «Վերցնել slug-ը տեղադրված URL-ից»-ն աշխատում է հակառակ ուղղությամբ. տեղադրեք ամբողջական հղումը, և գործիքը կվերցնի ուղու վերջին հատվածը, կհեռացնի հարցման տողը և որևէ .html կամ .php վերջավորություն, ինչպես նաև կվերծանի տոկոսային կոդավորումը: Այսպիսով, Վիքիպեդիայի հղումը, որն ավարտվում է %D0%9B%D1%8C%D0%B2%D1%96%D0%B2-ով, կվերադարձվի որպես lviv, այլ ոչ թե հեքսադեցիմալ նիշերի հաջորդականություն: Այն գործում է միայն այն ժամանակ, երբ ամբողջ տողը հղում է, ուստի նախադասության մեջ մեջբերված հասցեն կմնա այնպես, ինչպես կա:
Ինչու՞ ընտրել այս slug գեներատորը:
- Միայն զննարկիչում. ձեր վերնագրերը երբեք չեն վերբեռնվում, և էջը կարող է աշխատել անգամ օֆլայն
- Զանգվածային փոխարկում տեղադրված տեքստից կամ ֆայլից՝ սկզբնական վերնագիրը յուրաքանչյուր slug-ի վերևում
- Իրական տառադարձման ստանդարտներ յուրաքանչյուր լեզվի համար, այլ ոչ թե մեկ ընդհանուր աղյուսակ բոլորի համար
- Ուկրաիներեն՝ 2010 թ. թիվ 55 որոշման համաձայն՝ անձնագրերում օգտագործվող ուղղագրությունը
- Յուրաքանչյուր կանոն խմբագրելի է տառ առ տառ, մեկ սեղմումով վերականգնելու հնարավորությամբ
- Ավտոմատ -2 և -3 վերջածանցներ, որպեսզի խմբաքանակի մեջ չլինեն կրկնվող slug-ներ
- Տեղադրեք հղումը և դրանից ստացեք slug՝ ապակոդավորված տոկոսային կոդավորմամբ
- Stop բառերի խմբագրվող ցանկ, որն արդեն նախապես լրացված է ձեր լեզվի համար
- Անվտանգ կրճատում ամբողջական բառի վրա, յուրաքանչյուր արդյունքի կողքին նիշերի հաշվիչով
- Անվճար և անսահմանափակ. առանց գրանցման, քանակի սահմանափակման կամ մեր սերվերներում տվյալների պահպանման
Slug-ներն անհրաժեշտ են ամենուր, որտեղ էջը պետք է ունենա կարդացվող հասցե: Բլոգը կամ լրատվական կայքը յուրաքանչյուր վերնագիր վերածում է դրան, և հենց այս նպատակով էլ ստեղծվել է այս գործիքը. տեղադրեք շաբաթվա վերնագրերը, ստացեք շաբաթվա URL-ները: Առցանց խանութը նույնն անում է ապրանքների և կատեգորիաների անունների համար, սովորաբար զանգվածային կերպով տվյալների ներմուծումից հետո, և հաճախ այնպիսի լեզվով, որի այբուբենը հասցեն չի կարող պահպանել: Փաստաթղթավորումն ու գիտելիքների բազաները նույն կերպ են կառուցում խարիսխներ (anchors) և ֆայլերի անուններ: Վեբ հասցեներից բացի, նույն մաքուր տողն այն է, ինչ ձեզ հարկավոր է ֆայլի անվան համար, որը չի փչանա այլ օպերացիոն համակարգում, կամ տվյալների բազայի բանալու համար, որը մարդը կարող է կարդալ տեղեկամատյանում (log), ճյուղի (branch) անվանման, մեդիա գրադարանում նկարի անվան, կամ ստատիկ կայքի գեներատորում բաժնի նույնացուցիչի համար: Ցանկացած վայր, որտեղ մարդու կողմից կարդացվող անունը պետք է տեղադրվի մեքենայական ընթերցման համար նախատեսված դաշտում, այն տեղն է, որտեղ պետք է օգտագործել slug:
Մինչ այս գործիքին վստահելը, արժե իմանալ մի քանի սահմանափակումների մասին: Սա գեներատոր է, ոչ թե վավերացնող գործիք. այն չի ստուգի՝ արդյոք slug-ն արդեն զբաղված է ձեր կայքում, քանի որ այն գաղափար չունի, թե ինչ է պարունակում ձեր կայքը — եզակիությունը երաշխավորվում է միայն ձեր մուտքագրած խմբաքանակի շրջանակներում: Վերաուղղորդումները նույնպես ձեր գործն են. հրապարակված էջի slug-ի փոփոխությունը խափանում է դրա հին հասցեն, և դա ձեր CMS-ի, այլ ոչ թե այս գործիքի որոշելիքն է: «Պահպանել ֆայլում» տարբերակը գրում է պարզ տեքստ, ոչ թե CSV կամ JSON: Ավտոմատ բաժանումը ստորակետների հարցում կայացնում է որոշում, որը գրեթե միշտ ճիշտ է, բայց ոչ բացարձակապես, և հենց այդ պատճառով էլ «Բաժանել ըստ»-ը թույլ է տալիս ձեզ փոխել դա: Իսկ տառադարձումը պայմանականություն է, ոչ թե թարգմանություն — München-ը դառնում է muenchen, այլ ոչ թե Munich — ուստի երբ էջն ունի հաստատված անուն թիրախային լեզվով, այդ անունն ավելի լավ slug է, քան բնօրինակի ցանկացած ավտոմատ փոխարկում: