highlight.js中文网 443343203@qq.com Turf.js中文网 Day.js中文网 免费字体下载 技术开发分享录

主题

当前主题:{{ theme.value }}

{{ k }}

示例

<div class="zh-title">
    <strong>Hello World!</strong>
<div>
function foo() {
    var str = 'Hello World !';
    console.log(str);
}
使用时引入初始化即可
<link rel="stylesheet" href="https://ziyuan.fenxianglu.cn/js/highlight/styles/default.css">
<script src="https://ziyuan.fenxianglu.cn/js/highlight/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
注意

在高亮HTML标签的时候,需要把<和>改成&lt;和&gt;

API文档

官方链接:https://highlightjs.org/

官方下载:https://highlightjs.org/download/

起步使用:https://highlightjs.org/usage/

官方文档:https://highlightjs.readthedocs.io/en/latest/index.html

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:用于在输出中生成<br>标记而不是换行字符的标志,在使用非<pre>容器标记代码时非常有用。
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()

应用高亮显示到所有<pre><code>…</code></pre>块在一个页面上。

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错误。