分享 Highlight.js 常见的几个函数使用方法

发布于 2019-12-19 19:44:10 字数 3006 浏览 3733 评论 0

highlight.js 作为 hljs 对象的方法提供一些函数。

highlight(name, value, ignore_illegals, continuation)

用指定语言高亮代码。

参数

  • name : 要高亮的语言名,或别名
  • value : 原始 HTML 字符串
  • ignore_illegals : 是否忽略非法字符
  • continuation : 是否继续未完成的解析

返回的对象的属性

  • language : 语言名,和参数传递的语言名一致
  • relevance : 整数值
  • value : 带有高亮标记显示的字符串(配合 css 即可实现着色)
  • top : 当前模式的堆顶部

highlightAuto(value, languageSubset)

自动高亮代码。

参数

  • value : 原始 HTML 字符串
  • languageSubset : 可选的语言名或别名列表用来限制检测的语言范围

返回的对象的属性

  • language : 检测的语言
  • relevance : 整数值
  • value : 带有高亮标记显示的字符串
  • second_best : 拥有相同结构的的对象,作为检测出的次优语言,可能缺失

fixMarkup(value)

对着色处理后的 HTML 代码进行后处理。目前包括替换缩进制表符和使用 <br> 标记代替换换行符。使用 configure 进行全局配置。

参数

  • value : 代码高亮标记显示的字符串

返回值

  • 处理后的字符串

highlightBlock(block)

对包含代码的 DOM 节点添加高亮标记。默认使用语言检测,但是你也可以在节点上添加 class 属性来指定语言。

参数

  • block : DOM 节点

configure(options)

接受一个对象,使用此对象的属性值取更新全局配置。其它的选项不会改变。

options 的可选属性

  • tabReplace : 用于在缩进中替换制表符的字符串。
  • useBR : 设置是否使用 <br> 标记替代换行符,对没有被 <pre> 标签包含的代码使用时非常有用。
  • classPrefix : 在生成的高亮标记的类名之前添加的字符串前缀,用于兼容样式表
  • languages : 语言名或别名列表用来限制检测的语言范围。

initHighlighting()

为页面中所有 <pre><code>..</code></pre> 块添加高亮标记。配合 styles 中的 css 使用即可实现着色。

initHighlightingOnLoad()

将高亮显示绑定到页面加载完成触发的事件上。

registerLanguage(name, language)

以指定的名称将新语言添加到库中。

参数

  • name : 一个用作注册的语言的名称的字符串
  • language : 一个返回描述语言定义对象的函数。函数将被传递给 hljs 对象,以便能够使用在其中定义的公共正则表达式。

listLanguages()

返回语言名称列表。

getLanguage(name)

通过名称或别名查阅语言。

参数

  • name : 一个语言名称字符串或别名字符串

返回值

    • 返回一个语言对象,如果没找到则返回 undefined

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文