Penjana Slug URL

Tukar apa-apa tajuk menjadi slug URL yang bersih di pelayar anda — satu demi satu atau seluruh senarai sekaligus. Piawaian transliterasi sebenar untuk abjad Sirilik dan aksen, tanpa ada data yang dimuat naik.

Masukkan teks untuk penukaran
Pilihan Lanjutan

Slug ialah ekor alamat web yang boleh dibaca — my-first-post dalam example.com/blog/my-first-post. Ia adalah bahagian yang boleh dibaca oleh seseorang sebelum membuat keputusan untuk klik, dan bahagian yang dibaca oleh enjin carian sebagai penerangan ringkas tentang kandungan halaman, itulah sebabnya ia patut diberi lebih perhatian daripada id pangkalan data atau tarikh. Penjana percuma ini menukar apa-apa teks menjadi slug: tampal tajuk ke "Teks untuk ditukar", tekan "Jana", dan hasilnya muncul dengan butang salin di sebelahnya. Tetapan lalai adalah tetapan yang dikehendaki oleh kebanyakan tapak web — huruf kecil, sempang antara perkataan, kata pengisi umum digugurkan, huruf bukan Latin ditransliterasi — jadi slug yang boleh digunakan hanya sejauh satu klik, dan setiap keputusan tersebut ialah suis yang boleh anda ubah.

Semuanya berlaku pada peranti anda sendiri. Halaman ini memuatkan enjin JavaScript kecil dan menjalankannya secara tempatan: tajuk anda tidak pernah dimuat naik, tidak pernah dilog, dan alat ini terus berfungsi walaupun sambungan dimatikan. Itulah juga sebabnya hasilnya dikemas kini sebaik sahaja anda menukar tetapan. Susunan kerjanya wajar dinyatakan, kerana itulah yang menjadikan keluarannya boleh dijangka: pautan yang ditampal dikurangkan kepada segmen laluan terakhirnya terlebih dahulu, kemudian teks ditukar menjadi huruf kecil, kemudian kata henti digugurkan, kemudian aksara bukan Latin ditransliterasikan, kemudian nombor dan aksara khas dibuang jika anda memintanya, kemudian apa-apa yang tinggal digabungkan dengan pemisah anda, kemudian hasilnya dipangkas kepada panjang maksimum, dan akhirnya ulangan mendapat imbuhan akhiran angka. "Teks untuk ditukar" menerima sehingga 500,000 aksara sekali gus, yang bersamaan dengan beberapa ribu tajuk artikel.

Satu baris masuk, satu slug keluar. Tampal keseluruhan senarai tajuk dan setiap baris menjadi slug bernomborkan sendiri, dengan tajuk asalnya ditunjukkan di atasnya dalam warna kelabu, supaya dalam kelompok lima puluh anda masih boleh mengetahui slug mana milik tajuk yang mana. Senarai yang sedia ada di dalam fail tidak perlu melalui papan keratan: "Muatkan daripada fail", butang di sebelah kotak input, membuka fail teks biasa — .txt, .csv, .md, .json dan seumpamanya — dan memasukkan kandungannya ke dalam medan tersebut. Pelayar anda membaca fail tersebut sama seperti ia membaca apa yang anda taip, dan ia tidak dimuat naik ke mana-mana. "Pisahkan input dengan" menentukan bagaimana senarai dipotong. "Pengesanan automatik" adalah lalai: baris baharu sentiasa memisahkan item, manakala koma hanya memisahkannya apabila input adalah baris tunggal yang semua bahagiannya kelihatan seperti nilai mandiri — jadi "harga 3,500 RM" dan "Bab 5: hasil, kesimpulan" kekal utuh dan bukannya pecah menjadi serpihan. "Baris baharu", "Koma" dan "Ruang" memaksa pilihan apabila anda sudah mengetahui bentuk data anda. "Format hasil" menentukan bagaimana sesuatu kelompok dikembalikan apabila anda mengambilnya — satu setiap baris, "Dipisahkan dengan ruang", atau "Dipisahkan dengan koma" — dan kedua-dua "Salin Semua" dan "Simpan ke fail" mematuhinya. "Sejarah" menyimpan 10 kelompok terakhir anda di pelayar anda sendiri, jadi senarai yang anda tukar sejam yang lalu masih ada di sana.

Teks bukan Latin merupakan bahagian yang dilakukan dengan agak betul oleh kebanyakan penjana slug dan hanya segelintir sahaja yang melakukannya dengan tepat. URL paling selamat dalam ASCII biasa, jadi aksara Sirilik, Yunani, Arab, Cina dan huruf beraksen Eropah mesti ditukar, dan satu-satunya persoalan sebenar ialah mengikut peraturan siapa. Halaman ini menjawabnya dalam dua lapisan. Lapisan umum meliputi setiap skrip: pustaka transliterasi dengan jawapan ASCII yang munasabah untuk hampir setiap aksara yang boleh anda taip, yang merupakan maksud "Transliterasi dari" apabila ia memaparkan "Automatik (sebarang bahasa)". Lapisan khusus ialah satu set jadual binaan tangan untuk bahasa yang jawapan generiknya bukanlah apa yang sebenarnya digunakan oleh negara tersebut; menu "Transliterasi dari" menamakan bahasa yang mempunyai jadual pada hari ini, dan setnya berkembang apabila alat ini mencapai lebih banyak bahasa yang memerlukannya. Memilih salah satu jadual akan memuatkannya ke dalam grid yang boleh disunting di bawah "Peraturan Transliterasi", yang mana setiap huruf ialah medan teks yang boleh anda ubah, dan "Tetapkan semula peraturan ke lalai" mengembalikannya. Jadual bahasa Ukraine mengikut Resolusi Kabinet Menteri No. 55 tahun 2010, piawaian yang dicetak dalam pasport Ukraine, termasuk butiran yang mudah terlepas pandang: зг menjadi zgh bukannya zh supaya ia kekal berbeza daripada ж; є, ї, й, ю dan я mengambil satu bentuk pada permulaan kata dan satu lagi di dalamnya; dan tanda koma atas dan tanda lembut digugurkan tanpa memulakan kata baharu, jadi Знам'янка keluar sebagai znamianka dan bukannya znamyanka. Bahasa Jerman ditetapkan kepada lalai varian yang diperluas ä → ae, ö → oe, ü → ue yang benar-benar digunakan oleh alamat Jerman, dengan varian ä → a biasa jika anda lebih menyukainya.

"Buang kata henti" dihidupkan secara lalai. Ia menggugurkan perkataan penyambung yang kecil — yang, di, ke, dan, dari — yang memanjangkan slug tanpa menambah makna padanya. Senarai di bawah "Kata henti" boleh disunting sepenuhnya dan tiba dalam keadaan telah diisi: senarai bahasa Inggeris berserta senarai untuk bahasa halaman yang anda sedang lawati, jadi halaman bahasa Melayu mengetahui yang, di, dan ke. Tambahkan kata anda sendiri, padam kata yang ingin anda simpan, atau matikan ciri tersebut sepenuhnya, di mana medan tersebut menjadi kelabu dan bukannya berpura-pura masih penting. Dua nota jujur mengenainya. Membuang kata henti adalah sedikit penambahan kekemasan dan bukannya tuas kedudukan carian — anda mendapat alamat yang lebih pendek dan bersih, bukan kedudukan yang lebih baik. Dan jika setiap perkataan dalam tajuk kebetulan ada dalam senarai, hasil jujurnya adalah tiada apa-apa langsung, jadi alat ini memberitahu anda mengenainya dan bukannya memberikan anda kotak kosong.

Suis selebihnya memutuskan bentuknya. "Pemisah dalam slug" memilih perkara yang berada di antara perkataan, dan lalai sempang bukanlah masalah cita rasa: Google membaca sempang sebagai pemisah kata dan garis bawah sebagai penyambung, jadi my_first_post mencapai perangkak carian sebagai satu perkataan yang panjang manakala my-first-post mencapainya sebagai tiga. "Garis bawah (_)" ada di sana untuk sistem yang bertegas mengenainya. "Huruf kecil" dihidupkan kerana kebanyakan pelayan menganggap alamat sebagai peka huruf besar dan kecil, dan huruf bercampur merupakan cara mudah untuk berakhir dengan dua URL bagi satu halaman. "Buang aksara khas" menanggalkan semua yang bukan huruf, digit, ruang, sempang atau garis bawah, yang menghalang tanda baca, tanda petikan dan emoji daripada alamat — emoji dibuang sebelum transliterasi secara khusus supaya roket tidak menjadi perkataan rocket. "Buang nombor" dimatikan, kerana nombor dalam tajuk biasanya sebahagian daripada tajuk. "Panjang Maksimum" berjalan dari 10 hingga 200 dan lalainya 80; apabila slug lebih panjang daripada itu enjin memotong pada kata penuh terakhir yang muat dan bukannya memotong di tengah-tengahnya. Angka di sebelah setiap hasil ialah panjangnya dalam aksara, dan ia bertukar merah melepasi 60 — bukan had keras, tetapi titik di mana slug mula dipangkas dalam hasil carian dan menjadi janggal untuk ditampal ke dalam mesej.

Terdapat dua suis lagi kerana ia menukar penukaran pukal kembali menjadi kerja satu klik. "Jadikan slug unik" menangkap kes di mana dua tajuk berbeza berkurangan menjadi slug yang sama — "10 petua teratas" dan "10-petua teratas" kedua-duanya menjadi 10-petua-teratas — dan memberikan yang kedua -2, yang ketiga -3, memendekkan asas terlebih dahulu jika akhiran tersebut akan mendorongnya melepasi panjang maksimum anda. Dua halaman di satu alamat adalah masalah yang jauh lebih murah untuk ditangkap dalam senarai ini berbanding dalam CMS anda. "Ambil slug dari URL yang ditampal" berfungsi sebaliknya: tampal pautan penuh dan alat ini mengambil bahagian terakhir laluan, menggugurkan rentetan pertanyaan dan mana-mana hujung .html atau .php, dan menyahkod pengekodan peratus, jadi pautan Wikipedia yang berakhir dengan %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 kembali sebagai lviv dan bukannya rentetan digit perenambelasan. Ia hanya tercetus apabila keseluruhan baris adalah pautan, jadi alamat yang dipetik di dalam ayat dibiarkan di tempat asalnya.

Mengapa memilih penjana slug ini?

Slug diperlukan di mana sahaja halaman mesti membawa alamat yang boleh dibaca. Blog atau tapak web berita mengubah setiap tajuk utama menjadi slug, yang merupakan kes mengapa alat ini dibina: tampalkan tajuk utama minggu ini, dapatkan URL minggu ini. Kedai dalam talian melakukan perkara yang sama untuk nama produk dan kategori, biasanya secara pukal selepas import, dan biasanya dalam bahasa yang abjadnya tidak boleh dimuatkan ke dalam alamat. Dokumentasi dan pangkalan pengetahuan membina sauh dan nama fail dengan cara yang sama. Di luar alamat web, rentetan bersih yang sama adalah yang anda mahukan untuk nama fail yang tidak akan rosak pada sistem operasi lain, kunci pangkalan data yang boleh dibaca oleh seseorang dalam log, nama cawangan, nama imej di perpustakaan media, atau pengecam bahagian dalam penjana tapak web statik. Mana-mana tempat di mana nama yang boleh dibaca manusia perlu bertahan selepas dimasukkan ke dalam medan boleh baca mesin adalah tempat bagi slug.

Beberapa had wajar diketahui sebelum anda bergantung padanya. Ini ialah penjana, bukan pengesah: ia tidak akan menyemak sama ada slug sudah digunakan di tapak web anda, kerana ia tidak tahu apa yang tapak web anda mengandungi — keunikan yang dijaminnya adalah di dalam kelompok di hadapan anda. Pengalihan hala juga adalah kerja anda; menukar slug bagi halaman yang diterbitkan akan merosakkan alamat lamanya, dan itu adalah keputusan untuk CMS anda dan bukannya untuk alat ini. "Simpan ke fail" menulis teks biasa, bukan CSV atau JSON. Pemisahan automatik membuat pertimbangan tentang koma yang tepat dalam hampir setiap kes tetapi tidak pada kesemuanya, itulah sebabnya "Pisahkan input dengan" membolehkan anda membatalkannya. Dan transliterasi ialah suatu kelaziman berbanding terjemahan — München menjadi muenchen, bukan Munich — jadi apabila sesuatu halaman mempunyai nama yang telah kukuh dalam bahasa sasaran, nama itu ialah slug yang lebih baik berbanding mana-mana penukaran automatik bagi yang asalnya.

FAQ

Bagaimana cara mencipta slug URL?

Tampalkan tajuk anda ke dalam "Teks untuk ditukar" dan tekan "Jana". Hasilnya muncul dengan butang salin di sebelahnya, ditukar dengan tetapan lalai yang dimahukan oleh kebanyakan tapak web: huruf kecil, sempang antara perkataan, kata pengisi dibuang dan huruf bukan Latin ditransliterasi. Setiap satu daripadanya adalah suis yang boleh anda ubah, dan "Pilihan Lanjutan" memegang selebihnya — pemisah, panjang maksimum, senarai kata henti dan peraturan transliterasi.

Bolehkah saya menukar keseluruhan senarai tajuk sekali gus?

Ya. Tampal sehingga 500,000 aksara — beberapa ribu tajuk utama — atau tarik terus daripada fail menggunakan "Muatkan daripada fail", butang di sebelah kotak input, yang membacanya di pelayar anda tanpa memuat naiknya. Setiap baris menjadi slug tersendiri, dinomborkan, dengan tajuk asalnya ditunjukkan di atasnya supaya anda boleh memadankannya. "Pisahkan input dengan" mengawal bagaimana senarai dibahagikan, "Format hasil" menentukan sama ada kelompok itu kembali sebagai barisan, dipisahkan dengan ruang, atau dipisahkan dengan koma, dan "Salin Semua" berserta "Simpan ke fail" kedua-duanya mengambil keseluruhan perkara tersebut sekaligus.

Bagaimanakah penjana mengendalikan aksara Sirilik dan huruf beraksen?

Ia mentransliterasikannya ke dalam ASCII, dalam dua lapisan. Sebarang skrip sama sekali — Sirilik, Yunani, Arab, Cina, Latin beraksen — diliputi oleh pustaka transliterasi umum, yang digunakan oleh "Automatik (sebarang bahasa)". Di atasnya terdapat jadual binaan tangan bagi bahasa yang jawapan generiknya bukanlah apa yang sebenarnya digunakan oleh negara tersebut; menu "Transliterasi dari" menamakan jadual yang sedia ada pada hari ini. Pilih satu dan jadualnya dimuatkan, dengan setiap huruf boleh disunting. Bahasa Melayu sudah menggunakan huruf Latin biasa, jadi tiada aksara khas yang perlu diubah. Lapisan umum hanya menukar huruf besar menjadi huruf kecil dan menukar ruang kepada sempang, yang merupakan apa yang sebenarnya dilakukan oleh alamat dalam bahasa ini — Pulau Pinang menjadi pulau-pinang dan terima kasih menjadi terima-kasih.

Piawaian transliterasi apakah yang digunakan untuk bahasa Ukraine?

Resolusi Kabinet Menteri No. 55 pada 27 Januari 2010 — piawaian yang digunakan dalam pasport Ukraine. Ia termasuk bahagian yang mudah disilapkan: зг menjadi zgh supaya ia kekal berbeza daripada ж, huruf є, ї, й, ю dan я mengambil satu bentuk pada permulaan kata dan satu lagi di dalamnya, dan tanda koma atas dan tanda lembut digugurkan tanpa memulakan kata baharu, jadi Знам'янка menjadi znamianka dan bukannya znamyanka. Varian kedua dengan ya, yu dan yi di mana-mana juga tersedia jika anda lebih menggemari rupa yang lebih ringkas.

Bolehkah saya menukar cara surat tertentu ditransliterasikan?

Ya. Buka "Peraturan Transliterasi" dan setiap huruf bagi jadual tersebut ialah medan teks: taip apa sahaja yang anda inginkan huruf itu menjadi, dan hasilnya dikemas kini semasa anda menaip. Mengosongkan suatu medan membuang huruf tersebut sepenuhnya. Suntingan anda diingati dalam pelayar anda sendiri untuk masa seterusnya, dan "Tetapkan semula peraturan ke lalai" memulihkan jadual piawaian pada bila-bila masa anda memahukannya kembali.

Apakah kata henti dan patutkah saya membuangnya?

Kata henti ialah perkataan penyambung yang kecil — yang, di, ke, dan, dari — yang menjadikan slug lebih panjang tanpa menjadikannya lebih jelas. Membuangnya dihidupkan secara lalai dan senarai di bawah "Kata henti" boleh disunting, tiba dalam keadaan sedia diisi dengan senarai bahasa Inggeris berserta satu untuk bahasa bagi halaman yang sedang anda lawati. Bersikap jujur mengenai manfaatnya: ia menghasilkan alamat yang lebih pendek dan kemas, bukan kedudukan carian yang lebih baik. Jika tajuk terdiri sepenuhnya daripada kata henti alat ini akan memberitahunya dan bukannya mengembalikan slug kosong.

Patutkah saya menggunakan sempang atau garis bawah dalam slug?

Sempang, melainkan ada sesuatu dalam tindanan teknologi anda yang memerlukan sebaliknya. Google menganggap sempang sebagai pemisah antara kata dan garis bawah sebagai aksara yang menyambungkannya, jadi my_first_post dibaca sebagai satu perkataan yang panjang manakala my-first-post dibaca sebagai tiga perkataan. Penjana memilih sempang secara lalai untuk alasan itu; "Pemisah dalam slug" menawarkan "Garis bawah (_)" untuk sistem yang memerlukannya.

Berapa panjangkah ukuran slug URL yang sepatutnya?

Cukup pendek untuk dibaca sekilas lalu — beberapa perkataan pertama membawa maksudnya dan selebihnya biasanya adalah bahagian ekor ayat. Nombor di sebelah setiap hasil ialah panjangnya dalam aksara dan ia bertukar merah melepasi 60, yang mana secara kasarnya tempat hasil carian mula memangkasnya dan ia menjadi janggal untuk ditampal ke dalam mesej. "Panjang Maksimum" menetapkan siling keras dari 10 hingga 200 aksara, dan lalainya ialah 80.

Adakah alat memotong perkataan separuh apabila slug terlalu panjang?

Tidak. Apabila slug melebihi panjang maksimum enjin tersebut menyokong kembali ke kata penuh terakhir yang muat dan memotong di sana, jadi slug yang dipangkas masih dibaca sebagai perkataan dan bukannya berakhir pada pertengahan suku kata. Perkara yang sama terpakai apabila akhiran angka ditambahkan pada ulangan: pangkalnya dipendekkan terlebih dahulu supaya slug yang selesai itu masih mematuhi had anda.

Apakah yang berlaku jika dua tajuk menghasilkan slug yang sama?

"Jadikan slug unik" dihidupkan secara lalai dan mengendalikannya: kejadian pertama mengekalkan slug biasa, kejadian kedua mendapat -2, kejadian ketiga mendapat -3, dan seterusnya. Ia menangkap kes lazim di mana dua tajuk berbeza berkurangan menjadi perkara yang sama — 10 petua teratas dan 10-petua teratas kedua-duanya menjadi 10-petua-teratas. Mematikannya memberikan anda keluaran mentah dengan pendua yang tidak terjejas. Sila ambil perhatian bahawa keunikan hanya dijamin di dalam kelompok yang baru sahaja anda tukar; alat ini tidak dapat mengetahui perkara yang sedia ada pada tapak web anda.

Bolehkah saya menampal URL dan bukannya tajuk?

Ya. "Ambil slug dari URL yang ditampal" dihidupkan secara lalai, dan apabila keseluruhan baris adalah pautan alat tersebut menarik bahagian terakhir laluannya, menggugurkan rentetan pertanyaan dan mana-mana hujung .html atau .php, dan menyahkod pengekodan peratus — jadi alamat Wikipedia yang berakhir dengan %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 kembali sebagai lviv dan bukannya rentetan heksadesimal. Ia hanya tercetus pada baris yang sepenuhnya merupakan pautan, jadi URL yang dipetik di dalam ayat dianggap sebagai teks biasa.

Adakah teks saya dihantar ke pelayan?

Tidak. Penukaran ini berjalan di pelayar anda sebagai JavaScript tempatan. Tiada apa-apa yang dimuat naik, tiada apa-apa yang dilog, dan setelah halaman dimuatkan ia terus berfungsi dengan sambungan internet dimatikan. Tajuk utama yang tidak diterbitkan, nama produk dalaman dan kerja pelanggan kekal di dalam mesin anda, yang merupakan sebab praktikal untuk lebih memilih alat tempatan berbanding alat sebelah pelayan untuk kerja khusus ini.

Mengapa satu ayat tunggal saya berpecah menjadi dua slug?

Kerana ia mengandungi koma dan "Pisahkan input dengan" ditetapkan pada "Pengesanan automatik". Mod tersebut menganggap baris baharu sebagai pemisah pasti dan koma sebagai pemisah berkemungkinan, dan ia hanya memisahkan koma apabila bahagian baris tunggal semuanya kelihatan seperti nilai mandiri — nombor seperti 3,500 atau ayat yang mempunyai titik bertindih sengaja dibiarkan utuh. Jika tajuk masih berpecah padahal tidak sepatutnya, tetapkan "Pisahkan input dengan" pada "Baris baharu" dan input akan dipotong hanya di tempat anda benar-benar menekan Enter.