Repository: https://github.com/ray-d-song/guesslang-js
Demo: https://ray-d-song.github.io/guesslang-js/
Vor kurzem arbeite ich an einem Projekt namens EchoRSS und habe eine sehr gewünschte Funktion, die darin besteht, externe Links in Abonnements abzufangen (Volltext lesen, zitieren usw.) und sie direkt auf der aktuellen Seite anzuzeigen.
Es besteht das Problem, dass der zurückgegebene HTML-Codeblock die Sprachanmerkung verliert (oder die Sprache in den Pre- und Code-Tags im ursprünglichen Codeblock nicht annotiert wurde), sodass er nicht mit Tools wie shiki oder prism.js hervorgehoben werden kann .
Ich habe drei Lösungen zur Erkennung der Codesprache gefunden:
Dies ist ein Ruby-Projekt, das auf dem Server bereitgestellt wird, und Github verwendet es, um die Sprachzusammensetzung des Repositorys zu erkennen. Wenn Sie eine extrem hohe Genauigkeit benötigen und auf dem Server berechnet werden können, ist dies die beste Lösung.
highlight.js ist eine sehr bekannte Bibliothek zur Hervorhebung von Webcode und außerdem die einzige Bibliothek, die eine automatische Codeerkennung bietet.
Das Prinzip ist sehr einfach, nämlich die Schlüsselwörter der Sprache aufzuzählen, sie dann einzeln mit dem Text abzugleichen und schließlich zu sehen, welches den höchsten Übereinstimmungsgrad aufweist.
hljs hat vier Probleme.
guesslang ist ein maschinelles Lernprojekt, das auf tensorflow.js basiert.
Microsoft hat dieses Projekt 2021 auf node.js portiert und die automatische Spracherkennungsfunktion zu vscode hinzugefügt.
Ein Vietnamese, hieplpvip, hat dieses Projekt vor drei Jahren ebenfalls auf den Browser portiert, aber es gibt auch drei Probleme: