繁体   English   中英

Javascript 代码语法高亮库

[英]Javascript library for code syntax highlighting

我遇到了带有 Javascript 的语法高亮代码,它很好地解释了如何在客户端进行语法高亮显示。

现在,我正在抓取站点,并希望在抓取时在服务器端突出显示语法。 我们正在使用 node.js cheerio来获取一些基本的 jQuery 功能,因为我们正在抓取。 是否有一个简单的 javascript 库可以与 cheerio(不是成熟的 jQuery)一起使用,让我可以按照以下方式做一些事情:

var highlightedCode = JsCodeSyntaxHighlighter.highlightCode(...);

其中...是原始 HTML。

或者,我可以使用 prettify 或 jQuery 语法荧光笔来实现吗(即 jQuery 语法荧光笔是否仅依赖于 cheerio 提供的功能?)。

我需要在服务器端而不是客户端执行此操作的原因是因为我们一次在客户端加载了数千个代码 div(大部分是隐藏的,但仍然是隐藏的),并且在数千个片段上运行 jQuery 语法突出显示需要几秒钟,这太慢了。

你可以使用更漂亮。

要求

const chreerio=require("cheerio"),
prettier=require("prettier")
$=cheerio.load(`<ul id="fruits"><li class="apple">Apple</li><li class="orange">Orange</li><li class="pear">Pear</li>
</ul>`)
var response = prettier.format($.root(), {  parser: "html" });
console.log(response);

此外在生产中,在服务器端格式化代码不是一个好主意。

这将增加内容大小,并需要更多的 inte.net 来加载页面。

还有为什么你需要格式化代码?

不知道这是不是你想要的,但在我的博客上,我使用Alex Gorbatchev的Syntax Highlight非常棒。 它是javascript,但我将它用作客户端脚本。 我从来没有使用服务器端JS(读取NodeJS),我不知道它们是多么兼容,但你应该试一试 ,看看你是否喜欢它。

希望我能帮忙!

有许多库可以执行此操作,如 rainbowjs、highlightjs、prismjs 等。所有这些都为流行语言提供自定义跨度和默认跨度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM