Repositori: https://github.com/ray-d-song/guesslang-js
Demo: https://ray-d-song.github.io/guesslang-js/
Baru-baru ini, saya sedang mengusahakan projek yang dipanggil EchoRSS, dan saya mempunyai ciri yang sangat dikehendaki, iaitu memintas pautan luar dalam langganan (baca teks penuh, petikan, dll.) dan memaparkannya terus pada halaman semasa.
Terdapat masalah bahawa blok kod HTML yang dikembalikan kehilangan anotasi bahasa (atau bahasa tidak dianotasi pada teg pra dan kod dalam blok kod asal), jadi ia tidak boleh diserlahkan menggunakan alat seperti shiki atau prism.js .
Saya menemui tiga penyelesaian untuk mengesan bahasa kod:
Ini ialah projek Ruby yang digunakan pada pelayan dan Github menggunakannya untuk mengesan komposisi bahasa repositori. Jika anda memerlukan ketepatan yang sangat tinggi dan boleh dikira pada pelayan, ini adalah penyelesaian terbaik.
highlight.js ialah perpustakaan penyerlahan kod web yang sangat terkenal, dan ia juga satu-satunya perpustakaan yang menyediakan pengesanan kod automatik.
Prinsipnya sangat mudah, iaitu menghitung kata kunci bahasa, dan kemudian memadankannya satu demi satu dengan teks, dan akhirnya melihat mana yang mempunyai tahap padanan tertinggi.
hljs mempunyai empat masalah.
guesslang ialah projek pembelajaran mesin berdasarkan tensorflow.js.
Microsoft mengalihkan projek ini ke node.js pada tahun 2021 dan menambahkan fungsi pengesanan bahasa automatik pada vscode.
Seorang lelaki Vietnam hieplpvip tiga tahun lalu turut mengalihkan projek ini ke penyemak imbas, tetapi terdapat juga tiga masalah:
Lelaki itu tidak mengekalkan projek ini, dan permintaan untuk menyokong esm pada bulan Mac tidak dibalas.
Jadi saya mengekstrak modul pengesanan daripada hljs, dan bercabang guesslang-js untuk menyelesaikan masalah di atas, dan akhirnya guesslang menang, hasilnya begini:
https://github.com/ray-d-song/guesslang-js
Saya rasa ia terlalu banyak untuk dibincangkan, mungkin seseorang akan memerlukannya pada masa hadapan, jadi saya akan menyiarkannya.
Jika seseorang mengetahui tensorflow.js, saya harap mereka boleh mengesyorkan beberapa bahan pembelajaran, saya ingin mengubah suainya lagi kepada pengiraan gpu web untuk meningkatkan kecekapan.
Atas ialah kandungan terperinci Bagaimana untuk mengesan bahasa kod dalam penyemak imbas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!