API文档
highlight(languageName, code, ignore_illegals, continuation)
highighting核心函数,接受一个语言名称或一个别名和字符串去高亮代码。当ignore_illegals参数为true时,即使在检测到该语言的非法语法时,也会强制高亮,不抛出异常。continuation是一个可选参数,表示未完成的解析。当存在时,函数将从这个状态重新开始解析,而不是初始化一个新的状态。这在内部用于子语言支持。
注意:continuation不支持逐行高亮显示,因为文法不需要以任何特殊方式处理换行符。语法很可能有一个单一的模式/正则表达式同时匹配多个行。这一点完全取决于语法。
返回具有以下属性的对象:
language:返回的语言名称与在languageName中传递的名称相同,以保持与highlightAuto的一致性
relevance:表示相关性得分的整数值
value:高亮显示标记的HTML字符串
top:当前模式的顶部
illegal:表示是否发现任何非法匹配的布尔值
code:原始代码
highlightAuto(code, languageSubset)
高亮显示与语言检测。接收一个带有要高亮的代码的字符串,以及一个可选的语言名称和别名数组,该数组将检测限制为仅针对这些语言。还可以使用configure设置该子集,但是如果设置了该选项,则local参数将覆盖该选项。
返回具有以下属性的对象:
language:检测到的语言
relevance:表示相关性得分的整数值
value:高亮显示HTML标记字符串
second_best:具有第二最佳启发式检测语言相同结构的对象(可能不存在)
fixMarkup(value)
后处理高亮标记。目前包括替换缩进制表符和使用
标签代替换行字符。使用configure全局设置选项。
接受带有高亮标记的字符串。
highlightBlock(block)
对包含代码的DOM节点应用高亮显示。
这个函数用于在页面加载后或在第三方Javascript框架的初始化代码中动态的应用高亮显示。
默认情况下,该函数使用语言检测,但是可以在DOM节点的class属性中指定语言。有关所有可用的语言名称和别名,请参阅类引用。
configure(options)
全局配置选项:
tabReplace:在缩进中用于替换制表符的字符串。
useBR:用于在输出中生成
标记而不是换行字符的标志,在使用非
容器标记代码时非常有用。
classPrefix:在生成的标记中,在类名之前添加的字符串前缀,用于与样式表向后兼容。
languages:一组语言名称和别名,限制自动检测仅针对这些语言。
languageDetectRe: 一个正则表达式,用于配置CSS类名如何映射到语言(允许类名如color-as-php vs . language-php等)。
noHighlightRe:用于配置要完全跳过哪些CSS类的正则表达式。
接受表示要更新的值的选项的对象。其他选项不会改变
hljs.configure({
tabReplace: ' ', // 4 spaces
classPrefix: '' // don't append class prefix
// … other options aren't changed
});
hljs.initHighlighting();
initHighlighting()
应用高亮显示到所有
…
块在一个页面上。
initHighlightingOnLoad()
将高亮显示附加到页面加载事件。
registerLanguage(languageName, languageDefinition)
将新语言添加到指定名称下的库中。主要是在内部使用。
languageName:一个包含被注册语言名称的字符串
languageDefinition:返回表示语言定义的对象的函数。函数被传递给hljs对象,以便能够使用其中定义的公共正则表达式。
registerAliases(alias|aliases, {languageName})
为在languageName键下定义的指定语言名称向库添加新的语言别名或别名
alias|aliases:注册了别名名称的字符串或数组
languageName:由registerLanguage指定的语言名称。
listLanguages()
返回语言名称列表。
getLanguage(name)
按名称或别名查找一种语言。
如果找到,返回语言对象,否则未定义。
requireLanguage(name)
按名称或别名查找一种语言。
当一种语言的定义依赖于另一种语言时,应该使用这种方法。使用这个函数(vs getLanguage)将在缺少所需语言时提供更好的错误消息。
返回语言对象,否则引发一个硬错误。
debugMode()
使调试/开发模式。这种模式故意使Highlight.js更脆弱!它只能用于测试和本地开发(语言或库本身)。默认使用“安全模式”,为生产使用提供最可靠的经验。
例如,如果一个新版本突然有一个严重的错误(或破坏性的更改),只影响单一语言:
In Safe Mode:所有其他语言都会继续突出显示。破碎的语言将以代码块的形式出现,但是没有任何高亮显示(就像它是纯文本一样)。
In Debug Mode:当遇到错误时,所有的高亮显示都将停止,并抛出一个JavaScript错误。