Highlightjs 8.0新特性

Highlightjs(下载地址:http://highlightjs.org/download/)是一款简单易用的语法高亮插件

它具有如下特征:

  • 支持71种语言和44种样式
  • 自动化语言侦测判别
  • 多语言代码高亮
  • node.js可用
  • 可以与markup一同使用
  • 兼容所有的js框架

Highlightjs于2014-01-08发布了8.0版。这个发行版提供了一些崭新特性的同时,将不再向后兼容某些旧版本中存在的特征。
不过,大多数用户应当不会受到这些向后不兼容特性的影响:自述文件中描述的基本使用场景依旧保持不变。

不再向后兼容的特性:

现在默认对CSS类引用中的所有类加上了hjls前缀,因为其中的一些类名可能会与其它的样式表发生冲突。
如果你使用的是highlightjs的老版本,也许想要升级highlight的同时依旧保留其原来的行为。
为了抑制这些新的特性,你可能需要这样进行初始化:

<script type="text/javascript">
  hljs.configure({classPrefix: ''});
  hljs.initHighlightingOnLoad();
</script>

曾经在不同位置使用的TabReplace与useBR现在统一放在了global options对象中,使用configure(options)方法进行配置,这个函数已在API文档中列出。
同时需要注意的是,这些参数从highlightBlock与fixMarkup中移除,现在也依赖于configure进行配置。

我们移除了public-facing对象(尽管没有在文档中列出)hljs.LANGUAGES,它曾经被用来注册语言,取而代之的是两个新方法:registerLanguage和getLanguage。
它们都已经在API文档中列出。

从highlight和highlightAuto返回的结果不在包含两个单独的属性relevance和keyword_count来计算相关性评分,它们现在统一被relevance所取代。

一个技术上兼容的变更可能也值得注意一下:

NPM包的结构已经被重构,因此如果你已经在本地安装了这个包,你将不得不更新你的路径。require(‘highlight.js’)像以前一样工作。这归功于Dmitry Smolin。

新特性:

编程语言现在可以通过同种名称进行识别,如”js”代表Javascript,”html”代表HTML(早些时候坚持称其为”xml”)。这些别名既可以在HTML代码容器的类属性指定,也可以使用各类API调用进行指定。虽然现在只有一些非常通用的别名,但是我们会在将来对它们进行扩展。这些别名均在[class reference][]中列出。

语言定义语法精简为variants和beginKeywords。

新的语言和样式:

改进杂项:

  • Highlighting => prompts in Clojure.
  • Jeremy Hull对许多样式的一致性问题进行了修正
  • PHP和HTML的代码高亮使用一种奇特的方式进行了混合
  • Objective C和C#的方法定义标题现在可以正确的高亮显示了
  • 一些语言的相关性计数的大检修。遇到关于一些比较复杂的代码片段的误检测的Bug时请随时报告

本文链接:http://bookshadow.com/weblog/2014/02/09/highlightjs-8-newfeature/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

如果您喜欢这篇博文,欢迎您捐赠书影博客: ,查看支付宝二维码